请改用微软工具:
在评估影响时,我们强烈建议假设已被入侵,并预先检查所有自今年1月以来公开暴露的 MS Exchange 服务器,即使没有发现主动入侵迹象。
请注意,仅通过利用链中的 SSRF 部分(即未实现代码执行、未删除任何文件或未在 Exchange 主机上启动新进程)也有可能(且确实发生了)进行数据外泄和配置更改。
这是一个误报。防病毒产品对脚本中列出的关键词产生反应。detect_webshells.ps1 特意写成一个独立的文件,使用非常简单的 PowerShell,以便您可以自行检查。会(合理)触发防病毒软件的关键词列在第 94 行。如果您不确定自己理解该脚本的作用,请不要运行它!
希望防病毒软件开始检测此脚本意味着它也能检测真正的 webshell,从而使 detect_webshells.ps1 变得不再必要。不过,请检查 Exchange 和 inetpub 目录是否未被列入白名单,并请注意,webshell 仅用于初始访问。一旦攻击者实现代码执行,他们通常会部署额外的持久化机制——有时甚至会自行删除初始 webshell 以隐藏痕迹。
所以不要将缺少 webshell 误认为未被入侵——不幸的是,您的服务器可能仍然被入侵过,并且攻击者要么自行删除了 webshell,要么防病毒软件将其删除(但并未将攻击者完全从您的服务器中清除)。
此脚本用于查找在 Microsoft Exchange 服务器受到以下 CVE 影响期间被丢弃的 webshell:
2021年1月的初始活动归因于 HAFNIUM,但此后其他威胁行为者也获取了这些漏洞并开始利用。在微软公开发布及发布补丁之前(大约自2月27日起),公开暴露的 Exchange 服务器开始被不加区分地利用。因此,在微软发布补丁后立即安装最新的 Exchange 更新并不能完全消除先前被入侵的风险,所有 Exchange 服务器都应检查是否存在未授权访问的迹象。
detect_webshells.ps1 将检查典型位置中已知 webshell 的存在:
inetpub/wwwroot/aspnet_client/:系统范围位置,当前攻击中最常见的放置 webshell 位置;正常情况下该目录不应包含任何文件,因此任何文件存在都值得怀疑。$($env:exchangeinstallpath)/Frontend/:更老练的攻击者会使用此位置,以与合法的 Exchange 文件混在一起(webshell 可作为新文件添加,或通过修改现有文件添加,包括 web.config);最常见的位置是 /owa/ 和 /ecp/,但 webshell 可能被放置到 Frontend 目录内的任何位置。detect_webshells.ps1 仅查找 webshell,并不试图直接检测过去的利用事件(请使用 https://github.com/microsoft/CSS-Exchange/tree/main/Security 和其他下方提到的脚本进行此检测),也不针对特别隐蔽的威胁行为者(他们可能在使用后删除 webshell 或完全避免放置 webshell)。因此,阴性结果仅表示该特定主机上没有存在 webshell 的证据,并不能保证主机没有被其他方式利用。
分析/披露文章(包括 IoC):
值得注意的检测脚本: