说说域信息收集思路
阶段一:宏观侦察
这个阶段的目标是在不暴露自己身份的情况下,尽可能多地了解域环境的整体情况
- 确定网络边界和域控位置:
- DNS 侦察: 查询 DNS 服务器,获取域控(DC)、全局编录服务器(GC)的 IP 地址。通常通过
nslookup
或dig
命令查询_ldap._tcp.dc._msdcs.<domain_name>
或_kerberos._tcp.dc._msdcs.<domain_name>
记录。这是最基本的域内服务发现方法 - SMB 侦察: 使用
nbtscan
或nmap
扫描器,发现网络中开放了 445 端口(SMB)的主机,这些主机很可能是 Windows 主机,其中域控的特征会更明显
- DNS 侦察: 查询 DNS 服务器,获取域控(DC)、全局编录服务器(GC)的 IP 地址。通常通过
- 判断域的信任关系:
- 域之间可能存在信任关系,允许一个域的用户访问另一个域的资源。通过
nltest /domain_trusts
或 PowerView 的Get-DomainTrust
命令可以列出域之间的信任关系。这是一个重要的横向移动点,如果能控制一个受信任的子域,可能可以借此攻击主域
- 域之间可能存在信任关系,允许一个域的用户访问另一个域的资源。通过
- 发现域内主机:
- ICMP/ARP 扫描: 使用
ping
或nmap -sn
对内网 IP 段进行存活主机探测 - 端口扫描: 发现域内主机开放的服务,特别是 Kerberos (88/TCP)、LDAP (389/TCP)、SMB (445/TCP)、WinRM (5985/TCP) 等与域服务相关的端口
- ICMP/ARP 扫描: 使用
阶段二:微观信息枚举
在初步了解了域环境后,这个阶段的目标是利用已有的权限(即使是普通用户权限),深入挖掘域内的各种实体信息
1. 用户和组信息枚举
- 目标: 发现域内所有用户、管理员账户、组及其成员
- 常用技术:
net user /domain
和net group /domain
: 最基础的命令行工具,可以列出域内用户和组- PowerView (PowerShell): 这是域渗透中最强大的信息收集工具之一。它提供了大量 cmdlet,如
Get-DomainUser
、Get-DomainGroup
、Get-DomainGroupMember
,可以高效、详细地查询域内用户、组及其关系 - AdFind.exe: 一款经典的 LDAP 查询工具,可以灵活地查询域内任何信息
- BloodHound: 这是一个革命性的工具,它通过收集域内用户、组、计算机、服务等实体之间的关系,并以图形化方式展示,帮助攻击者快速找到通往域控的最短攻击路径。这是渗透测试中必不可少的工具