端点安全系统针对APT攻击的实证评估(下)

admin 2022年5月3日14:33:02评论43 views字数 12207阅读40分41秒阅读模式

写在前面:文章最后,对所有被测安全产品做了总结,大家可以直接查看结果,了解目前端点安全产品的能力情况。


4.17 McAfee Endpoint Protection

       McAfee Endpoint Protection是最容易配置、技术人员最友好的解决方案之一,允许对特定的进程行为做出反应,例如,远程内存分配;但也会基于例如阻止程序注册表自动运行这样的方便选项,减少攻击者选择,主动消除威胁。我们决定使用这种配置,挑战McAfee Endpoint Protection 全部功能,仅仅取消一条阻止规则,就是例如桌面等常见文件夹的可执行功能。这个选择背后的理由是可用性,因为激活这个规则在日常环境中导致很多可用性的问题。

       在我们的实验中,我们成功使用直接系统调用绕过限制,并远程分配和运行内存。后者表明遥测提供商和信息处理效率不高。

4.17.1 功能开启

       对于EPP功能,我们决定挑战McAfee,因为它提供了大量的设置和很多高级用户选项,例如内存分配控制等。非常有趣的是缺省生成一些策略去阻止可疑活动,如我们执行HTA。我们选择开启所有配置,除了阻止用户文件夹的执行权限,那会在公司环境中引起问题。

4.17.2 HTA-CPL

       发现并阻止了HTA和CPL攻击。然而,需要注意HTA攻击被阻止,是因为阻止了所有HTA文件的策略。

4.17.3 EXE-DLL

       EXE和DLL攻击都成功执行,没有发现,也没有产生任何遥测。


4.18 McAfee Endpoint Protection + MVision EDR

       除了上述测试,我们在McAfee工程师的协助下,对包含EDR功能的最新版本做了测试(MVision EDR)。

4.18.1 功能开启

       在McAfee工程师协助下,策略配置成最佳安全。

4.18.2 DLL-EXE

        这两种攻击没有触发任何报警。

4.18.3 CPL-HTA

       和前面的实验一样,CPL被阻止。在HTA攻击中,检测到低报警,但没有阻止。本次工作验证了EPP的最初结果,EDR有一个小的报警。


4.19 Microsoft Defender Endpoint

       Microsoft Defender Endpoint版本非常依赖内核模式,而不是用户模式,实现强大的检测能力。Microsoft Defender Endpoint的美妙之处是,大多数检测功能位于Windows自身,安装后才能使用。测试中EDR设置成阻止模式,而不是仅仅检测。遥测源包括wdfilter.sys微型过滤驱动使用的内核回调。就如以前提到的,一旦条件符合,回调设置成‘中断’行为,例如当模块加载时。需要考虑的例子:

  • PsSetCreateProcessNotifyRoutine(Ex) – 进程创建事件

  • PsSetCreateThreadNotifyRoutine – 线程创建事件

  • PsSetLoadImageNotifyRoutine - Image(DLL/Driver)加载事件

  • CmRegisterCallback(Ex) – 注册表操作

  • ObRegisterCallbacks – 句柄操作 (例如: 进程访问事件)

  • FltRegisterFilter - I/O 操作(例如: 文件系统事件)

       还包括一个内核级的ETW(Event Tracing for Windows,Windows 事件追踪)提供程序,而不是用户级的hook。既然由于内核补丁保护功能,无法hook系统服务调度(SSDT)表,这可以用来检测恶意API使用情况。进行下一步工作之前,我们应该注意Kaspersky采用不同的方法,用自己的虚拟机hook内核,这样做有好几个缺点,要求支持虚拟化。

       自从Windows 10 RS3以来,NT内核使用EtwTi函数实现各种API,但常常被滥用于如进程注入、凭证盗取等。通过安全Etw通道使用遥测,因此Microsoft Defender Endpoint 非常依赖EtwTi,在某些情况,例如遥测数据甚至只依靠EtwTi。

       参考EtwTi探头的例子,Microsoft Defender Endpoint被动模式下,在主机上运行我们的EXE payload 产生的报警。注意虽然我们的payload使用直接系统调用,但检测到了我们的注入。

       由于回调运行在内核模式(ring 0),攻击者需要在机器上,执行高完整性级别代码,才能成功地屏蔽回调或使其失效。攻击者也许选择下列三种技术之一来实现这个目标:

  • 在存储所有地址的内核回调数组中,把回调任务的地址清零

  • 注销WdFilter.sys 注册的回调例程

  • 使用RET(0xc3)指令或hook,修复WdFilter.sys 回调例程

       由于EtwTi探头遥测的特点,不可能在medium-IL环境中屏蔽源,需要管理high-IL环境,一旦完成这个目标,攻击者可以使用下列任何一种方法:

  • 通过在EtwTi函数头插入RET/0xC3 指令,修复特定的EtwTi,使其直接返回而不是进一步执行。不是KPP安全,而是攻击者一旦完成目标,可以只通过恢复函数最初状态来避免目标机器蓝屏。理论上,补丁保护(patchguard,Windows 内核保护程序)可以在任何时间触发,但实际上,在这么短的时间间隔内,补丁保护被触发的几率非常低。

  • 破坏EtwTi句柄

  • 关闭EtwTi 提供商

       和Microsoft沟通后,我们执行了三次测试迭代,查看在和他们团队合作,多次更新的情况下,他们对攻击的应对,结果也做了分别呈现。

