8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png
如何利用防火墙规则阻止Windows Defender
aiyun 7月前

写在前面的话

Windows Defender for Endpoint(以前称为Windows Defender ATP)是一种“云驱动”的终端安全检测响应系统(EDR),这样说,警报和事件可以被推到云端,防御人员可以直接在云端做出响应。

在社区红规任务时,最大的障碍之一通常在于规避EDR产品,并确保我们的行动不会被发现。很少有研究探讨是否可以简单地放置Microsoft Defender,这样就不会有数据发送到云端了。

本文将探讨一种可能的方法,通过利用防火墙规则来阻止Microsoft Defender,以确保没有事件发送到Microsoft Defender安全中心,即https://securitycenter.windows.com。

克里斯·汤普森(@retBandit)曾在BlackHat Europe 2017年发表的演讲《红队规避,绕过和取代MS高级威胁保护和高级威胁分析技术》中详细介绍了修改终端例程Microsoft Defender的方法。中,我们将讨论如何使用防火墙规则来阻止已知的。

技术分析

虽然这种技术目前仍然有效,但想要创建一个包含所有已知的MD主机服务URL的防火墙规则实际上是非常麻烦的。此外,URL列表中还需要包含类似如下的替代:

* .blob.core.windows.net

* .azure-automation.net

这样可能会破坏某些Windows服务。在红队研究或渗透测试的情况下,你不想对客户产生过多的影响,也不想通过干预正常的工作流程来提醒防御者。

因此,我们不想阻止与某些URL的通信,或者想评估是否有可能阻止特定服务和进程的通信,从而使端点的MD保持“沉默”。的,已知的MD通信,并阻止这些特定进程。这​​里,我们需要的所有信息都已由MD进行Endpoint收集,并通过Microsoft Defender安全中心提供给我们!

MD for Endpoint从所有正在运行的进程收集网络连接,因此可以使用找到的防御程序MD与Defender URL通信。此时,我们可以通过运行以下Kusto查询来查看这些进程。

DeviceNetworkEvents

| 其中,ActionType ==“ ConnectionSuccess”

    和(RemoteUrl以“ ods.opinsights.azure.com”结尾

    或RemoteUrl以“ oms.opinsights.azure.com”结尾

    或RemoteUrl以“ azure-automation.net”结尾

    或RemoteUrl以“ wdcp.microsoft.com”结尾

    或RemoteUrl以“ wdcpalt.microsoft.com”结尾

    或RemoteUrl以“ wd.microsoft.com”结尾

    或RemoteUrl in      

                        (

                                “ europe.x.cp.wd.microsoft.com”

                        ,“ eu.vortex-win.data.microsoft.com”

                        ,“ eu-v20.events.data.microsoft.com”

                        ,“ usseu1northprod.blob.core.windows.net”

                        ,“ usseu1westprod.blob.core.windows.net”

                        ,“ winatp-gw-neu.microsoft.com”

                        ,“ winatp-gw-weu.microsoft.com”

                        ,“ wseu1northprod.blob.core.windows.net”

                        ,“ wseu1westprod.blob.core.windows.net”

                        ,“ automatedirstrprdweu.blob.core.windows.net”

                        ,“ automatedirstrprdneu.blob.core.windows.net”

                        ,“ unitedkingdom.x.cp.wd.microsoft.com”

                        ,“ uk.vortex-win.data.microsoft.com”

                        ,“ uk-v20.events.data.microsoft.com”

                        ,“ ussuk1southprod.blob.core.windows.net”

                        ,“ ussuk1westprod.blob.core.windows.net”

                        ,“ winatp-gw-uks.microsoft.com”

                        ,“ winatp-gw-ukw.microsoft.com”

                        ,“ wsuk1southprod.blob.core.windows.net”

                        ,“ wsuk1westprod.blob.core.windows.net”

                        ,“ automatedirstrprduks.blob.core.windows.net”

                        ,“ automatedirstrprdukw.blob.core.windows.net”

                        ,“ unitedstates.x.cp.wd.microsoft.com”

                        ,“ us.vortex-win.data.microsoft.com”

                        ,“ us-v20.events.data.microsoft.com”

                        ,“ ussus1eastprod.blob.core.windows.net”

                        ,“ ussus1westprod.blob.core.windows.net”

                        ,“ ussus2eastprod.blob.core.windows.net”

                        ,“ ussus2westprod.blob.core.windows.net”

                        ,“ ussus3eastprod.blob.core.windows.net”

                        ,“ ussus3westprod.blob.core.windows.net”

                        ,“ ussus4eastprod.blob.core.windows.net”

                        ,“ ussus4westprod.blob.core.windows.net”

                        ,“ winatp-gw-cus.microsoft.com”

                        ,“ winatp-gw-eus.microsoft.com”

                        ,“ wsus1eastprod.blob.core.windows.net”

                        ,“ wsus1westprod.blob.core.windows.net”

                        ,“ wsus2eastprod.blob.core.windows.net”

                        ,“ wsus2westprod.blob.core.windows.net”

                        ,“ automatedirstrprdcus.blob.core.windows.net”

                        ,“ automatedirstrprdeus.blob.core.windows.net”

                        ,“ ussus1eastprod.blob.core.windows.net”

                        ,“ ussus1westprod.blob.core.windows.net”

                        ,“ usseu1northprod.blob.core.windows.net”

                        ,“ usseu1westprod.blob.core.windows.net”

                        ,“ ussuk1southprod.blob.core.windows.net”

                        ,“ ussuk1westprod.blob.core.windows.net”

                        ,“ ussas1eastprod.blob.core.windows.net”

                        ,“ ussas1southeastprod.blob.core.windows.net”

                        ,“ ussau1eastprod.blob.core.windows.net”

                        ,“ ussau1southeastprod.blob.core.windows.net”

                        ))

