1-7

说说域信息收集思路

阶段一:宏观侦察

这个阶段的目标是在不暴露自己身份的情况下,尽可能多地了解域环境的整体情况

  1. 确定网络边界和域控位置:
    • DNS 侦察: 查询 DNS 服务器,获取域控(DC)、全局编录服务器(GC)的 IP 地址。通常通过 nslookupdig 命令查询 _ldap._tcp.dc._msdcs.<domain_name>_kerberos._tcp.dc._msdcs.<domain_name> 记录。这是最基本的域内服务发现方法
    • SMB 侦察: 使用 nbtscannmap 扫描器,发现网络中开放了 445 端口(SMB)的主机,这些主机很可能是 Windows 主机,其中域控的特征会更明显
  2. 判断域的信任关系:
    • 域之间可能存在信任关系,允许一个域的用户访问另一个域的资源。通过 nltest /domain_trusts 或 PowerView 的 Get-DomainTrust 命令可以列出域之间的信任关系。这是一个重要的横向移动点,如果能控制一个受信任的子域,可能可以借此攻击主域
  3. 发现域内主机:
    • ICMP/ARP 扫描: 使用 pingnmap -sn 对内网 IP 段进行存活主机探测
    • 端口扫描: 发现域内主机开放的服务,特别是 Kerberos (88/TCP)、LDAP (389/TCP)、SMB (445/TCP)、WinRM (5985/TCP) 等与域服务相关的端口

阶段二:微观信息枚举

在初步了解了域环境后,这个阶段的目标是利用已有的权限(即使是普通用户权限),深入挖掘域内的各种实体信息

1. 用户和组信息枚举

  • 目标: 发现域内所有用户、管理员账户、组及其成员
  • 常用技术:
    • net user /domainnet group /domain 最基础的命令行工具,可以列出域内用户和组
    • PowerView (PowerShell): 这是域渗透中最强大的信息收集工具之一。它提供了大量 cmdlet,如 Get-DomainUserGet-DomainGroupGet-DomainGroupMember,可以高效、详细地查询域内用户、组及其关系
    • AdFind.exe: 一款经典的 LDAP 查询工具,可以灵活地查询域内任何信息
    • BloodHound: 这是一个革命性的工具,它通过收集域内用户、组、计算机、服务等实体之间的关系,并以图形化方式展示,帮助攻击者快速找到通往域控的最短攻击路径。这是渗透测试中必不可少的工具