4.19.1 功能开启

       我们开启所有基本功能,包括篡改保护、阻止模式选项和自动调查。大多数在后台处理,管理员能配置连接,调整哪一个在范围之外。我们也开启文件和内存内容云分析,对可疑文件上传到云,并检查他们。


4.19.2 初次实验

CPL-EXE-HTA 

       这些攻击只要访问磁盘或开始执行,就能被检测到。

       注意.cpl文件,尽管EDR检测到,仍然能够执行,实现全功能beacon会话。

DLL

       DLL 测载(side loading)攻击成功,EDR没有生成报警,也没有任何可疑时间线事件。连接到我们恶意软件域,未阻止加载模块。


4.19.3 第一次更新-同样payload

CPL

       在新测试中,检测到CPL攻击,但没有阻止。重复了最初测试的行为。

DLL-EXE-HTA

       新测试中,检测并阻止了这三种攻击。


4.19.4 第二次更新-同样的技术,但修改了入侵指标(IOC)

CPL

       我们注意到,修改后的IOC,检测到了CPL攻击,但没有立刻阻止。事实上在内存中被defender阻止之前,payload 运行了15分钟。

DLL

       在修改后的实验中,我们选择更改Microsoft Team目标二进制文件,以便使用许可用户界面。和第一次更新测试对比,攻击成功,没有检测到。

EXE-HTA

       检测并阻止了这两种攻击。


4.20 Minerva Labs

       Minerva Labs 是这个市场的新玩家,主要的目标是在目标模拟和欺骗的基础上,基于用户模式进行阻止。这背后的主要想法是Minerva Labs使用好几个模块去检测和阻止病毒,包括沙盒检测恶意软件,发现目标环境,进程注入检测和LOLBin 使用阻止。

       一般来讲,产品使用多层防御方法。前面提到的LOLBin 检测就是一个最好的例子,假设一个恶意的LOLBin类文件,如CPL或HTA放到了用户可写目录,不管其是否恶意都会被阻止,像更改了扩展名的文本文件,或者具有签名的cpl文件,如appwiz.cpl。根据使用cpl文件创建进程的下一步,有点像Carbon Black采用的方法,将检查其他的模块,如进程注入阻止。这里面的理念是通过右键点击进程,定制白名单功能来阻止误报和应用控制功能,彻底阻断ring3 的rootkit。

4.20.1 功能开启

       我们使用Minerva提供的所有模块,包括EDR产品自带的规则集。工程师证实了租户功能有效。

4.20.2 EXE

       .exe 使用直接系统调用,无法被检测,还使用一个werfault 进程,具有任意的父进程,没有异常。

4.20.3 CPL 

       .cpl文件被LOLBin保护功能阻止,但用来注入自身的技术没有被阻止.

4.20.4 HTA-DLL

       HTA文件在LOLBin执行级别和注入级别都被阻止。而且,DLL文件在进程注入级别被阻止。


