渗透测试之地基内网篇:域森林域内信息收集(下)
字数 1522 2025-08-14 12:04:14
域森林域内信息收集技术详解
一、环境准备与法律须知
-
法律合规性:
- 必须获得书面授权(《渗透测试授权书》)
- 遵守《网络安全法》规定
- 仅用于教育研究目的
-
攻击机环境:
- Kali Linux作为攻击平台
- 自行搭建的测试环境
-
假设场景:
- 已通过社工钓鱼获取外围人员计算机控制权
- 获得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
八、工具资源
-
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. 横向移动路径规划
通过系统化的信息收集,渗透测试人员可以全面了解域环境结构,为后续的横向移动和权限提升奠定基础。