ITPub博客

首页 > IT基础架构 > 网络安全 > 内网横向渗透:从一台PC到域控的路径拆解

内网横向渗透:从一台PC到域控的路径拆解

原创 网络安全 作者:iconicSecurity 时间:2026-05-25 17:05:29 0 删除 编辑
佛系随性笔记,记录最好的自己!
个人水平比较有限,每篇都尽量以白话+图文的方式去说明。

文章架构

引言

1、第一步:搞清楚自己在哪🗺️

2、第二步:偷凭据 🔑

3、第三步:跳板,然后一台一台蹭过去 🔗🏃‍♂️

4、第四步:拿下域控 🏴‍☠️

5、复盘:一个真实的攻击时间线⏳

6、那怎么防? 🛡️

结语

引言

假设你是黑客,别紧张,纯假设 🤞。

你成功控制了公司里一台普通的办公电脑。怎么控制的?不重要。可能是钓鱼邮件里一个带宏的Excel 🎣,可能是前台小m点了来路不明的"简历.zip" 📁,可能是IT忘了给VPN打补丁 🕳️...

随便哪个,反正你就是进来了 🚪。

你现在站在一台普通域用户的桌面上。权限不高,就是个普通User,能看文件、能上网、能摸鱼 🐟,跟公司里任何一个打工仔差不多。

你觉得这就够了吗? 🤨不够。远远不够 ❌。

你正站在整个内网探险的起点 🏁。你的目标不是这台电脑,是那台闪着绿灯的 域控制器,成为 整个王国的国王 👑。

第一步:搞清楚自己在哪🗺️