4.21 Panda Adaptive Defense 360

       Panda是著名的厂商,被Gartner在2019年和2021年归为端点安全市场的“利基玩家”。它的检测基于内核回调和ETW,给用户提供一个攻击路径全景的界面,厂商提供“统一EPP和EDR功能,对组织内运行的所有端点进程100%分类和有效检测“。

4.21.1 功能开启

       生成最大限度主动防御策略。

4.21.2 CPL

       检测并阻止了CPL 攻击,但只有主机发出报警。

4.21.3 EXE

       攻击成功,一段时间之后才生成报警。

4.21.4 DLL-HTA

       这两个攻击都成功,没有报警。


4.22 Palo Alto Cortex

       Palo Alto Cortex 是目前市场上最吸引人的方案之一,因为他们宣称扩展到下一个级别的检测和功能,如多级检测方法,包括hook和内存保护。Palo Alto 也是网络保护市场的领先者,他们主要的目标向整体思路转变。

4.22.1 功能开启

       我们的配置包括阻止漏洞利用尝试、恶意软件、PE检查,充分利用方案中云集成分析。我们选择行为隔离和数据收集实现调查(Pro版本功能)但缺省不收集遥测。

4.22.2 EXE

       WildFire(Palo Alto 云沙箱产品) 分析发现zoom.exe是友好的,但行为分析在运行时阻止了它,精确地指出这是基于异步过程调用(APC)的注入攻击和使用系统调用。

4.22.3 CPL-DLL-HTA

       EDR对三种攻击都没有检测也没有阻止。


4.23 Sentinel One

       Sentinel One有一个复杂的基于AI的分析功能,让偷偷入侵和工具执行非常困难。Sentinel One收集ETW遥测,监控系统的所有部分。使用内核回调来收集信息,如创建进程、加载iimage、创建线程、句柄操作、注册表操作等。也有详细攻击路径和进程树图谱。

       而且,Sentinel One最近发布了新的自定义检测引擎,叫作STAR。使用STAR定制引擎规则, Sentinel One自己的EDR数据收集和查询机制,称为深度可见性,SOC团队能把来自深度可见性的查询变成自动化狩猎规则,规则匹配时,触发报警和响应。STAR允许用户以自动化的方法查看每个端点收集的事件,根据一系列规则评估事件。

       然而,我们的结果表明,Sentinel One在处理基于PowerShell 的漏洞后利用活动有严重问题,因此,只要使用IEX cradle,可以轻松运行PowerView等工具。

4.23.1 功能开启

       我们决定开启所有功能,包括静态和行为AI、脚本、横向移动、无文件威胁检测等。我们进一步开启深度可见性提供的所有功能,除了全盘扫描和数据掩盖。我们也选择终止进程和隔离文件。

       Sentinel One有一些新功能,当第一次测试时,还处在测试模式。意味着还不可用,要求开启定制配置。

4.23.2 EXE-HTA-CPL

       特别注意的是,这些攻击都没有生成报警。当开启测试功能,所有三个攻击被阻止,EDR针对payload的核心,也就是Shellcode本身,这些功能现在都集成到EDR中。

4.23.3 DLL

       只要Microsoft Team安装文件夹访问磁盘,就会触发报警,提醒恶意DLL没有签名,会是潜在风险。

       我们DLL的高熵值被检测为IoC。IoC是正确的,因为我们的shellcode是AES加密。需要注意上一个实验使用低熵文件(使用XOR 编码)通过了测试,没有触发任何问题,表明实际问题由于DLL的高熵值导致的。


4.24 Sophos Intercept X EDR产品

       Sophos Intercept X是最有名和最可信任的防病毒/EDR产品之一。以前用来做用户模式hook规避的测试用例。EDR版本提供事件的完整视图和非常详细遥测,有友好的界面,深刻的视图。

4.24.1 功能开启

       在Sophos 的测试中,配置非常简单,因此我们开启所有功能,提供防护,不影响可用性问题。

4.24.2 EXE

       这是唯一能完美工作的攻击。事实上,产生了一个微小事件,由于它的不信任的性质,因为没有签名。PPID欺骗生效,没有报警,但Sophos记录了werfault.exe的活动。

4.24.3 DLL 

       不幸的是,恶意的DLL无法加载,而且EDR没有报警。有趣的是,文件夹里没有DLL文件,应用程序正常执行。我们估计由于EDR的进程保护功能,有一些干扰,因为payload功能正常。

