DC-1靶机介绍
英文翻译如下:
DC-1是一个有目的建造的易受攻击实验室靶机,目的是在渗透测试领域获得经验。它是为初学者设计的一个挑战,但它的简单程度将取决于你的技能和知识,以及你的学习能力。要成功完成这一挑战,您需要具备Linux技能,熟悉Linux命令行,并具有基本渗透测试工具的经验,例如可以在Kali Linux或Parrot安全操作系统上找到的工具。有多种方法获得root权限,但是,我已经包括了一些标志,其中包含了初学者的线索。总共有五个flag,但最终目标是在根目录中查找和读取flag。您甚至不需要是root用户就可以做到这一点,但是,您将需要root用户特权。根据您的技能水平,您可以跳过查找这些标志,直接查找root。初学者可能会遇到以前从未遇到过的挑战,但是要获得完成此挑战所需的信息,谷歌搜索就足够了。
渗透过程
1.因为不知道root用户的密码,因此无法知道该机的IP地址,所以首先要做的就是知道这台机器的IP地址才能够更好的进行渗透,拿到flag
因为该机器与我们的攻击机kali属于同一局域网,因此使用下面的命令来扫描存活的机器:
1 | arp-scan -l |
通过扫描我们可以知道这台机器的IP地址为:192.168.64.138
2.正常情况下下一步就是信息收集,我们这里因为不是实际环境,因此略过此步骤。
进行端口扫描,
使用nmap命令来扫描开放端口:
1 | nmap -sV -p- 192.168.64.138 |
3.发现80端口开放,访问可看到该框架基于Drupal
4.使用kali中的msfconsole查找该框架的漏洞并进行利用
成功拿到第一个flag,根据得到的flag思路,需要到一个配置文件
5.查找该配置文件,网上查找得知该配置文件默认路劲为:sites/default/settings.php
此处可以发现flag2及数据库重要信息,提示使用已经有的密码文件???
尝试连接数据库,未果。
6.既然无法使用数据库密码进行连接,就要另寻思路,一般linux系统下,用户名及口令都是存放于/etc/passwd , /etc/shadow下
查看passwd内容如下,我们意外发现了Flag4用户
为此我们就要通过使用kali下的hydra对用户名密码进行爆破,以求能够取得不错的效果
爆破还需要john的配合
通过下面的命令获取john
1 | 下载:wget http://www.openwall.com/john/j/john-1.8.0.tar.gz |
然后就可以爆破了
使用hydra+john进行爆破密码
1 | hydra -l flag4 -P run/password.lst ssh://192.168.64.138 |
使用ssh远程登录flag4
7.使用得到的数据库密码进行连接,看看能否有收获
得到drupaldb下user表中的数据
可见此用户即为web的登录用户,我们尝试修改其密码为password
1 | update users set pass="$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4" where uid=1; |
web登录admin-password,登陆成功
8.根据上面的提示发现perm,是让我们通过suid提权,SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。
suid提权的详细介绍连接如下
https://blog.csdn.net/qq_36119192/article/details/84872644
在这里经过测试发现可以使用find,命令如下
1 | find / -type f -perm -u=s 2>/dev/null |
我们创建一个文件,然后通过find命令查找,然后进行提权操作
1 | ~$ touch getflag |
获取root权限之后,进入root根目录即可看到flag5
渗透总结
经过这次渗透,熟悉了从基本信息收集到kali metaploit工具使用,之后通过密码爆破得到普通权限用户,最后利用SUID提权拿到root权限的整个思路,渗透完成之后就感觉特别的爽,学到了很多的技巧,希望能够将这些技巧融会贯通,熟练应用,做到心中有数。