Vulnhub打靶-DC:2
基本信息
靶机下载:https://download.vulnhub.com/dc/DC-2.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
靶机:192.168.20.0/24
目标:获取5个flag+root权限
具体流程
信息收集
老样子首先使用arp-scan -l
对主机进行探活,发现主机IP为192.168.20.153
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.153
,结果如下所示
开放了80
端口和7744
端口,其中7744
端口对应的是ssh服务,我们首先访问80端口http服务
我们成功发现第一个flag
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl. |
这条提示信息告诉我们常用的密码字典可能不起作用,可能需要我们用cewl
自动生成字典,同时我们要尝试登录进去,首先我们需要找到登录框在哪,我们先用dirsearch扫一下后门目录
我们发现是wordpress框架,我们尝试访问后台登录网站,发现存在,我们尝试用wpscan进行网站探针
我们发现了三个存在的用户,即admin
、jerry
、tom
,我们按照第一个flag的提示用cewl去生成一个我们的密码字典,如下所示
最后我们用wpscan进行爆破即可
wpscan --url http://dc-2 -U user.txt -P custom.txt |
成功找到tom和jerry的密码
tom/parturient |
我们尝试登录后台,成功发现第二个flag
If you can't exploit WordPress and take a shortcut, there is another way. |
它提示我们这里有另外的方式去登录系统,那我们肯定就考虑ssh登录了,毕竟开放了ssh登录,我们尝试ssh登录
ssh登录
ssh tom@192.168.20.153 -p 7744 |
成功登录进服务器中
并且我们在当前目录下发现了flag3.txt,但是我试了很多读取命令,系统中都不存在
我们只能使用命令查询系统中允许使用的命令是哪些,输入以下命令可以成功查询
compgen -c |
我们发现存在vi命令,我们直接利用vi命令读取flag3即可
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes. |
这明显就是提示我们要尝试切换到jerry用户,jerry用户的权限可能略高于tom用户
但是我们尝试了很多次,发现大部分命令都给禁用了,所以我们要想办法绕过这个rbash
的限制,网上有很多rbash逃逸的文章,可以去看看,我们这里使用vi
进行rbash逃逸
# vim/vi进入之后 |
逃逸后我们发现我们可以成功执行cat命令,接下来我们试着切换到jerry用户,密码还是使用刚刚的密码进行尝试
权限提升
我们发现成功登录到jerry账户,我们寻找一下进一步提示,找一找flag4
Good to see that you've made it this far - but you're not home yet. |
我们尝试进行suid提权,输入find / -perm -u=s -type f 2>/dev/null
,发现并没有可以利用的点,我们进而查看sudo提权,输入sudo -l
,发现可以利用git进行sudo提权
输入以下命令,可以成功提权
TF=$(mktemp -d) |
我们进一步获取交互式shell,如下所示
python -c 'import pty;pty.spawn("/bin/bash")' |
成功获取最终flag,本题到此结束
总结
本题难度也不是很大,主要的点有利用cewl
生成自定义字典,利用wpscan进行wordpress探测,以及rbash的逃逸,最值得注意的就是 rbash的逃逸,这是我第一次遇见这种问题,可以稍微多注意一点,rbash就是用一个假的bash替换了原来的真bash,进而对能使用的命令进行限制,我们可以通过其开放的命令进行逃逸,例如vim
、more
、less
、ftp
等等