4.24.4 CPL

       只要执行.cpl,就会产生报警,进程被阻止。生成攻击路径。关于系统活动,生成了详细的遥测。

4.24.5 HTA

       只要iexplorer.exe 访问和下载hta文件,动作就会被阻止,再次生成详细的攻击遥测。


4.25 Symantec Endpoint Protection

       Symantec Endpoint Protection 是著名的解决方案,也是多个行业使用最多的解决方案之一。结合了高度复杂静态检测引擎和模拟器。后者考虑到反逃逸技术,解决打包的恶意软件混淆技术和检测隐藏在定制包里的恶意软件。Symantec Endpoint Protection 使用机器学习引擎,通过学习过程,决定一个文件是友善或者恶意。Symantec Endpoint Response 训练这个引擎,识别恶意属性,定义机器学习引擎规则来进行检测。Symantec 使用云服务来确认机器学习做出的检测。为了保护端点设备,通过早期启动防恶意软件(Early Launch AntiMalware ,ELAM)驱动,在开机就运行特定的防恶意软件机制,在第三方驱动初始化之前,阻止恶意驱动和rootkit的行为。EDR配置非常灵活,适用于企业的日常运营,带有强大的HIDS和网络监控,能帮助发现和阻止网络横向移动、端口扫描、及其他常见恶意软件行为,例如meterpreter缺省使用的HTTPS通讯。

4.25.1 功能开启

       我们开启缺省功能,足够提供合适防护,不会引起问题。

4.25.2 HTA

       在我们攻击中,Symantec Endpoint Protection 发现和阻止HTA 攻击,没有报警。

4.25.3 CPL-EXE-DLL

       这三个攻击都成功,没有被发现、阻止或报警。


4.26 Symantec Endpoint Security (SES)完整版

       和Symantec Endpoint Security 相比,完整版提供EDR遥测,以及在EDR中发现事件的更多洞察。

4.26.1 功能开启

       Symantec Endpoint Security 完整版由好几个模块组成,不同的策略负责每个模块功能。可用策略和他们配置分别如下:

  • 漏洞防护-MEM 策略:我们使用活跃模式的缺省配置,不需要其他管理员定义应用

  • 防火墙策略:没有特别需要进一步调整缺省防火墙策略

  • 检测和响应:目标是最大限度的遥测,日志收集和存储方面不需要优化。作为主动防御手段,我们对于两个LolBin记载大量日志

  • 自适应防护策略:我们拒绝所有MITRE对应技术,包括RUnDll32的http流量阻止

  • 恶意软件策略:我们提高阻止水平到3,监控水平到4,提高检测效率和降低误报率的常见措施。

  • IPS 策略:启用没有白名单的模块

  • 系统策略:使用开启篡改防护的缺省策略

  • 完整性策略:开启完整性检查

4.26.2 HTA

       HTA攻击被检测和静态阻止

4.26.3 CPL-DLL-EXE

        虽然所有三种攻击被检测到,生成了一个报警。Symantec Endpoint Security完整版没有阻止,虽然“RunDll32阻止HTTP流量”的规则设为开启。


4.27 Trend Micro Apex One

        Apex One是个著名的方案,被Gartner评为领先者。除了基本的防护和防火墙功能之外,所有的功能包括预测性机器学习,可用于离线防护。轻量级离线模式有助于保护端点抵御未知威胁,即使和互联网断开。安全代理软件策略提供增强的实时防护,利用增强的内存扫描发现可疑进程行为,防御最新的无文件攻击方法。安全代理软件能中止可疑进程,防止破坏。增强的扫描功能,可用来识别和阻止运行在终端上针对文档的勒索程序,你能配置安全代理软件,把以前无法识别包含未知威胁的文件提交给虚拟分析器,做进一步分析。评估目标之后,虚拟分析器把检测到的、含有未知威胁目标,添加到虚拟分析器可疑目标名单,并把这个名单分发到全网。最后,行为监控持续监控端点,发现对操作系统和安全软件的异常修改。

       根据我们的研究,Apex One利用网络、内核回调、hook、在内核模式和用户模式、ETW、AMSI(Windows 反恶意软件扫描接口)执行行为检测。更具体地说,对于ETW, Apex One 使用称为TMSYSEVT ETW的数据收集器。

