0%

KIOPTRIX: LEVEL 1.3 (#4)

KIOPTRIX: LEVEL 1.3 (#4)

部署

这个靶机有点特殊,需要新创建一个空的虚拟机,移除现在的硬盘,用靶机替换。

image-20221102121247513

信息收集

打开靶场之后,同样的扫c段拿到靶机的地址。

1
nmap 192.168.100.0/24 -n -sP -sn

image-20221102121830519

1
192.168.100.153

然后扫端口

1
nmap -A 192.168.100.153

image-20221102122018182

22,80,139,445

漏洞利用-sql

感觉有永恒之蓝,不过还是先照例访问一下80端口

image-20221102122246562

一个登陆框,先扫一下目录,用下万能密码

万能密码

1
admin' or 1=1#

image-20221102122419294

登陆之后说你的账户有问题,请联系本地administrator进行处理问题。

image-20221102122615367

笑死,还发现一个反射型xss,不过万能密码这条路行不通了,扫目录发现这么个东西

image-20221102122735774

也是有什么东西出错了

image-20221102122856132

这里卡了半天,搜了下才知道要注意url,john,也就是指的这个用户为john我们需要先把admin的cookie清除掉,随后用万能密码登录john。

image-20221102123634806

这样就可以去试试登录ssh了

1
2
ssh john@192.168.100.153
MyNameIsJohn

image-20221102123929798

image-20221102124049503

但是没办法执行命令,于是百度了一下。

这里需要生成一个tty

如何将简单的Shell转换成为完全交互式的TTY - 码农教程 (manongjc.com)

又学到了。

image-20221102125407311

提权

随后就是拿root权限

通过lsb_release -a

拿到版本信息,然后在exp的网站上面找一个提权脚本下载下来。

image-20221102125839075

但是我发现脚本怎么都传不过去啊。

我觉得是这个tty的问题,我发执行长期返回的命令。

所以,求助了一下攻略,这里使用的是mysqludf提权

1
2
cd /var/www/
cat checklogin.php

可以看到root用户是空密码

image-20221102131631523

我们可以通过mysql服务登录root账户

image-20221102131840802

1
mysql -u root -p

image-20221102132807319

image-20221102133216681

查询UDF表,有sys_exec函数,可以利用这个函数执行系统命令。通过sys_exec函数将john添加到管理员组。

1
2
3
select sys_exec('usermod -a -G admin john');
exit
sudo su

image-20221102133345010

拿下

总结

提权并不能完全依赖系统的提权脚本,也可以通过其他手段,比如最常见的mysqludf提权。