进了贼窝,第一件事不是偷东西,是弄清楚:

      我现在在哪个网段? 🌐周围有哪些机器? 🖥️谁是管理员? 👔域控在哪? 🏰有没有什么配置上的疏漏能让我捡个便宜? 🎁

      这就像你偷偷溜进了一个大型商场,你得先看消防疏散图才能知道出入口在哪 🚪。

      收集情报,"内网测绘"📡

      攻击者会做的第一件事,就是跑一遍内网探测:

        看看自己的IP和子网掩码 → 知道自己在哪个网段 📍 扫一遍同网段的主机 → 知道邻居是谁 👥 查一下DNS → 找到域控的地址 🔍 查一下域用户和组 → 搞清楚组织架构 🏢

        听起来很复杂,其实这些活早就有自动化工具了 ⚙️ 。

        攻击者的背包里常备的有: 🎒

          🐕 SharpHound(BloodHound 的数据采集器)--这东西就像是内网的"百度地图" 🗺️。跑一遍,域里有多少台机器、谁是管理员、谁登过哪台机器、哪条路径能通到域控,全给你画出来。🏰 PingCastle--专门找AD(活动目录)配置缺陷的工具。你公司AD是不是五年没审计了?它一跑就知道 🏃‍♂️💨。👁️ PowerView--PowerShell脚本,查域信息的神器。不需要装什么东西,直接跑就行 ⚡

          跑完这一圈,攻击者手里就有了一张完整的"内网地图" 🗺️✅。

          这条"路"长什么样? 🛤️

          我打个比方你就懂了,假设你的内网是一个小区 🏘️:

              🛖 普通员工的电脑,就是一楼的保安亭。权限最小。🏢 IT人员的电脑,就是物业办公室。权限高一些,能管几栋楼。🗝️ 域管理员登录过的任何一台机器,就是在他家门口放了把备用钥匙。拿到就能进门。🎛️ 域控,就是整个小区的总控室。拿到它,你就是物业经理。

              攻击者的目标就是: 从保安亭,一步步走到总控室。 🚶‍♂️➡️🏰

              而现在,有了BloodHound画的地图,他已经能看清从保安亭到总控室有几条路、哪条路最近、哪条路门没锁 🚪🔓

              第二步:偷凭据 🔑

              光有地图不够,你得有钥匙 🗝️。

              Windows内网里,钥匙长什么样?就两种:

              1、密码哈希(NTLM Hash) #️⃣

              Windows不会把你的明文密码存在内存里,存的是哈希值 🧮。

              但攻击者不在乎, 登录的时候不需要明文密码,拿哈希值一样能登录。 😲

              这个技术叫 Pass-the-Hash (哈希传递)。名字很直白:把哈希值传递给目标机器,目标机器一看:“嗯,哈希是对的,放行。” ✅

              2、Kerberos票ju 🎟️

              域环境里,用户登录之后,域控会发一张"票ju"(Ticket),证明"这个人是合法的域用户" 📜。

              这张票ju,存在你登录过的 每一台机器的内存里 🧠。

              如果你在某台机器上用域管理员账号登过一次,哪怕只是远程桌面看了一眼任务管理器, 你的管理员票ju就留在了那台机器的内存里。 ⚠️

              攻击者只要跑到那台机器上,把内存里的票ju掏出来,就可以冒充你 🎭,这个技术叫 Pass-the-Ticket 🎫➡️💻。

              3、怎么掏? 🪤

              最经典的作案工具是 Mimikatz, 安全圈无人不知的"记忆读取器" 🧲。

              它干的事情很简单:从 Windows 的 LSASS 进程内存里,把密码哈希、Kerberos 票ju、明文密码(如果有的话)全部抓出来 🥄。

              听起来很复杂,但实际操作就一行命令 ⌨️:

                mimikatz # sekurlsa::logonpasswords

                跑完,所有在这台机器上登录过的用户凭证,全都摊在你面前 📄👀。

                这就好比你翻了一下保安亭的访客登记本,发现物业经理昨天来过,而且他的门禁卡复印件就夹在本子里。 📒🪪

                第三步:跳板,然后一台一台蹭过去 🔗🏃‍♂️

                现在你有了地图(BloodHound 🗺️),也有了钥匙(偷来的凭据 🔑),可以开始横向移动了。

                攻击者的思路很简单: 找一条能到域控的路径,一台一台跳过去。 🦘

                路径是什么样的? 🛤️

                假设你是普通员工A,你登录过自己的电脑PC-A 💻。

                IT支持人员B昨天远程帮A修过打印机 🖨️。B在PC-A上留下了他的凭据 🕵️‍♂️,B是"打印机管理员"组的成员,这个组对打印服务器有本地管理员权限 📈。

                你从PC-A上掏出B的凭据,跳到打印服务器 🔀,打印服务器上,上个星期域管理员C登录过,他来装了个驱动 💿。你从打印服务器上掏出C的凭据 🔓,游戏结束! 🛑💀

                这条链路就是:

                  PC-A(普通用户)💻 → 打印服务器(IT管理员)🖨️ → 域控(域管理员)👑

                  整个过程可能只需要三跳 🔀🔀🔀。 而BloodHound画出来的图,可能给攻击者提供了十几条不同路径,他只需要选最近的那条。 🎯

                  怎么跳?🛠️

                  横向移动的工具也多得很:

                  工具/方法
                  干撒用的
                  一句话解释
                  🖥️ PsExec
                  远程执行命令
                  微软官方出的,本来就是给IT管理用的
                  ⚙️ WMI
                  远程执行命令
                  Windows自带,不用装任何东西
                  💻 WinRM
                  远程执行命令
                  PowerShell远程管理,同样是内置的
                  🖱️ RDP
                  远程桌面
                  直接远程登录,图形界面
                  📂 SMB
                  文件共享
                  往目标机器上传/下载文件

                  说到底,Windows内网里的横向移动,基本就是在用微软自己提供的管理工具 🪟。

                  工具本身不是坏的,这些工具本来就是给IT管理员用的。问题是:谁在用。 😈

                  第四步:拿下域控 🏴‍☠️

                  到了这一步,攻击者已经拿到了域管理员的凭据,域控就在眼前 👀。

                  拿域控有好几种姿势,挑两种最常见的说说:

                  DCSync,假装自己也是域控🎭

                  域环境里,多台域控之间会同步数据 🔄,同步的时候,一台域控会向另一台域控要用户的密码哈希。

                  DCSync 就是攻击者假装自己是一台域控,向真正的域控说:“嘿,兄弟,给我同步一下数据呗。” 🤝

                  域控一看:“哦,你有域管理员权限,你是合法的域控,给你。” ✅

                  然后, 整个域里所有用户的密码哈希,全部到手。 🤑

                  对,你没听错。不只是管理员,是 所有用户 。包括CEO的、财务的、HR的、所有人的 💼💀。

                  Golden Ticket,自己印门票🥇🎫

                  拿到了域控的一个关键密钥(KRBTGT 哈希)之后,攻击者可以自己伪造Kerberos票 🪄 据。

                  这个票ju不叫票ju,叫"黄金票 ✨ ju" ,它的厉害之处在于: 不是偷一张现有的票ju,而是自己伪造一张!

                      想冒充CEO?伪造。🤵‍♂️想冒充域管理员?伪造。🧑‍💻想在域里创建一个新用户?伪造。🆕想给自己加到administrator组里?伪造。⬆️

                      有这个,攻击者可以在你的域里为所欲为 😈 。而且这种票ju,几乎无法被检测到,因为它"在技术上"是合 👻 法的。

                      复盘:一个真实的攻击时间线⏳

                      看到这里,你可能想问:整个过程大概要多 ⏱️ 久?我给你算一下一个经验丰富的攻击者大概需要的时间:

                      阶段
                      干什么
                      大概用时
                      🎣 拿到初始权限
                      钓鱼/漏洞利用
                      1分钟 → 2周
                      🗺️ 内网侦察
                      跑BloodHound、扫内网
                      5-15分钟
                      ⬆️ 提权
                      从普通用户变成那台机器的管理员
                      0-30分钟
                      🥄 偷凭据
                      Mimikatz抓内存
                      10秒
                      🦘 横向移动
                      跳到第二台机器
                      1-5分钟
                      🥄 再偷凭据
                      再抓一次
                      10秒
                      🏰 跳到域控
                      DCSync / Golden Ticket
                      30秒

                      如果运气好,一条路径从头到尾 不到一小时 ⌛,如果有漏洞可以利用直接提权,甚至 三十分钟内 就能从一台前台电脑杀到域控 ⚡。

                      而这一个小时里,很多企业的安全设备都在干嘛?在安静地记录日志 📝 😴, 不是不报,是报了你也没看 。 🙈

                      当然好的公司监控力度很到位,记得当初在tx的时候,第一天上班,就去登录,然后测试端口,我就用了telnet、namp,然后我的企业微信立马就警告我了,然后不到5秒就有人给我发信息,是在干嘛,为什么用这个命令,整的我老尴尬了....

                      那怎么防? 🛡️

                      我不想给你列一堆"纵深防御""零信任架构"这种正确的废话 🚫。说几个真正有用的:

                      第一:别让域管理员到处登录 🚷

                      这是最最最重要的一条 ❗。

                      每一次域管理员登录一台普通机器,就等于在那台机器上留下一把钥匙。 🔑 🚪

                      你公司的域管理员是不是经常远程桌面到各种服务器上去修东西?是不是经常在自己的办公电脑上用管理员账号?是不是有个共享的管理员账号叫"administrator",密码是公司名加123、168...? 😅

                      如果是,恭喜你,攻击者做完第一步侦察就会发现"这人把钥匙挂在门框上" 🪝🔑。

                      解决办法:分层管理。 🍰

                          👤日常办公用一个普通账号🧑‍🔧管理服务器用一个独立的管理员账号🦸‍♂️域控管理再用一个完全独立的账号🧱三个账号之间互相隔离,一个被抓也不会连累另一个

                          这叫"特权访问管理"(PAM),不是什么新鲜概念,但90%的企业都没做到 📉 。

                          第二:关掉不必要的横向移动通道 🧱

                          PsExec、WMI、WinRM、远程桌面——这些都是正常的IT管理工具,你不可能全关了 🚪。

                          但你可以在防火墙上做微隔离: 只允许IT人员的机器访问管理端口,普通员工的机器之间默认不通。 🔌🚫

                          这个道理就像:你家的WiFi密码可以告诉家人,但不能贴在楼道里 📶🙅‍♂️。

                          第三:监控 LSASS 访问 👁️

                          Mimikatz 的原理是读取 LSASS 进程的内存 🧠,一个普通的程序为什么要读 LSASS 的内存? 🤔

                          没有。正常程序不会干这件事。 ❌

                          所以,你可以在终端安全软件里配一条规则: 任何程序试图访问 LSASS 进程,立刻告警。 🚨

                          这是最直接、最有效的 Mimikatz 检测手段 🎯。

                          第四:把BloodHound倒过来用 🔄

                          BloodHound 攻击者能用,防守方也能用 🤺。

                          你定期在你的域里跑一次 SharpHound,然后自己看 BloodHound 画出来的攻击路径图 🗺️。

                          如果你发现从某个HR助理的电脑出发,六跳就能到域控,那攻击者就能发现。 👁️‍🗨️🏃‍♂️

                          发现了就堵:删掉不必要的权限 ✂️、清理过期的组成员关系 🧹、把共享管理员账号干掉 🗑️。

                          与其等攻击者告诉你哪里有漏洞,不如你自己先查一遍。 🔍🛡️

                          结语

                          横向渗透,说到底是利用了三样东西:

                          1. 你的信任链条太长了。 ⛓️💥 从HR助理到域管理员,中间经过了太多个可以搭便车的节点 🚗。

                          2. 你的管理员太懒了。 🦥 管理员账号到处登录、共享密码、不清理过期权限——每一条都是为攻击者铺路 🛤️。

                          3. 你的监控只看不报。 🔇 安全设备记了一大堆日志,但没人看 📝🧐。攻击者在你的内网里逛了一小时,你的SIEM仪表盘上什么都没有 📉。

                          网络安全的道理,说到底就一句: 你不知道自己有多脆弱,直到有人来证明给你看。 💔🪞

                          来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70042845/viewspace-3171958/ ,如需转载,请注明出处,否则将追究法律责任。

                          请登录后发表评论 登录
                          全部评论
                          关注公众号:老登的安全观 数据安全从业者,佛系随行笔记,记录最好的自己!

                          注册时间:2024-07-02

                          • 博文量
                            97
                          • 访问量
                            79468