ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

内网安全怎么防横向移动?五条路径、端口收敛与检测规则

内网安全怎么防横向移动?五条路径、端口收敛与检测规则

内网安全最尴尬的现实是:边界上砸了几百万,内网里一台机器被打穿之后,攻击者半小时能横到核心库。

原因不复杂。边界设备管的是"从外面进来",而横向移动发生在"里面走"。你所有的 WAF、IPS、抗 DDoS,都在防第一跳;可真正造成损失的是第二跳到第十跳——那段路上通常什么都没有。

我在一次演练里见过完整的路径:从一台测试机的弱口令进(10 分钟),用本地管理员密码全网统一这一点拿到另一台机器(15 分钟),从一台运维机上的凭据文件拿到域账号(20 分钟),最后到数据库服务器。全程没有触发任何告警,因为没有任何设备在看东西向流量。

这篇按攻击者的路径讲:进来之后会走哪五条路、每条路怎么堵、在买微隔离之前能做什么。这不是理论,是可以在两周内动手的事。

资产底数怎么盘,看 甲方安全新人第一个月做什么;边界那侧怎么配,看 安全设备运营怎么查。

一、横向移动的五条路

先看清路,再谈堵。攻击者在内网里能走的路,实际就五条,按"被用得最多"排序:

路径依赖什么典型手法
凭据复用各机器本地管理员密码相同抓一台的 hash,撞开一片
远程管理端口3389/22/445/5985 对内网全开直接连,用拿到的账号登录
共享与文件共享目录、部署脚本、配置文件从共享里捞凭据、投毒
信任关系域信任、SSO、API 互信从低权限域跳到高权限域
运维通道跳板机、堡垒机、自动化平台借运维的合法通道操作

这五条里,前两条占了实际案例的大多数。原因很朴素:它们不需要漏洞,只需要一个密码或一个开放的端口。

所以内网加固的优先级也应该是这个顺序——先把凭据和端口收掉,再谈流量检测和微隔离。反过来做(先买微隔离平台),往往钱花了,最容易被利用的那两条路还开着。

二、第一件事:本地管理员密码不能全网统一

这是投入产出比最高的一项,也是最容易被忽略的一项。

很多单位的装机流程是同一个镜像、同一个本地管理员口令,装完也不改。这样一来,攻破一台等于攻破全部——攻击者用 mimikatz 之类的工具从内存里抓出本地管理员 hash,然后拿它去撞内网所有机器,成功率极高,而且不需要任何漏洞。

验证方法很简单,随便挑两台机器比一下本地管理员的口令 hash 是否相同:

# Windows:导出本地管理员 hash(需在目标机执行,演练/自查时用) # 注意:这是取证级操作,必须在授权范围内、且事后清理 reg save HKLM\SAM C:\temp\sam.hiv reg save HKLM\SYSTEM C:\temp\system.hiv # 导出的 hive 用离线工具比对,不要在生产机上装破解工具 # 更轻的办法:直接对比两台机器的本地管理员口令(在授权下各试一次) net use \\HOST-A\IPC$ /user:Administrator <口令> net use \\HOST-B\IPC$ /user:Administrator <口令> # 同一个口令都能通,就说明全网统一

Linux 侧同理,看/etc/shadow里 root 的 hash 是否跨机器一致。

修法分两种,按规模选。

规模小(几十台)可以手工改,改成"一机一密",口令记在密码管理器里。规模大就要上 LAPS 这类方案:域内每台机器自动生成随机的本地管理员口令,存在 AD 里,只有授权的人能查。

# LAPS(Windows LAPS)启用要点,组策略侧配置 # 1) 扩展 AD schema(一次) # 2) 组策略:计算机配置 -> 管理模板 -> 系统 -> LAPS # - Backup Directory: Active Directory # - Password Settings: 长度 20,复杂度高,30 天轮换 # - Administrator Account Name: 自定义(不要用 Administrator) # 3) 授权:只给桌面运维组 "读取密码" 权限

改这个会遇到阻力,因为运维习惯了"一个密码走天下"。但它的收益非常直接:攻击者拿到一台机器,无法凭这一台的凭据拿下第二台。这一条就把横向移动的成本抬高了一个量级。

三、第二件事:远程管理端口收敛到跳板

3389、22、445、5985 这些端口在内网里通常是对全网开放的。这是历史遗留:早期没有堡垒机,运维从自己电脑直连服务器最方便。

收敛的做法是网络层限制,不是靠制度要求:

端口协议应该允许谁访问
3389RDP只有跳板机/堡垒机的 IP
22SSH只有跳板机/堡垒机的 IP
445SMB只有域控、文件服务器之间;终端之间禁止
5985/5986WinRM只有自动化平台/堡垒机
1433/3306/6379数据库只有应用服务器;运维走跳板