4.27.1 功能开启

       Apex One中,我们尽可能多地使用策略编辑器中提供的功能,例如EDR智能扫描方法、智能文件扫描、扫描压缩文件、OLE 对象扫描、intelltrap(实时打击恶意软件压缩功能)、勒索软件防护(针对勒索软件行为防护,我们测试不需要)、防漏洞利用、新程序监控、C&C流量过滤、当然,预测性机器学习。最后,我们将EDR配置为阻止所有恶意行为。

4.27.2 EXE-DLL-CPL-HTA

       在Trend Micro 协助之下,我们在给定环境执行实验。所有攻击方式都成功了。然而,生成三个低严重性报警,例如HTA或CPL文件被打开,后者不是一定意味着存在恶意软件。


4.28 结果总结

       下表描述了我们发现的结果汇总。很显然,我们发动了112次攻击,超过一半都获得成功。值得惊讶的是只有少数EDR检测所有攻击。更准确地说,大多数都成功攻击,没有报警,至少提醒团队有攻击发生。甚至还有很多情况,成功攻击,但报警不同,说明这些方案的阻止能力和期待的有很大距离。


端点安全系统针对APT攻击的实证评估(下)

 

✔️:成功攻击;攻击成功,中等报警;.攻击成功,最小报警;★攻击成功,有报警;攻击失败,没有报警;×攻击失败,有报警;†厂商协助的两个实验中,第一次5小时后检测,第二次25分钟;由于文件签名,第一次测试被阻止,第二次用其他应用成功;▽检测到攻击,15分钟后阻止;+被文件类型阻止(LOLBIN模块),但技术成功通过。


5 篡改遥测提供商


       除了发现每个EDR‘盲点’,还可以选择以各种方法篡改遥测服务提供商数据来‘蒙蔽’他们。Iceberg 的小技巧就是不使用用户模式hook,而使用系统调用来逃脱检测。大多数EDR的核心部位都位于操作系统内核,因为他们使用微型过滤器驱动来控制文件系统操作和回调,常常拦截例如进程创建和加载模块等活动。作为攻击者,一旦实现高完整性,可以用多种方式,有效地攻击EDR,包括为微软Defender for Endpoint防御程序的ETWTi功能打补丁,删除Sophos Intercept X的回调,以执行黑客工具,保持不被打断。注意在下列POC中,我们的目标是在EDR控制台不产生报警,已经成功实现。


5.1 攻击 Defender for Endpoint

       下边,我们发动两种攻击,都是使用WinDBG手动执行。为逃避PatchGuard的保护机制(PatchGuard是Windows Vista的内核保护系统,防止任何非授权软件试图“修改”Windows内核),我们快速执行所有操作,避免引入能触发EDR的噪声。注意的是,在这个测试中,EDR处于被动模式,我们只对不产生报警感兴趣。

5.1.1 手动修正回调,加载未签名的驱动程序

       在这个案例中,我们将手动修正PspLoadImageNotifyRoutine 全局数组的部分内容,这个数组存储加载镜像时,所有已注册回调例程的地址。通过修正SecPsLoadImageNotify的回调,它使用mssecflt.sys驱动来注册,我们基本上欺骗了EDR,可以加载自己想要的驱动程序。

       在这里我们需要郑重声明的是EDR如何检测强制驱动签名(Driver Signature Enforcement,DSE)被关闭了。奇怪的是,一旦未签名驱动被加载,可能触发DSE被关闭的报警。因此,既然未签名驱动被加载,微软 Defender for Endpoint 假设DSE被关闭了。

       然后,回调被修正之后,我们将把全局变量g_CiOptions值清零,其缺省值是0x6,表示DSE是开启状态。我们用OSR驱动加载程序,加载了我们的驱动,然后我们重置g_CiOptions,修补回调,避免PatchGuard 检查出问题,因此我们的系统崩溃了。

