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等等