渗透测试之地基内网篇:域森林域内信息收集(下)
字数 1522 2025-08-14 12:04:14

域森林域内信息收集技术详解

一、环境准备与法律须知

  1. 法律合规性

    • 必须获得书面授权(《渗透测试授权书》)
    • 遵守《网络安全法》规定
    • 仅用于教育研究目的
  2. 攻击机环境

    • Kali Linux作为攻击平台
    • 自行搭建的测试环境
  3. 假设场景

    • 已通过社工钓鱼获取外围人员计算机控制权
    • 获得shell并成功登录目标机器
    • 确认当前主机位于域环境中

二、基础域信息收集

1. 域结构识别

net view /domain          # 查询存在的域
net view /domain:xiyou1   # 查询指定域内的计算机

2. 用户组枚举

net group /domain                     # 查询域内所有用户组
net group "domain computers" /domain  # 查询特定组(如域计算机)

常见域组及其含义:

  • Domain Admins:域管理员组
  • Domain Computers:域内机器
  • Domain Controllers:域控制器
  • Domain Guests:域访客
  • Domain Users:域用户
  • Enterprise Admins:企业系统管理员

3. 密码策略收集

net accounts /domain

输出包含:

  • 密码复杂度要求
  • 密码长度限制
  • 账户锁定阈值
  • 锁定持续时间

4. 域信任关系

nltest /domain_trusts

可识别:

  • 父域和子域关系
  • 信任方向(单向/双向)
  • 信任类型

三、域控制器定位

1. 直接定位方法

nltest /DCLIST:xiyou.dayu  # 列出指定域的域控制器
net group "domain controllers" /domain  # 查询域控制器组
netdom query pdc           # 查询主域控制器

2. 间接定位方法

net time /domain  # 通常指向主域控制器

四、用户与管理信息收集

1. 用户枚举技术

net user /domain              # 查询域用户列表
wmic useraccount get /all     # 获取用户详细信息(SID,状态等)
dsquery user                 # 使用LDAP查询用户

2. 特权用户识别

net group "Domain Admins" /domain      # 域管理员
net group "Enterprise Admins" /domain  # 企业管理员
net localgroup administrators          # 本地管理员

五、域管理员定位技术

1. PsLoggedOn工具

psloggedon [-l] [-x] [\\computername|username]

功能:

  • 查看远程计算机资源使用情况
  • 识别登录用户

2. PVEFindADUser工具

PVEFindADUser.exe -current

特点:

  • 需要.NET Framework 2.0
  • 需要管理员权限
  • 可枚举域用户登录位置

3. NetView工具

netview.exe -d domain -g "Domain Admins"

功能:

  • 利用NetSessionEnum找登录会话
  • 利用NetShareEnum找共享
  • 多数功能无需管理员权限

4. PowerView脚本

Import-Module .\powerview.ps1
Get-NetDomain          # 获取当前域
Get-NetUser            # 获取用户详情
Get-NetDomainController # 获取域控信息
Invoke-UserHunter      # 追踪用户登录位置

常用命令:

  • Get-NetComputer:获取域内机器详情
  • Get-NetOU:获取组织单位
  • Get-NetGPO:获取组策略对象
  • Invoke-ProcessHunter:通过进程找用户

六、进程分析与会话追踪

1. 本机进程分析

tasklist -v  # 列出所有进程及相应用户

2. 远程会话检测

for /F %i in (ips.txt) do @echo [+]Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && for /F %n in (names.txt) do @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i

七、核心资产识别

1. 关键业务系统类型

  • 高管/IT人员工作站
  • 财务/HR系统服务器
  • 源码管理服务器(SVN/GIT)
  • 数据库服务器
  • 文件共享服务器
  • 邮件服务器
  • 监控系统服务器

2. 敏感信息搜索技术

findstr /si pass *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si userpwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak

3. Web架构识别

常见组合:

  • ASP + Access + IIS + Win2003
  • ASPX + MSSQL + IIS + Win2008
  • PHP + MySQL + Apache/Nginx
  • JSP + Oracle + Tomcat