5.1.2 手动修正一个ETWTi函数来Dump LSASS,没有报警

       在这个POC中,我们手动修正 EtwTiLogReadWriteVm函数,其负责 NtReadVirtualMemory 系统调用的遥测,从MiniDumpWriteDump调用,许多LSASS dumping 工具使用。我们正在使用Outflank-Dumpert 工具通过直接系统调用来dump LSASS内存,也许会绕过大多数常见EDR,但不包括Microsoft Defender for Endpoint。

       下面,我们遵循实现秘密LSASS dump 的步骤。注意我们如何将虚拟地址转换为物理地址以成功地执行我们的修正。这是因为这是我们想要写入的只读页面,任何强制尝试写入都将导致死机蓝屏。然而,我们可以毫无问题地写入物理地址。值得注意的是,可能会生成时间轴事件,不会触发报警,SOC也不会进一步调查。

5.1.3 进一步攻击

       上述之后,我们应微软要求,执行了好几个攻击,包括篡改Microsoft Defender Endpoint,我们及时通知微软Microsoft Defender Endpoint 容易受到好几个攻击,大部分攻击来自签名驱动程序。一个典型例子是PowerTool(详情见5.3节),它可以在没有任何报警或阻力的情况下,崩溃Microsoft Defender Endpoint。实际上,只需在Microsoft Defender Endpoint服务/进程上单击右键,并删除关键可执行文件就可导致其崩溃。在我们的通知中,我们注意到微软发布了特定的攻击面减少(ASR) 规则,但没有认可我们的报告,因为他们声称在我们通知之前就开始开发补丁了,发布内容和我们的报告一致。


5.2 攻击Sophos Intercept X

       对于这个EDR,我们的方法完全不同。我使用一个合法有签名的驱动程序,但本身有漏洞,通过攻击这个驱动,我们也许可以访问内核,加载一个定制的未签名驱动程序。我们正在使用的工具是TelemetrySourcerer,将给我们提供未签名驱动,帮我们挂起回调,我们通过一个应用和它通信,得到一个图形界面,而gdrv-loader,利用有漏洞的驱动程序,加载我们的驱动。除了Sophos Intercept X,TelemetrySourcerer还可以用于本次工作中的其他EDR。但为了简单和清晰,我们只在这个EDR用例中使用它。注意这些测试中EDR设置成阻止模式,但我们尽量绕过它,完成我们的测试,不引发报警。

       一旦我们使用sophosed.sys驱动,挂起了所有的回调,EDR无法监控、创建进程和文件系统活动。因此,一个人可以很容易在工具上执行任意代码,EDR不会发现他们。例如,你可以启动Mimikatz而不被中止,很清楚的表明EDR没法‘看见’这个程序。

       尽管如此,用户模式hook仍然存在,因此,像AQUARMOURY 的Shellycoat,Cobalt Strike的Unhook-BOF这样的工具,可以针对特定进程或beacon,在当前的进程删除他们。


5.3 攻击BitDefender

       在这个测试中,我们使用一个“合法工具”,从内核触发进程中止,成功中止所有BitDefender相关进程,导致产品关闭,控制台没有任何警报。最后,我们使用PowerTool,是一个开源防病毒和rootkit软件。提供检测、分析和修复各种内核结构修改能力,支持广泛内核范围。使用PowerTool,一个人能很容易的发现和移除隐藏在正常软件里面的恶意软件。本测试里面的概念是使用具有签名的防御有关工具,使用内核杀掉保护机制。为验证结果,我们执行mimikatz,千万记住,篡改内核也许会引起某种不稳定,意味着这个工具会触发蓝屏死机。

       至于驱动程序的内部工作,使用的技术非常普通。它使用ZwTerminateProcess() API结合几个其他API杀掉进程,访问感兴趣的进程。也许本例中最重要的是KeStackAttachProcess(),它在中止之前,附加到目标进程的地址空间。需要强调的是,实际情况中APT也使用类似方法。


