第一步、下载DC-2靶机并进行主机发现

我们下载安装DC-2靶机。设置.nat连接模式。

我们使用netdiscover进行主机发现。

1
netdiscover -i eth0 -r 192.168.153.0/24

确定了靶机IP为192.168.153.136

第二步、信息收集

我们使用nmap 进行信息收集

1
nmap -A -p 1-65535 192.168.153.136 -T4

我们发现靶机上开放着80端口,并且部署了apache服务器,7744开启了SSH服务。提示是一个wordpress站点

我们需要首先在host文件下添加http://dc-2/域名,然后使用浏览器去访问该域名。

我们使用Wappalyzer进行指纹识别。确定了是一个WordPress的站点。

第三步、使用Wpscan扫描

​ 该扫描器可以实现获取Wordpress站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。

我们使用命令扫描网站内的用户名

1
wpscan --url dc-2 -e u

获取到用户名后,我们思考能否爆破密码。

我们首先使用crel收集网页的信息

​ Cewl:CeWL是一款以爬虫模式在指定URL上收集单词的工具,可以将它收集到的单词纳入密码字典,以提高密码破解工具的成功率。

1
cewl dc-2 -w dict.txt

得到密码字典后我们继续回到wpscan进行密码爆破、

1
wpscan --url dc-2 -P dict.txt

我们得到了两个登录的账号和密码。

第四步、登录后台

我们通过wpscan发现了默认的后台登录页面。(wp-login.php)

我们使用jerry用户进行登录。在其账号中发现了flag2.txt的信息。

我们翻译一下:

如果你不能利用WordPress并抄近路,还有别的办法。

希望你能找到另一个切入点。

第五步、登录ssh

我们尝试使用上面两个账户来登陆ssh。首先尝试tom的账户。

可以登陆,ls一下可以看到flag3。

​ 但是登陆使用的shell是rBash,功能受到严重限制以至于cat命令都无法使用,所以需要想办法绕过限制。我们先尝试把shell切换为/bin/sh,成功了。继续尝试使用cat来查看flag3中的内容,提示不能找到命令,这时候原因应该是没有将cat命令的目录添加到$PATH中,于是添加之。然后使用cat查看flag3.txt中的内容。
rBash和sh shell命令

第六步、Git提权获得最终flag

我们先切换到jerry用户,在jerry的家目录下找到flag4.txt

flag4 提示我们可以使用git,我们可以通过git来提权

sudo -l 我们可以看到无需root权限,jerry 可以使用 git !

我们可以利用suid 进行提权

SUID可以让调用者以文件拥有者的身份运行该文件

1
sudo git -p --help

输入!/bin/bash 获得root权限

我们在root目录下找到最后一个flag。