八、工具资源

  1. PsLoggedOn

    • Microsoft Sysinternals工具集
  2. NetView

    • GitHub: github.com/mubix/netview
  3. PowerView

    • 集成在PowerSploit工具包中
    • GitHub: github.com/PowerShellEmpire/PowerTools
  4. WinHackingBin

    • GitHub: github.com/basicScandal/WinHackingBin

九、防御建议

  1. 权限最小化

    • 限制普通用户的查询权限
    • 实施严格的ACL控制
  2. 监控措施

    • 监控异常LDAP查询
    • 记录大量用户枚举行为
  3. 架构安全

    • 避免在非必要主机上存储域管理员凭据
    • 实施网络分段,限制横向移动
  4. 日志审计

    • 加强安全日志收集
    • 设置敏感操作告警

十、总结流程图

  1. 基础信息收集 → 2. 域结构分析 → 3. 特权用户定位 → 4. 会话追踪 → 5. 核心资产识别 → 6. 横向移动路径规划

通过系统化的信息收集,渗透测试人员可以全面了解域环境结构,为后续的横向移动和权限提升奠定基础。

域森林域内信息收集技术详解 一、环境准备与法律须知 法律合规性 : 必须获得书面授权(《渗透测试授权书》) 遵守《网络安全法》规定 仅用于教育研究目的 攻击机环境 : Kali Linux作为攻击平台 自行搭建的测试环境 假设场景 : 已通过社工钓鱼获取外围人员计算机控制权 获得shell并成功登录目标机器 确认当前主机位于域环境中 二、基础域信息收集 1. 域结构识别 2. 用户组枚举 常见域组及其含义: Domain Admins :域管理员组 Domain Computers :域内机器 Domain Controllers :域控制器 Domain Guests :域访客 Domain Users :域用户 Enterprise Admins :企业系统管理员 3. 密码策略收集 输出包含: 密码复杂度要求 密码长度限制 账户锁定阈值 锁定持续时间 4. 域信任关系 可识别: 父域和子域关系 信任方向(单向/双向) 信任类型 三、域控制器定位 1. 直接定位方法 2. 间接定位方法 四、用户与管理信息收集 1. 用户枚举技术 2. 特权用户识别 五、域管理员定位技术 1. PsLoggedOn工具 功能: 查看远程计算机资源使用情况 识别登录用户 2. PVEFindADUser工具 特点: 需要.NET Framework 2.0 需要管理员权限 可枚举域用户登录位置 3. NetView工具 功能: 利用NetSessionEnum找登录会话 利用NetShareEnum找共享 多数功能无需管理员权限 4. PowerView脚本 常用命令: Get-NetComputer :获取域内机器详情 Get-NetOU :获取组织单位 Get-NetGPO :获取组策略对象 Invoke-ProcessHunter :通过进程找用户 六、进程分析与会话追踪 1. 本机进程分析 2. 远程会话检测 七、核心资产识别 1. 关键业务系统类型 高管/IT人员工作站 财务/HR系统服务器 源码管理服务器(SVN/GIT) 数据库服务器 文件共享服务器 邮件服务器 监控系统服务器 2. 敏感信息搜索技术 3. Web架构识别 常见组合: ASP + Access + IIS + Win2003 ASPX + MSSQL + IIS + Win2008 PHP + MySQL + Apache/Nginx JSP + Oracle + Tomcat 八、工具资源 PsLoggedOn : Microsoft Sysinternals工具集 NetView : GitHub: github.com/mubix/netview PowerView : 集成在PowerSploit工具包中 GitHub: github.com/PowerShellEmpire/PowerTools WinHackingBin : GitHub: github.com/basicScandal/WinHackingBin 九、防御建议 权限最小化 : 限制普通用户的查询权限 实施严格的ACL控制 监控措施 : 监控异常LDAP查询 记录大量用户枚举行为 架构安全 : 避免在非必要主机上存储域管理员凭据 实施网络分段,限制横向移动 日志审计 : 加强安全日志收集 设置敏感操作告警 十、总结流程图 基础信息收集 → 2. 域结构分析 → 3. 特权用户定位 → 4. 会话追踪 → 5. 核心资产识别 → 6. 横向移动路径规划 通过系统化的信息收集,渗透测试人员可以全面了解域环境结构,为后续的横向移动和权限提升奠定基础。