内网横向移动攻击演示,运维如何检测阻断

内网横向移动是指攻击者拿下第一台机器后,利用弱口令、漏洞或窃取的凭证进一步控制内网其他主机的过程。
对运维来说,最需要关心的是如何尽早发现异常登录和端口扫描,并通过策略阻断攻击链。
本文将在隔离实验环境里演示一次典型的横向移动,并给出检测命令和阻断配置,你跟着做完就能掌握排查和加固的基本方法。

实验环境与前置准备

要复现横向移动,至少需要三台机器:一台攻击机(Kali Linux)、一台已攻陷的跳板机(Windows 10,假设已获取权限)、一台目标机(Windows Server 2019)。
三台机器在同一个 VMnet 或 Host-Only 网络里,IP 规划如下:

  • 攻击机:192.168.56.10
  • 跳板机:192.168.56.20
  • 目标机:192.168.56.30

在跳板机上关闭 Windows Defender 实时防护(实验环境,生产不要关闭),并创建一个普通用户 testuser
目标机开启远程桌面和 SMB 共享,并设置一个弱口令账号 admin / Admin123,用来模拟常见弱口令场景。

注意:所有操作仅在你自己拥有或授权的隔离网络中进行,未经授权的测试属于违法行为。

横向移动攻击演示:从跳板机到目标机

攻击者进入跳板机后,通常会先收集内网信息,再尝试用已有凭证或抓取的哈希去连接其他机器。
这里演示两种常见手法。

1. 使用 net 命令探测内网存活主机

在跳板机的 CMD 中执行:

net view /domain

如果返回了目标机的主机名,说明 SMB 可达。
继续用 ping 确认:

ping 192.168.56.30

2. 利用弱口令进行 IPC$ 连接

攻击者常用 net use 建立 IPC$ 连接,为后续拷贝文件或执行命令做准备:

net use \\192.168.56.30\IPC$ /user:admin Admin123

如果返回“命令成功完成”,说明弱口令可用。
接着就可以把木马或脚本复制到目标机:

copy payload.exe \\192.168.56.30\C$\Windows\Temp\

3. 使用 PsExec 远程执行命令

在攻击机上用 PsExec 通过已建立的连接执行命令:

PsExec.exe \\192.168.56.30 -u admin -p Admin123 cmd.exe

此时攻击者已经获得目标机的命令行权限。
整个过程在目标机日志中会留下大量登录事件和进程创建记录,这正是运维检测的关键。

运维如何检测横向移动痕迹

防守方不需要抓包也能从日志里发现异常。
重点检查三类记录。

检查 Windows 安全日志中的登录事件

在目标机上打开“事件查看器” -> “Windows 日志” -> “安全”,筛选事件 ID:

  • 4624:登录成功。如果出现大量来自同一源 IP 的 4624,且登录类型为 3(网络登录),需要警惕。
  • 4625:登录失败。短时间内多次 4625 说明有人在暴力破解。
  • 4672:授予特殊权限。攻击者登录后常会触发此事件。

也可以用 PowerShell 快速统计:

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} | Group-Object -Property {$_.Properties[18].Value} | Sort-Object Count -Descending

如果某个 IP 的登录次数异常偏高,就应该进一步排查。

查看 SMB 共享和会话

在目标机上执行:

net session

如果看到陌生 IP 的会话,说明有远程连接。
再用 net share 检查是否有异常共享。

检查计划任务和服务

攻击者常通过创建计划任务维持权限:

schtasks /query /fo LIST /v | findstr /i "taskname author"

如果发现任务作者为 admin 或路径指向 Temp 目录,很可能是攻击者留下的。

阻断策略:从边界到主机加固

检测到异常后要立即阻断,并加固环境避免再次被横向。

防火墙限制高危端口

在目标机的 Windows Defender 防火墙中,只允许跳板机访问必要端口。
例如,只允许 3389 远程桌面来自管理网段,禁止其他内网机器访问 SMB 445 端口:

New-NetFirewallRule -DisplayName "Block SMB from subnet" -Direction Inbound -Protocol TCP -LocalPort 445 -RemoteAddress 192.168.56.0/24 -Action Block

执行后,攻击机再次尝试 net use 会返回“系统发生 53 错误”,说明阻断生效。

强制使用强密码和账户锁定

在目标机本地安全策略中设置:

  • 密码长度最小值:12 个字符
  • 密码必须符合复杂性要求:已启用
  • 账户锁定阈值:5 次无效登录
  • 账户锁定时间:15 分钟

路径:secpol.msc -> 账户策略 -> 密码策略 / 账户锁定策略。

开启 Windows Defender 凭据保护

在目标机上启用 Credential Guard 可以防止哈希传递。
对于 Windows 10/11 专业版,可在“Windows 安全中心” -> “设备安全性” -> “内核隔离”中开启内存完整性,并确认 Credential Guard 状态为“正在运行”。

部署网络分段和跳板机审计

生产环境建议把服务器放在独立 VLAN,只允许运维跳板机访问。
跳板机开启会话录制,所有命令可追溯。
如果条件允许,使用堡垒机统一管理,并定期导出登录日志做异常分析。

验证检测与阻断是否生效

完成配置后,重新在跳板机上执行 net use \\192.168.56.30\IPC$ /user:admin Admin123,应该看到“系统发生 53 错误”或“拒绝访问”。
同时在目标机安全日志中能看到 4625 失败事件,说明检测和阻断都在工作。

再检查防火墙规则是否生效:

Get-NetFirewallRule -DisplayName "Block SMB from subnet" | Select-Object DisplayName, Enabled, Action

返回 Enabled : TrueAction : Block 即为正常。

常见问题与避坑提醒

问:为什么我按步骤做了,但日志里找不到 4624 事件?

可能是审核策略没有开启。
在目标机运行 auditpol /set /subcategory:"登录" /success:enable /failure:enable,然后重新触发一次登录。

问:防火墙规则加了,但攻击机还是能访问共享?

检查规则的优先级和配置文件。
默认情况下,阻止规则优先级高于允许规则,但如果之前有允许规则且作用域更具体,仍然可能放行。
Get-NetFirewallRule | Where-Object DisplayName -like "*SMB*" 列出所有相关规则,确认没有冲突。

避坑:不要在生产环境直接关闭防火墙或 Defender 来做测试。 所有演示应在隔离网络或虚拟机快照中进行。
另外,修改账户锁定策略前要确认不会锁死正常服务账号,建议先对普通用户启用,观察一周再推广。

避坑:弱口令检测不能只靠人工。 建议用 hydracrackmapexec 在授权范围内定期扫描,但务必控制扫描频率,避免触发业务告警。

结尾

内网横向移动攻击演示的目的不是教攻击,而是让运维理解攻击路径,从而在检测和阻断上有的放矢。
从日志排查到防火墙策略,再到账户加固,每一步都能直接落地。
建议你先在实验环境完整走一遍,然后根据自己内网的实际情况调整检测规则和阻断策略。
如果遇到日志缺失或规则不生效,优先回看“常见问题与避坑提醒”部分。

分享到:
上一篇
勒索病毒样本分析,服务器防护要点:勒索病毒样本分析入门
下一篇
开源CMS漏洞时间线,历史高危漏洞汇总
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意