| 总结Count = count()

    ,RemoteUrl = make_set(RemoteUrl)

    ,InitiatingProcessCommandLine = make_set(InitiatingProcessCommandLine)

            通过InitiatingProcessFileName

| 计数> 10

| 按InitiatingProcessFileName排序

下图显示的是查询结果:

浏览一下这个列表,我们发现有几个进程显示为与MD有关Endpoint无关的进程。比如说Teams.exe,它是微软的官方团队客户端,虽然它会给已知的MD URL发送事件。

对于那些比较熟悉的MD for Endpoint的人来说,对这些进程的透彻理解将有助于使用Windows防火墙有效地阻止它们。

SenseIR.exe:在Microsoft Defender安全中心启动“实时响应会话”时,作为MsSense.exe生成的子进程运行。

SenseCncProxy.exe:作为MsSense.exe生成的子进程运行,可以将其描述为“通信模块”,因此可能会处理与前面提到的URL的通信,并且如果应用了此功能,将会启动代理。

SenseCncProxy.exe:Defender for Endpoint的主服务替换文件,以服务的形式运行,服务称为“ Sense”。(Windows 10)

MpCmdRun.exe:Microsoft Defender防病毒主服务的重置文件,以服务的形式运行,服务称为“ WinDefend”。(Windows 10)

MpCmdRun.exe:用于执行各种Microsoft Defender防病毒功能的命令行工具。

MonitoringHost.exe:作为HealthService的子进程生成的重组文件,它是Microsoft Monitoring Agent的一部分,在使用以前的版本的Windows(Server 2016及以下版本+ Windows 8.1 Enterprise及以下版本)登录设备时会安装。

HealthService.exe:Microsoft监控代理的主服务替换文件,在使用以前的版本的Windows(Server 2016及以下版本+ Windows 8.1 Enterprise及以下版本)登录设备时会安装。

此外,还有某种本机Windows服务(如utcsvc和diagtrack)也与已知的URL通信,但在我们的测试中,它们没有为Endpoint发送任何与MD相关的事件或警报数据的防御者。

PoC-防火墙规则

Windows 10和Windows Server 2019

在Windows 10和Windows Server 2019上端的MD相对来说比较简单,因为我们只需要阻止MsMpEng,SenseCncProxy和MsSense三个进程在端口443上发送流量即可。 Windows Defender,并且不会触发任何警报:

New-NetFirewallRule -DisplayName“ Block 443 MsMpEng”-名称“ Block 443 MsMpEng”-方向出站-服务WinDefend-启用True -RemotePort 443-协议TCP-操作块

New-NetFirewallRule -DisplayName“ Block 443 SenseCncProxy”-名称“ Block 443 SenseCncProxy”-方向出站-程序“%ProgramFiles%\ Windows Defender Advanced Threat Protection \ SenseCncProxy.exe” -RemotePort 443 -Protocol TCP -Action Block

New-NetFirewallRule -DisplayName“ Block 443 MsSense”-名称“ Block 443 MsSense”-方向出站-程序“%ProgramFiles%\ Windows Defender Advanced Threat Protection \ MsSense.exe” -RemotePort 443 -Protocol TCP -Action Block

在Windows中添加防火墙规则需要本地管理员权限,因此无法使用低权限用户帐户进行攻击。从下面的Microsoft Defender安全中心界面来看,一旦应用防火墙规则,就不会收到任何事件。

但是,似乎所有事件都在本地缓存中,因此一旦删除防火墙规则,事件和警报将开始显示在Microsoft Defender Security Center中。

最新回复 (0)
    • Ai云
      2
        立即登录 立即注册
返回