1. 域环境下信息收集的核心价值与场景定位在大型企业网络架构中域环境Domain Environment作为集中化管理的基础设施其安全性直接关系到整个内网的防护水平。不同于单机环境域环境中的用户账号、权限策略、资源共享等关键信息都存储在域控制器Domain Controller上这使得攻击者一旦突破边界防御就能通过域内信息收集获取大量敏感数据。根据实际渗透测试经验约78%的内网横向移动攻击都始于基础的域信息收集操作。典型的应用场景包括红队评估时绘制内网拓扑图系统管理员进行安全自查应急响应团队溯源攻击路径IT审计人员验证权限配置注意本文所述技术仅限合法授权测试使用未经许可对他人网络进行探测可能涉及法律风险2. 域环境信息收集的基础框架2.1 网络拓扑感知通过以下命令快速获取当前网络配置# 查看本机IP配置 ipconfig /all # 检查路由表 route print # 探测同网段存活主机 arp -a企业级网络通常采用分层设计建议重点关注VLAN划分情况通过交换机型号推测防火墙策略通过tracert探测路径负载均衡设备观察DNS解析记录2.2 域关系确认判断当前主机是否加域systeminfo | findstr /B /C:Domain nltest /domain_trusts关键指标解析域名称格式通常为corp.company.com域功能级别影响可用的AD功能信任关系可能跨域共享资源3. 深度信息收集技术实现3.1 基础账户信息枚举使用PowerShell获取域用户清单Get-ADUser -Filter * -Properties * | Select-Object Name, SamAccountName, UserPrincipalName, LastLogonDate, Enabled, PasswordLastSet | Export-Csv -Path user_list.csv -NoTypeInformation参数说明-Filter *获取所有用户对象-Properties *加载全部属性字段关键字段含义SamAccountName登录名如zhangsanUserPrincipalName用户主体名称如zhangsancorp.comPasswordLastSet最后修改密码时间3.2 特权账号识别定位域管理员组Get-ADGroupMember -Identity Domain Admins -Recursive | Get-ADUser -Properties LastLogonDate | Sort-Object -Property LastLogonDate -Descending高危组监控清单Enterprise AdminsSchema AdminsAccount OperatorsBackup Operators3.3 域控定位技术通过多种方式交叉验证nltest /dclist:corp nslookup -typeSRV _ldap._tcp.dc._msdcs.corp.com Get-ADDomainController -Discover -Service PrimaryDC域控服务器通常具有固定IP地址段开放389LDAP、88Kerberos等端口较高的硬件配置内存≥32GB4. 高级信息收集技巧4.1 SPN扫描技术通过服务主体名称发现关键服务setspn -T corp.com -Q */* Get-ADObject -LDAPFilter (servicePrincipalName*) -Properties *常见高危SPN类型MSSQLSvcSQL Server服务TERMSERV远程桌面服务HTTPWeb应用服务4.2 组策略分析导出并解析GPO设置Get-GPO -All | Where-Object { $_.DisplayName -like *Password* } | Get-GPOReport -ReportType Html -Path gpo_report.html关键策略检查点密码复杂度要求账户锁定阈值用户权限分配4.3 域信任关系挖掘Get-ADTrust -Filter * | Select-Object Name, Direction, Source, Target信任类型分析矩阵类型特点安全影响父子信任自动建立的双向信任可能继承父域权限外部信任手动配置的非传递信任需单独配置权限森林信任跨森林的全域信任可能暴露全局资源5. 防御对抗与痕迹清理5.1 常见检测手段企业常用监控点异常LDAP查询频率如每分钟超过50次非工作时间段的域控访问敏感组件的枚举操作如Get-ADDomain5.2 隐蔽收集技巧低特征操作示例# 使用延迟降低检测概率 Get-ADUser -Filter * -Properties Description | Where-Object { $_.Description -like *admin* } | Start-Sleep -Milliseconds 5005.3 日志清理要点审计日志位置安全日志Event ID 4662Directory Service访问日志PowerShell操作日志Event ID 41046. 实战问题排查指南6.1 权限不足问题当出现Access Denied错误时确认当前会话权限whoami /priv检查Token中的组信息whoami /groups尝试S4U2Self扩展[System.Security.Principal.WindowsIdentity]::GetCurrent().Groups6.2 网络连通性问题域控连接失败排查流程验证基础网络Test-NetConnection dc01.corp.com -Port 389检查DNS解析Resolve-DnsName _ldap._tcp.dc._msdcs.corp.com -Type SRV验证Kerberos通信klist get krbtgt/CORP.COM6.3 数据量过大处理当返回结果超过限制时# 分页处理大型数据集 Get-ADUser -Filter * -Properties * -ResultPageSize 200 -ResultSetSize $null | Export-Csv -Path large_data.csv -NoTypeInformation -Append7. 工具链与自动化方案7.1 常用工具对比工具名称适用场景优势缺陷BloodHound可视化分析关系图谱直观需要Neo4j支持PowerView基础查询纯PowerShell实现特征明显ADExplorer离线分析无需域账号仅限Windows平台7.2 自动化脚本示例$domain Get-ADDomain $output { DomainName $domain.DNSRoot DomainSID $domain.DomainSID.Value DomainControllers (Get-ADDomainController -Filter *).HostName Users (Get-ADUser -Filter * -Properties Created).Count Computers (Get-ADComputer -Filter *).Count } | ConvertTo-Json -Depth 3 $output | Out-File domain_snapshot_$(Get-Date -Format yyyyMMdd).json7.3 自定义指标监控关键性能计数器Get-Counter -Counter \DirectoryServices(*)\* -SampleInterval 30 -MaxSamples 10重点关注DRA Inbound Bytes/secDS Threads in UseLDAP Searches/sec