0x01.靶机的基本信息
靶机名称:Kioptrix: Level 1.3 (#4)
发布日期:2012 年 2 月 8 日
作者:Kioptrix
靶机地址:https://www.vulnhub.com/entry/kioptrix-level-13-4%2C25/
0x02.信息收集
nmap -sn 192.168.31.1/24

sudo nmap -sS -O -A -p 1-65535 192.168.31.155

开放端口:
22 ssh
80 http
139 samba
445 samba
0x03.前台SQL注入
先到前台看看。

同时后台把目录去爆破一下,选了个大字典。
dirb http://192.168.31.155/ /usr/share/wordlists/dirb/big.txt
前台一个登录框,测试一下。账号处没发现问题,密码处有SQL注入。
直接绕过登录到后台,
账号:admin
密码:admin' or 1=1#

并没有什么东西,接连着随便修改了几次用户名,都是一个样,猜测应该是不存在用户名,就会这样显示。

一度怀疑这个注入是作者的一个幌子,半天得不到啥有用信息。
0x04.目录爆破与注入结合利用得到ssh账户
回头来看看目录爆破有没有得到啥有用信息,

两个目录引起了我的注意,点进去,

看样子很可能是两个用户名,拿到前台利用SQL注入登录试试。


得到了两个账户(john/MyNameIsJohn;robert/ADGAdsafdfwt4gadfga==)
拿到ssh登录试试,进去了,不过是一个受限制的shell,只能执行这些命令,

这里当时也比较懵逼,能执行的命令太少了。去网上查了一下才知道,这里用个命令就可以得到一个完整shell,
echo os.system("/bin/bash")

这里我没太明白这样做的原理,等之后有时间再研究研究吧。总而言之,我们现在得到了一个完整的shell。
尝试了几个命令,发现权限还挺高,对root用户的文件有读权限,但是没有写权限,

0x05.UDF提权
翻到网站目录,在/var/www/checklogin.php找到了MySQL数据库的账户密码,是空密码,

账户名是root,猜测可能是root权限的账户,可以尝试UDF提权。UDF提权需要先上传一个后缀为so的库,借助这个库我们才能执行命令,但是根据网上的wp来说靶机已经提前把这个文件上传好了,我不确定他们是如何确定的,因为在这里他们大都一笔带过了。既然如此,暂时也不深究,将john用户添加到管理员组,再使用sudo su提权,可以看到已经是root权限了。
select sys_exec('usermod -a -G admin john');
exit
sudo su

0x06.总结
除了用UDF提权,应该也是可以用内核(Linux 2.6.24)提权的?我并没有成功(在尝试内核提权时发现靶机有防火墙的,比如80端口是不允许通过流量的,但靶机上有nc,可以通过nc传输exp),知识盲区,,这个靶场关键点其实就两:一是目录爆破要与SQL注入结合利用,才能得到ssh账户;二是UDF提权,之前对这个原理不是很熟悉,现在了解深入了一些。
参考文章:
https://www.abatchy.com/2016/12/kioptrix-level-13-4-walkthrough-vulnhub.html
https://rgolebiowski.blogspot.com/2016/07/kioptrix-4.html
https://carlosrodallega.blogspot.com/2012/03/kioptrix-4-solucionario.html
Comments | NOTHING