5.4 攻击FortiEDR

       在我们的实验中,我们注意到一个行为,可以用来攻击FortiEDR。更准确地说,我们注意到虽然FortiEDR设法阻止恶意的内核攻击,名字是WindowsD, 但没有立刻做。这给我们提供了足够大的机会窗口,完全可以关闭DSE,WindowsD是一个第三方“越狱”,因此管理员能删除一些现代Windows版本引入的侵入性的防御功能,目前,它能关闭:

  • 驱动签名,包括仅限微软Windows 硬件质量实验室(Windows hardware quality lab, whql) 锁定系统(安全启动平板)

  • 受保护的进程(用于DRM(数字版权管理),“WinTcb”)

  • 一些软件、甚至windows自己使用的,只读、“没有漏洞”的注册表键值 

       它的主要目的是入侵有签名的、合法但有漏洞的驱动,以便访问内核,在ring0层执行“越狱”。本次测试中,我们将安装工具关闭DSE,为没有签名的驱动创建一个服务。

       根据EDR报告,触发了报警,攻击最后被阻止了,但WindowsD成功运行。这允许我们从内核模式注入FortiEDR进程来关闭它,有意将其失效。使用kinject驱动,我们使用异步过程调用(APC)执行内核模式shellcode注入,安装驱动之后,对所有三个进程注入一个Windows 计算器(calc) shellcode文件,虽然FortiEDR的进程看起来仍在运行,但实际已经变成“砖块”。

       需要注意的是,在Microsoft Defender Endpoint使用上述方法,能注入到MsMpEng和LSASS,从自己本身dump,而Microsoft Defender Endpoint不会有任何报警或阻止行为。

6 结论


       通过这项工作,我们使用高级威胁攻击者运用的一系列攻击方式来入侵组织。借助这些工具,我们评估当前EDR解决方案的状态,评测他们的响应,以及产生的遥测。我们对每个EDR做了概述,用来检测和响应事件的措施。非常惊讶的是,我们发现大多数EDR无法有效地检测和阻止我们实施的四种攻击,事实上,DLL测载攻击是最成功攻击,因为大多数EDR无法检测,更别提阻止了。此外我们也表明,通过攻击他们位于内核的核心驱动,可以有效的蒙蔽EDR。未来的工作,我们计划评估正确率、误报率、错误率,测量蓝队在真实世界中面对的噪声。此外还要衡量EDR响应时间,因为一些EDR可以报告攻击,但延迟严重。即使已经缓解了他们。这些方面可以明显影响蓝队工作,无法得到所需结果。

       除了Kaspersky hook方案,厂商还有其他方法,但可能有稳定性问题。然而,大多数厂商更喜欢用云沙盒来分析,因为这可以阻止算力过载。注意攻击者可以使用签名驱动程序和虚拟机,例如kaspersky 发动他们攻击,hook内核,没有问题的rootkit

       不幸的是,没有方案能给组织提供完整安全。尽管在网络安全取得显著进步,一个组织需要部署大量工具来保证安全,不能仅仅依靠一个方案。而且,还要手动评估安全日志和事件从整体来阻止网络攻击。特别是APT。由于APT的特性,特别强调人的因素,在许多情况中,人是安全链中最薄弱的一环,常常被作为初步访问组织的方式。

       组织必须加大对蓝队的投资,这样才不会仅仅依靠单一工具,学习应对更多威胁。这会提高他们的能力,提高门槛,阻止很多威胁攻击者渗透他们的系统。此外在用户意识和培训方面增加投资,了解攻击者的手法,会提高组织整体安全水平。最后,在安全方面引入机器学习和AI,把研究人员已经采用的重要步骤,有望改善蓝队在缓解网络攻击方面的平衡。先进的特征识别和关联算法正在安全方案中暂露头角,特别是EDR,在早期阶段检测和阻止许多网络攻击,降低潜在影响。

       在当前EDR中,紧密地集成机器学习和人工智能,必须伴以解释性框架。后者也许帮助研究者和实操者理解误报率背后的原因,加快减少他们。此外,使用这种信息作为数字证据,在法庭上正确辩论有着潜在用途,在不久的将来,促使更多研究者在这个领域投入更多努力。最后,有效地收集恶意软件,是一个挑战,除了必须处理的数据准确性之外,他们的数量和速度意味着进一步的限制。安全机制不仅要及时地应用,还要无缝集成,这样才不会影响运行的应用程序和服务。因此,研究者必须发现更好的样本和特性抽取方法来武装EDR,允许他们不会影响监控系统可用性和操作的情况下,收集必要的输入。


(完)

原文始发于微信公众号(安全行者老霍):端点安全系统针对APT攻击的实证评估(下)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月3日14:33:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   端点安全系统针对APT攻击的实证评估(下)https://cn-sec.com/archives/970318.html

发表评论

匿名网友 填写信息