使用Azure实验室进行Impacket防御基础 - 检测与缓解攻击技术

本文通过Azure实验室环境,详细解析如何检测和防御Impacket工具集的常见攻击技术,包括NTLM中继、Kerberoasting和凭证转储等,涵盖MITRE ATT&CK框架中的T1204、T1557等技术,并提供实际防御方案与检测策略。

概述

本文是对SecureAuthCorp开源的Impacket工具集的防御视角分析,延续此前《使用Azure实验室进行Impacket攻击基础》的内容,重点探讨如何检测和防御这些技术。

实验室搭建

  • ARM模板:通过doazlab.comGitHub部署
  • 环境组成:域控制器、已加入域的工作站及Ubuntu系统

预防性欺骗

通过创建Active Directory诱饵账户(如Luis.Graves)来检测枚举和Kerberoasting攻击:

1
New-ADUser -UserPrincipalName [email protected] -Path "OU=DomainUsers,dc=doazlab,DC=com" -GivenName "Luis" -Surname "Graves" -Enabled 1 -Name "Luis.Graves" -desc "Accounting Controller" -AccountPassword (ConvertTo-SecureString "Password1!" -AsPlainText -Force)

Ntlmrelayx.py防御

攻击场景:MITRE ATT&CK T1204(恶意LNK文件触发凭证中继)
防御方案

  1. 检测:通过Sysmon监控.LNK.URL文件创建(事件ID 4656)
  2. 阻断:使用Microsoft文件服务器资源管理器(FSRM)限制共享文件扩展名
  3. 网络加固:关闭不必要的SMB端口,限制工作站出站流量

中间人攻击(MITRE T1557)

防御重点

  • 禁用LLMNR/NBNS协议
  • 监控事件ID 4662(对象属性读取)以检测诱饵账户访问

域账户枚举(MITRE T1087)

检测方案

  1. 部署Deploy-Deception工具创建诱饵用户
  2. 通过ObjectGUID关联事件ID 4662生成警报

Kerberoasting(MITRE T1558)

防御措施

  • 为服务账户设置25字符以上的强密码
  • 使用托管服务账户(MSA/gMSA)
  • 监控SPN查询活动

凭证转储(MITRE T1003)

关键检测点

  • 远程注册表服务启动(事件ID 4688)
  • 非域控制器发起的DCSync操作(事件ID 4662)

防御建议

  • 限制工作站防火墙的SMB RPC访问
  • 启用LDAP通道绑定

参考资料

  1. FSRM文档
  2. Sysmon-Modular
  3. MITRE ATT&CK T1204

作者:Jordan Drysdale
原文发布于Black Hills Information Security

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计