下载连接:https://download.vulnhub.com/dc/DC-2.zip
介绍:Just like with DC-1, there are five flags including the final flag.Please note that you will need to set the hosts file on your pentesting device to something like:192.168.0.145 dc-2.Obviously, replace 192.168.0.145 with the actual IP address of DC-2.(一共有五个flags。把攻击主机的hosts文件中添加一条,将示例中的IP地址换成真实的DC2的IP地址。)
发现目标主机IP:netdiscover -i eth0
本机的IP:192.168.2.157,目标主机的IP:192.168.2.247
探测目标主机的开放端口:nmap -sS -sV -n -A -p- 192.168.2.247
开放了80端口,http服务。7744端口的ssh服务。
修改kali的hosts文件,/etc/hosts文件中添加一行:192.168.2.247 dc-2
浏览器中访问:http://192.168.2.247:80
这个站点是用wordpress搭建的,看到这里有个flag的提示,点进去就是flag1。这里提示用cewl的字典进行爆破,可能会爆破出来两个账号,一个账号无法登录的话就用另一个账号登录。
利用cewl制作密码字典:cewl http://dc-2/ -w ceshipd.txt
flag1中提到我们需要用户名和密码来登录。现在只解决了密码,用户名还没有解决。就用wpscan来枚举wordpress站点中注册过的用户名:wpscan --url http://dc-2/ -e u
从扫描结果来看能看到很多信息,例如网站使用的wordpress的版本,使用的主题,最重要的是枚举出来的注册的用户:admin,jerry,tom。将这三个用户名写进一个文件里,当作是用户名字典:
用户名有了,密码字典有了,用wpscan进行爆破:wpscan --url http://dc-2/ -U user.txt -P ceshipd.txt
可以看到爆破出来两个用户:jerry-adpiscing,tom-parturient。
还差登录页面。在浏览器上没看到登录接口,再用dirsearch扫描站点目录:dirsearch -u http://dc-2 -e *
浏览器访问:http://dc-2/wp-login.php,确定是登录界面。分别登录两个用户,把该点的都点一点,在jerry用户的page页面发现了flag2:
意思是这里找不到其他东西了。
一开始扫描端口还有个ssh端口,所以用ssh来连接一下,注意要指定端口7744,因为ssh的默认端口是22。这里有两个用户tom或者jerry,分别用这两个用户登录一下:ssh [email protected] -p 7744
jerry用户无法登录,tom用户可以登录。用whoami
查询一下当前用户的权限:
当前是rbash,与一般shell的区别在于会限制一些行为,让一些命令无法执行。进行rbash绕过。用ls
看一下当前目录,发现了flag3.txt,用cat flag3.txt
查看一下文件,发现被限制了。那就用vim flag3.txt
来查看一下文件,也被限制了,试一试vi flag3.txt
,可以查看文件。
文件内容提示了jerry总是落后于tom,也许要用su。su是切换用户,考虑su jerry
切换到jerry用户,被限制了!看来一定要rbash绕过了!
利用环境变量绕过,执行下面三条语句:
BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
成功绕过了shell,再利用之前爆破的用户名jerry和密码adpiscing来进行切换用户:su jerry
。然后进入jerry用户的家目录/home/jerry,列出文件,可以看到flag4.txt,查看一下文件内容:
提示说明还没有家,离开这里。有个git字眼,考虑git提权。
用sudo -l
查看当前用户可以以root身份执行的命令:
jerry可以以root权限执行git命令,那就进行git提权吧。
命令:sudo git help config
再在末行命令模式下输入:!/bin/bash
变成root权限了以后,在进入root家目录,查看文件。
最后再把hosts文件里添加的那一行给删除掉。
netdiscover探测主机IP,nmap扫描开放端口服务。浏览器访问目标网站,找相关信息。cewl生成密码字典,wpscan扫描用户,再用wpscan指定用户字典密码字典进行爆破,得到两个用户。ssh连接,rbash绕过,用的环境变量。切换用户,git提权。