关键的一条是终端到终端禁止 445。这是勒索病毒横向传播的主要通道——一台中招,靠 SMB 扫一遍全网共享就铺开了。这一条在防火墙上做,或者用终端防火墙策略下发,都能实现。

验证收敛效果,可以从一台普通终端上试连:

# 从一台业务终端测试:这些应该都不通 for p in 3389 22 445 5985; do timeout 2 bash -c "echo > /dev/tcp/10.20.1.31/$p" 2>/dev/null \ && echo "端口 $p 可达(需收敛)" || echo "端口 $p 已阻断" done

如果这些端口从终端都能连上,那你内网的暴露面等于没有边界。

四、分段:不是买个防火墙分两段

绝大多数企业已经做了分段,但效果有限,因为分的方式不对——通常是"按楼层"或"按 IP 段"分,而不是"按信任等级"分。

有效的分段按信任等级划,四个域就够:

域里面有什么允许的访问
办公域员工终端、打印机只能到办公应用和互联网出口
生产域业务服务器、数据库只能被办公域的应用入口访问,不能反向
管理域堡垒机、监控、自动化平台可到生产域,但不能被办公域直接访问
隔离域测试环境、外包接入、无线访客默认全部阻断,逐条放通

四个域之间的策略只允许"从高信任到低信任"和"从办公到生产的具体端口",其他一律拒绝。

有个判据很好用:办公域能不能直接连生产域的数据库。能连,说明分段只是名义上的。

微隔离(东西向防火墙)确实比网段分段更细,但它不是起步方案。原因有两个:一是要装 agent、要梳理业务关系,周期长;二是业务关系梳理不清就上微隔离,结果一定是全放通,等于白做。

所以顺序是:先网段分段 + 端口收敛(两周能做),跑顺了再考虑微隔离。

五、东西向流量:你的设备看不见

南北向(进出互联网)有防火墙、IPS、WAF 在看;东西向(内网机器之间)通常只有一个交换机,什么也看不见。

这是内网检测最大的盲区。补的办法有两个层次:

第一层,用现有设备做。核心交换机的 NetFlow/sFlow 数据,接到现有的日志平台或 SIEM 里,至少能看到"哪两台机器在异常通信"。

关键检测点:

现象说明什么
一台终端向大量内网 IP 的 445 发起连接勒索/蠕虫横向扫描
一台服务器向多台机器的 22/3389 发起连接凭据爆破或横向尝试
内网出现 SMB、RDP 之外的异常协议隧道工具(DNS/ICMP/HTTP 隧道)
内网机器访问非常规端口的外网地址C2 回连
同一账号在短时间内从多台机器登录凭据被盗

第二层,端点侧补。EDR 能看到的比流量更多:进程的父子关系、命令行参数、凭据访问行为。横向移动在端点侧留下的痕迹很明确——mimikatz、procdump抓 lsass、net use批量连、psexec落地服务。

检测规则不难写,关键是先有日志。如果 EDR 只装了办公终端、服务器一台没装,那服务器之间的横向你永远看不见。

还有一个更常见的问题:日志有了,但没人在看。东西向告警的量通常远大于南北向——内网机器之间正常通信本身就多,稍微放宽阈值就是每天几千条。结果是要么关掉,要么设成只记录,等于没开。

处理办法是只对高价值目标开东西向检测:核心数据库、域控、堡垒机这三类机器周围的流量全查,其他区域只做统计不告警。范围小了,量级就降到人能处理的水平。等这三类的规则跑稳、误报压下去,再逐步扩范围。这个节奏比"全网上线然后被迫关掉"要慢,但能活下来。

六、几台机器、两周能做的事

不用等预算,下面四件事现在就能做,按性价比排序:

第一,查本地管理员密码是否统一(半天)。抽样 10 台机器比对,如果统一,这周就排期改。

第二,终端之间断 445(一次变更)。在终端防火墙策略或接入层 ACL 上做,能挡住一大类勒索扩散。

第三,远程管理端口收敛到跳板(两周,需要协调)。这一步会有阻力,先做服务器侧,终端侧后做。

第四,把核心交换机的流量数据接进日志平台(一周)。哪怕只做 Top 会话统计,也比完全看不见强。

四件事做完,内网的安全水位会有明显变化。它们的共同特点是:不依赖任何新产品采购。

它们还有一个共同特点:做完能拿出证据。密码是否还统一、445 是否通、RDP 是否只剩跳板,这三件事都能当场验证,不靠汇报。

七、域环境特有的三条捷径

上面讲的是"不分域也能走"的路。如果内网是 AD 域环境,还有三条更省事的捷径——它们不需要猜密码,也不需要开放端口,靠的是域本身的机制。

