文章总结: 文章复盘了一次红队演练中从H3C交换机默认密码到域控的完整攻击链。攻击者通过admin/admin进入公网交换机,利用配置注释中的监控账号获取内网服务器权限,通过LSASS内存提取凭据进行Pass-the-Hash横向移动,结合BloodHound分析域内关系,最终利用PrintSpooler漏洞和DCSync技术拿下域控。关键发现包括默认密码、权限过宽、缺乏LAPS等常见问题,建议防守方加强资产管理、网络分段、最小权限原则、LAPS部署和LSASS防护。 综合评分: 92 文章分类: 红队,内网渗透,渗透测试,漏洞分析,安全建设
从默认密码到域控:一条完整的红队横向移动链路复盘
原创
逍遥 逍遥
逍遥子讲安全
2026年4月21日 00:12 广东
在小说阅读器读本章
去阅读
去年某省的一次攻防演练,我带队红方,目标是当地一家大型制造企业。开局可以说很无聊——一台暴露在公网的H3C交换机,admin/admin直接进去了。但后面的故事,从这台交换机到拿下整个域控,全程用了不到18个小时。
这不是什么神仙操作,也没用到什么0day。我用的全是微软自己提供的合法工具和AD域里那些“设计即如此”的特性。
今天就把这条完整的攻击链完整摊开:从默认密码打点,到最终拿下域控,每一步怎么走、踩了什么坑、防守方能从哪个环节拦住我。
一、起点:一台“没人管”的交换机
这家企业的网络边界防护做得其实不差。核心业务系统有WAF,VPN有双因素认证,外网开放的端口也做了收敛。问题出在他们的分支机构——某地市办事处的网络设备。
FOFA上搜了一下目标企业的域名和IP段,发现一个公网IP开放了443端口,证书信息显示是H3C设备。浏览器访问,一个标准的H3C交换机管理界面。
试了admin/admin。进去了。
事后复盘时,客户CTO的原话是:“那台交换机是两年前办事处装修时临时买的,插上能用就忘了,没人记得要改密码。”
这种事我见太多了。越是这种边缘设备、临时设备、测试设备,越是默认密码的重灾区。华三、思科、TP-Link,admin/admin、cisco/cisco、admin/空密码,这些组合几乎每次渗透测试都能遇到。有统计显示,全球公开的默认凭证记录超过3600条,空用户名出现了近800次。这些设备就像散落在边界上的“后门”,等着人去推开。
二、打点成功:从交换机到第一台内网机器
登录交换机后,第一件事是查看配置。
show running-config翻了一遍,找到几个关键信息:
- 管理VLAN的网段:192.168.10.0/24
- 一台核心交换机的IP和SNMP community字符串
- 日志服务器地址(一台内网Linux)
- 最重要的是:一个本地用户账号
monitor,密码明文写在配置注释里
很多运维喜欢在交换机配置里加注释,写上“监控账号/密码xxx”或者“临时账号/密码xxx”。这个习惯帮了我大忙。
用这个monitor账号,我尝试登录了同网段的几台服务器。其中一台Windows Server 2016,RDP端口3389开放,monitor/monitor@123——直接登录成功。
第一台内网机器到手了。
回头看,这台服务器是IT部门用来做网络监控的,本地管理员权限。也就是说,我拿到的是一个本地管理员账号,而不是域账号。但这台机器是加域的。
三、站稳脚跟:内网信息收集的“第一步棋”
拿到一台内网机器后,很多新人会急着上扫描器。这是最容易暴露的。
我先做了几件事:
1. 确定域环境信息
net user /domainnet group "Domain Admins" /domainnet group "Domain Computers" /domain
这几条命令不落地任何文件,纯粹用Windows自带命令,几乎没有检测风险。
结果很快出来了:域名为CORP,域控有两台(DC01和DC02),域管组有8个账号,域内大概300多台计算机。
2. 查看当前用户在哪些机器上有会话
net session
这条命令显示当前有哪些用户通过网络访问这台机器。结果里有一条让我眼前一亮:\\192.168.10.50\IPC$,连接用户是CORP\srv_admin。
srv_admin,看命名习惯,很可能是服务器管理员账号。192.168.10.50是另一台服务器。
3. 查本地管理员组
net localgroup administrators
发现这台机器的本地管理员组里,除了本地Administrator和monitor,还有几个域账号:CORP\Domain Admins(这是肯定的),以及一个叫CORP\ServerOps的组。
关键线索来了:ServerOps组大概率在多个服务器上都有本地管理员权限。
4. 查DNS和域控信息
nslookupset type=all_ldap._tcp.dc._msdcs.CORP.local
确认了两台域控的IP:10.10.1.10和10.10.1.11。
前期的信息收集基本够了。下一步,我需要更高价值的凭据。
四、凭据收割:从LSASS内存里“淘金”
横向移动的核心是凭据。没有凭据,你手里只有一台机器。有了凭据,你可以在内网横着走。
Windows的凭据存储有几个地方:LSASS内存、SAM数据库、LSA Secrets、Credential Manager、Kerberos票据缓存。
其中最肥的是LSASS内存——每次用户登录,无论交互式登录还是远程桌面,还是运行任务计划,凭据都会在LSASS进程里留下痕迹。提取LSASS内存中的凭据,能得到NTLM哈希、Kerberos票据,甚至明文密码(老系统或配置不当的情况下)。
提取凭据我一般用Mimikatz,但绝不直接上传exe。原版Mimikatz几乎被所有杀软秒杀。2026年的检测报告显示,Mimikatz仍然是最活跃的威胁工具之一,检测率排名第四,被多个勒索软件组织使用。
免杀的方法很多:可以改源码特征码重新编译、用PowerShell反射加载、或者直接用Windows自带工具替代。这次我用了最简单的方式:Procdump(微软签名的合法工具)导出LSASS进程内存,下载到本地再用Mimikatz离线提取。
procdump.exe -accepteula -ma lsass.exe lsass.dmp
把dmp文件传回本地,用Mimikatz加载:
sekurlsa::minidump lsass.dmpsekurlsa::logonpasswords
结果出来了:
- 本地账号monitor的NTLM哈希
- 域账号
CORP\svc_scan的NTLM哈希(这是个服务账号) - 域账号
CORP\zhang.wei的NTLM哈希(这是个普通域用户,之前在这台机器上登录过)
没有抓到明文密码,但有哈希就够了。尤其是那个svc_scan服务账号,看名字应该是漏洞扫描或者运维工具用的,这种服务账号往往有更高权限。
五、第一跳:Pass-the-Hash横向移动
手里有NTLM哈希,下一步就是用Pass-the-Hash(PtH)去登录其他机器。
PtH的原理不复杂:Windows的NTLM认证机制中,客户端向服务器证明身份时,用的不是明文密码,而是用密码哈希计算出的响应值。攻击者既然已经有了哈希,就可以直接用这个哈希来完成认证,不需要知道密码本身。
有个细节很重要:KB2871997补丁打没打。打了补丁的系统,只有Administrator这个RID 500的账号才能用PtH,普通域账号的哈希不行。这就要提前确认:
systeminfo | findstr KB2871997
这台Windows Server 2016已经打了补丁。那我手里的普通域用户zhang.wei的哈希就没法直接PtH。但我还有本地administrator的哈希——可以先用它登录同网段其他机器(如果那些机器也用相同本地管理员密码的话)。
试试用本地admin哈希去登录192.168.10.50:
impacket-psexec -hashes :NTLM_HASH [email protected]
结果——成功了。这台192.168.10.50是另一台服务器,本地管理员密码跟第一台一模一样。这就是没有部署LAPS(Local Administrator Password Solution)的典型后果:一个本地管理员哈希,可以横向移动到几十台机器。
登录192.168.10.50后,我继续收集信息。这台机器上跑了大量的SQL Server服务,而且登录的用户是CORP\sql_svc。再用Procdump抓一次LSASS,这次运气更好——svc_scan这个服务账号的Kerberos票据也在内存里。
这意味着我可以直接用这个票据去访问域内其他资源,这就是Pass-the-Ticket(PtT)。
六、第二跳:定位域管在谁身上
svc_scan这个账号是什么权限?用BloodHound来回答。
BloodHound是域渗透的标配工具,它的核心思路是:通过采集域内所有对象(用户、组、计算机、ACL、会话等)的关系数据,自动绘制出从当前权限到高价值目标的攻击路径图。
用SharpHound采集数据:
SharpHound.exe -c All,LoggedOn,Sessions
采集到的数据导入BloodHound,界面里我直接搜索“svc_scan”这个账号。结果让我心跳加速:svc_scan是“Server Operators”组的成员。这个组在域内有十几台服务器的本地管理员权限。
更重要的是,BloodHound的“Shortest Paths to Domain Admins”查询显示:Server Operators组的成员,可以通过某种方式获取域控的本地管理员权限。具体路径是:Server Operators → 可以登录到某台成员服务器 → 那台服务器上正好有域管账号的会话。
BloodHound圈出了那台服务器:SRV-APP-03,IP 10.10.2.30。当前登录的用户列表里,赫然有CORP\admin_liu——一个域管理员账号。
七、域控前的最后一道门:Print Spooler的“礼物”
现在目标明确了:登上SRV-APP-03,劫持admin_liu的会话或凭据。
用svc_scan的哈希,通过PtH登录到SRV-APP-03(它是svc_scan有本地管理员权限的机器之一)。登录后,admin_liu的会话还在,可以直接用Mimikatz注入到他的会话中执行命令。
但我想拿到更持久的东西——域控的权限。
在这台机器上,我注意到Print Spooler服务是启用的。这个服务在Windows里默认开启,包括在域控上。Print Spooler相关的漏洞不少,最有名的是PrintNightmare(CVE-2021-34527),它允许攻击者通过RPC调用,让目标主机安装恶意打印机驱动,从而以SYSTEM权限执行代码。
虽然PrintNightmare是几年前的老漏洞,但实际环境中,很多企业并没有禁用Print Spooler服务,尤其是在非域控的成员服务器上。即便域控打了补丁或者禁用了服务,只要内网有一台未打补丁的服务器且服务开着,就能把它作为跳板。
确认SRV-APP-03的Print Spooler服务状态:
sc query spooler
结果是RUNNING。而且这台服务器没有打PrintNightmare的补丁。
用Impacket的PrintNightmare利用脚本:
python3 CVE-2021-34527.py CORP/[email protected] -hashes :NTLM_HASH -dll malicious.dll
恶意DLL的作用是添加一个域管理员账号。几秒钟后,执行成功。检查域管组:
net group "Domain Admins" /domain
成员列表里多了一个我添加的账号。
八、终极目标:DCSync拿下整个域
有了域管理员权限,最后一步是用DCSync把整个域的凭据导出来。DCSync不是漏洞,是AD域的正常功能——它允许域控制器之间同步数据。攻击者只要有了域管权限,就可以伪装成另一台域控,向真正的域控发起数据同步请求,从而获取任意域用户的哈希,包括krbtgt账号。
用Mimikatz执行DCSync:
lsadump::dcsync /domain:CORP.local /all /csv
输出包含了域内所有用户的NTLM哈希。其中最关键的是krbtgt的哈希——有了它,可以生成黄金票据,永久控制整个域。
攻击到此结束。从发现那台默认密码的交换机,到导出krbtgt哈希,全程不到18个小时。
九、这条攻击链里,防守方至少有五次机会拦住我
第一次:资产管理
如果那台H3C交换机在资产清单里,如果定期有弱口令扫描,如果默认密码被强制要求修改,我根本进不来。资产不清,是最大的安全漏洞。
第二次:网络分段
分支机构的交换机,不应该和管理网段的核心服务器在同一个VLAN。如果交换机单独划了一个管理段,即使我拿到了admin/admin,也打不到Windows服务器。
第三次:最小权限
monitor这个监控账号为什么有服务器的本地管理员权限?svc_scan这个服务账号为什么在Server Operators组里?权限给得太松,给了攻击者太多可乘之机。
第四次:LAPS部署
如果部署了LAPS,每台机器的本地管理员密码都是唯一的、定期轮换的。一台机器的本地管理员哈希被盗,也不会影响其他机器。
第五次:LSASS防护
如果启用了Credential Guard或者LSASS以受保护模式运行,Mimikatz就抓不到明文凭据和票据。虽然还能有其他办法,但攻击成本会大幅增加。
写在最后
这条攻击链里,我没有用任何0day。每一步用的都是Windows自带功能或者已知的公开技术——默认密码、net命令、LSASS内存、PtH、PtT、Print Spooler、DCSync。
这也是为什么域渗透这么难防。因为攻击者用的是合法功能,干的是合法操作,只是组合起来的意图是恶意的。
内网渗透的真正战场,从来不是单个漏洞的攻防,而是信息收集、权限关系、横向路径的整体博弈。谁能更快地看清域内的“关系网”,谁就能掌握主动权。
那台被遗忘的H3C交换机,就是这整条链条的第一张多米诺骨牌。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:逍遥子讲安全 逍遥 逍遥《从默认密码到域控:一条完整的红队横向移动链路复盘》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。












评论