PrayingMantis(螳螂)组织很可能是一个使用自定义恶意软件并擅长规避检测的民族国家恶意行为者。在过去的一年里,研究人员发现,一个复杂且可能由民族国家支持的威胁行为者一直在利用面向公众的ASP.NET应用程序中的反序列化漏洞来部署无文件恶意软件,从而危害一些主要的公共和私人组织。事件响应公司Sygnia的研究人员将该组织命名为“螳螂”或TG1021。据悉,该黑客组织通过使用为互联网信息服务(IIS)网络服务器构建的自定义恶意软件工具集来执行凭据收集、侦察和横向移动任务。除此之外,该组织还在规避恶意软件检测方面付出了很多努力。“该活动的性质及其作案手法表明,TG1021是一位经验丰富的威胁参与者,具有高度的OPSEC(操作安全)意识,”Sygnia研究人员在一份详细报告中说。TG1021使用的恶意软件通过主动干扰日志记录机制、成功规避商业EDR和静默等待传入连接而不是连接回C2通道并持续生成流量来工作,显示出避免检测的巨大努力。此外,攻击者还主动删除了所有磁盘驻留工具,这些工具可以有效地用持久性换取不可见性。”新旧反序列化漏洞在编程中,序列化是将数据转换为字节流的过程,通常通过网络传输。反序列化是相反的该过程的一部分,并且像软件中的大多数数据解析操作一样,如果用户控制输入,它可能成为漏洞的来源。多年来,不安全的反序列化漏洞一直困扰着Java应用程序,但Java并不是唯一一种普遍使用反序列化的编程语言PrayingMantis利用的漏洞针对ASP.NET中的反序列化实现,ASP.NET是一种开源框架,用于开发托管在WindowsIISWeb服务器上的Web应用程序。ASP.NET有一种称为“VIEWSTATE”的机制,该框架使用该机制来存储状态和控件在POST请求期间发送到客户端的网页。它存储为隐藏名为“_VIEWSTATE”的输入字段。当客户端执行POST操作并将页面发送回服务器时,VIEWSTATE将被反序列化和验证。ASP.NET提供了一些安全和完整性检查机制来确保序列化数据有效,但它们的正确使用取决于开发人员的实现。研究人员发现PrayingMantis利用了CheckboxSurvey远程代码执行(RCE)漏洞(CVE-2021-27852),该Checkbox应用程序允许网站所有者进行用户调查。据悉,该组织发起攻击时,RCE漏洞仍处于0-day状态,影响了CheckboxV6及更早版本。虽然CheckboxV7从2019年开始可用且未受影响,但官方对CheckboxV6的支持直到7月1日才结束。CERT/CC的分析师在5月的一份咨询报告中表示:“在7.0版之前,CheckboxSurvey通过接受一个_VSTATE参数实现了自己的VIEWSTATE功能,然后使用LosFormatter对其进行反序列化。调查代码是手动处理的,因此ASP.NETVIEWSTATE服务器上的消息身份验证代码(MAC)设置将被忽略。如果没有MAC,攻击者可以创建将被反序列化的任意数据,从而导致任意代码执行。PrayingTheMantis小组似乎对反序列化漏洞有着非常深刻的理解,他们在横向移动和持久性活动中以多种方式使用了这种机制。例如,即使较新版本的ASP.NET支持VIEWSTATE完整性检查和加密,如果加密和身份验证密钥被盗或泄露,它们可用于重新感染服务器或感染托管相同应用程序的同一集群中的其他服务器,因为密钥是共享的。“在Sygnia的一项调查中,TG1021利用窃取的解密和身份验证密钥来利用IISWeb服务器。VIEWSTATE反序列化利用的流程几乎与上面解释的VSTATE漏洞相同,只是对VIEWSTATE数据进行了加密和签名而不是压缩”该小组还利用了依赖序列化的会话存储机制。ASP.NET允许应用程序将用户会话存储为MSSQL数据库中的序列化对象,然后为它们分配唯一的cookie。当用户的浏览器再次访问应用程序并保存其中一些cookie时,应用程序将从数据库中加载相应的会话对象并反序列化。攻击者通过访问IISWeb服务器(被上述漏洞破坏)来利用此功能进行横向移动,以生成恶意会话对象和关联的cookie,并将其存储在MicrosoftSQL数据库中。然后,他们向属于同一基础设施并使用同一数据库的其他IIS服务器发送请求,并在请求中包含恶意cookie。这会迫使在这些服务器上运行的应用程序实例从数据库中加载恶意制作的会话对象并将其反序列化,从而导致远程代码执行(RCE)。研究人员还观察到PrayingMantis利用其他应用程序中的反序列化漏洞,例如CVE-2019-18935,这也是一个RCE漏洞,源于JSON解析中的不安全反序列化,并影响名为TelerikUIforProductsforASP.NETAJAX的应用程序。Telerik是一套广泛用于Web应用程序的用户界面组件。此外,该组织还使用了另一个影响Telerik的较旧的任意文件上传漏洞(CVE-2017-11317)。为IIS黑客量身定制的恶意软件框架利用这些RCE漏洞反射性地将恶意DLL加载到易受攻击的Web服务器的内存中。然后,此DLL反射性地加载恶意软件组件。反射加载是一种将恶意DLL注入现有进程并挂钩其功能的技术。这种技术的好处是某些Windows机制(例如在运行时将DLL注册为模块)被绕过,文件实际上并没有写入磁盘;缺点是感染持久性差,因为流氓DLL只存在于RAM中,所以如果其父进程重启,它就会消失。由于此类Web服务器的正常运行时间较长,以持久性换取隐身性是一种有效的权衡。除了反射DLL加载器外,PrayingMantis有时还会使用Webshell来加载NodeIISWeb。当该组织利用CVE-2017-11317等文件上传漏洞而不是基于反序列化的远程代码执行漏洞时,这种情况更为常见,因为Webshell本质上是上传到服务器文件系统程序的恶意Web脚本/应用程序,可通过以下方式远程访问HTTP。PrayingMantis的webshell通常是短暂的,该组织在部署NodeIISWeb后立即将其删除。NodeIISWeb恶意软件挂钩到IIS输入验证功能,可以读取所有传入服务器的HTTP流量,从而为攻击者提供控制恶意软件的方法。因为攻击者可以通过这种HTTP机制发送命令,所以NodeIISWeb不会生成可以被流量监控解决方案检测到的命令和控制服务器的传出连接。也就是说,恶意软件程序为TCP、HTTP和SQL实施多种流量转发方法,允许它本身充当代理或命令和控制通道,以连接到同一网络中受感染服务器上运行的其他恶意软件实例,而这些实例不得直接暴露在互联网上。它还可以执行JScript有效负载并加载扩展其功能的附加DLL模块。NodeIISWeb通常用于部署另一个名为“ExtDLL.dll”的自定义Windows后门,可用于操作文件和目录、收集系统信息、加载和执行DLL以及实施代码注入和标记化操作等各种攻击技术。该组件还挂钩并操纵系统上存在的各种安全功能以隐藏其活动,包括防病毒扫描功能、事件日志报告功能、.NET代码信任检查和与PowerShell相关的注册表项。由NodeIISWeb和ExtDLL.dll加载的附加DLL模块之一称为“PSRunner.dll”,它允许PowerShell脚本在主机上运行而无需生成PowerShell进程。另一个叫做“Forward.dll”,可以实现HTTP流量转发功能。“PotatoEx.dll”是一个权限提升工具和ActiveDirectory映射工具,而“E.dll”是一个生成自定义HTTP响应的组件,允许攻击者验证攻击是否在目标IIS服务器上成功执行。PrayingMantis利用其对受感染IIS服务器的访问权限来修改现有应用程序的登录页面以捕获用户凭据并将其保存在单独的文件中,并且还部署了公开可用的攻击性安全工具,包括直接加载到内存中而不留下痕迹的SharpHound和PowerSploit。该组织还被发现使用受损的域凭据通过SMB访问内部服务器上的共享文件夹。PrayingMantis检测和预防由于其驻留在内存中的恶意软件的易变性,以及该组织对操作安全性的深刻认识,检测PrayingMantis活动并不容易。Sygnia研究人员建议修补.NET反序列化漏洞,搜索报告中发布的危害指标,使用旨在检测该组织工具的YARA规则扫描面向Internet的IIS服务器,并积极寻找IIS环境中的可疑活动。验证ASP.NETVIEWSTATE的使用或相同机制的自定义实现(例如CheckboxSurvey中的压缩VSTATE)对于保护ASP.NET应用程序免受VIEWSTATE反序列化漏洞的攻击至关重要。IIS配置中的enableViewStateMac变量应设置为“True”,aspnet:AllowInsecureDeserialization变量应设置为“False”。注册表项AspNetEnforceViewStateMac应设置为“1”,并且应小心处理加密和身份验证密钥。服务器应使用自动生成的密钥或定期更换IIS服务器上的机器密钥,以减少因密钥被盗或泄露而导致误用的可能性。“如果您的Web应用程序使用ASP.NET会话状态,请确保只能从合法网络位置访问数据库。如果可能,在不同的IIS服务器/Web应用程序之间分离会话状态MSSQL数据库,或者创建具有适当的最小CRUD权限的不同SQL用户.确保您的.NETWeb应用程序使用指定的应用程序池标识以尽可能低的权限运行。这可能会增加TG1021组的难度。”除了Sygnia发布的报告外,2020年6月,ACSC还发布了一份报告,详细介绍了国家支持的威胁组织“复制粘贴”针对澳大利亚公共和私营部门组织的策略、技术和程序。该报告声称复制粘贴使用了各种反序列化漏洞,特别是MicrosoftIIS服务器中的TelerikUI漏洞和VIEWSTATE处理。这是妥协和攻击技术的指标,与Sygnia观察到的PrayingMantis活动部分重叠。两者之间是否存在联系目前尚不得而知。来源:csoonline