第一条:Kerberoasting。任何域用户都能向域控请求"服务票据"(TGS),而票据是用服务账号的口令 hash 加密的。拿到票据后离线暴力破解,就能得到服务账号的明文口令。而服务账号往往权限很高——很多单位直接拿域管理员跑服务。

检测方法:域控上开 4769 事件审核,看有没有同一账号在短时间内请求大量不同 SPN 的票据。防御上则是服务账号口令必须足够长(25 位以上,长到无法在合理时间内破解),或者改用组托管服务账号(gMSA)让口令自动轮换。

第二条:非约束委派。如果某台机器配置了"非约束委派",攻击者只要能让域管理员访问这台机器(哪怕只是访问它的一个共享),就能拿到域管理员的票据,进而冒充。

检测是一条命令的事:用Get-ADComputer和Get-ADUser分别查TrustedForDelegation为$true的对象,把清单拉出来。如果输出有内容,就要逐个评估:这台机器为什么需要非约束委派?能不能改成约束委派或基于资源的约束委派?多数情况下答案是"历史遗留,其实不需要"。

第三条:GPO 与 SYSVOL。组策略文件放在域控的 SYSVOL 共享里,任何域用户都能读。如果有人把脚本、配置文件里的口令放进了 GPO,等于对全公司公开。

自查方法:在 SYSVOL 的 scripts 目录里搜password、passwd、pwd、secret这类关键字,看有没有明文口令。这个动作只读不写,在授权范围内做。

这三条的共同点是:它们是域的设计特性,不是漏洞。所以你没法"打补丁",只能靠两件事——配置收敛(长口令、改委派、清 GPO 里的凭据)和检测(4769 异常、委派对象清单定期核)。

顺便说一句,很多团队把内网安全的希望全押在"买一套东西向检测设备"上,但上面这三条里,第一条和第二条的修复成本几乎为零,只需要有人去查一遍。先做这些不需要花钱的事,再谈采购。

八、检测规则示例

有了日志之后,几条规则能覆盖大部分横向行为。下面用通用伪代码写,具体语法按你的平台改:

-- 规则一:单台主机在 5 分钟内连接超过 20 个不同内网 IP 的 445 端口 SELECT src_ip, COUNT(DISTINCT dst_ip) AS targets FROM netflow WHERE dst_port = 445 AND dst_ip LIKE '10.%' AND ts > NOW() - INTERVAL '5 minutes' GROUP BY src_ip HAVING COUNT(DISTINCT dst_ip) > 20; -- 规则二:同一账号在 10 分钟内从 3 台以上不同主机登录成功 SELECT user_name, COUNT(DISTINCT host) AS hosts FROM auth_log WHERE result = 'success' AND ts > NOW() - INTERVAL '10 minutes' GROUP BY user_name HAVING COUNT(DISTINCT host) >= 3; -- 规则三:非运维网段的主机向服务器发起 RDP 连接 SELECT src_ip, dst_ip FROM netflow WHERE dst_port = 3389 AND src_ip NOT LIKE '10.10.5.%' -- 跳板机网段 AND dst_ip LIKE '10.20.%'; -- 生产网段

规则三是最该先上的一条。它的逻辑很硬:除了跳板机,谁都不该直接连服务器的 RDP。一旦有连接,要么是运维绕行,要么是攻击者在横向——两种都值得立即查。

九、三个月能推到什么程度

阶段时间做什么判断标准
一期第 1 月本地管理员改一机一密、终端断 445抽样验证 hash 不重复;终端互连 445 不通
二期第 2 月远程管理端口收敛到跳板、四条检测规则上线从终端连服务器 3389/22 不通;规则能出告警
三期第 3 月四域分段落地、核心交换机流量接入办公域不能直连生产域数据库;东西向有数据

三期做完不要急着上微隔离。先用三个月数据看清"哪些机器在互相通信",这份业务关系图是微隔离能不能做成的前提——没有它,微隔离上线当天就得全放通。

十、几个想清楚再动手的问题

第一,收敛端口一定会有人反对。反对的理由通常是"影响效率"。应对办法不是讲安全,是给替代方案:跳板机上加个快捷方式、堡垒机配好单点登录,让走正规通道不比直连慢。只堵不给路,一定被绕过。

第二,本地管理员改一机一密之后,运维会抱怨"记不住"。这是必须提前解决的:上密码管理系统,或者用 LAPS 让系统代管。不然三个月后一定会有人把口令写回便利贴。

第三,检测规则先少后多。一上来写二十条规则,结果是每天几百条告警没人看。先上三条最硬的(非跳板 RDP、批量 445、账号多地登录),跑稳了再加。

第四,别把内网安全做成"又一个买设备的项目"。上面这些事里,只有流量采集可能需要一点投入,其余都是配置和流程。内网安全的差距,八成不在设备,在于有没有人真的按这个顺序做过一遍。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进