时间:2022-12-14 08:27 / 来源:未知
DeathStalker组织实施的VileRAT攻击持续对加密货币交易组织发起攻击(上)早正在2020年8月下旬,就有探求职员宣告了DeathStalker的营谋申诉,席卷Janicab、Evilnum和PowerSing营谋。同时,正在2020年8月,探求职员还初度宣告了一份闭于VileRAT的个人申诉。VileRAT是一种Python植入轨范,是特意针对外汇和加密钱银来往公司一种高度繁杂的攻击营谋,其幕后攻击者便是DeathStalker。
自2020年6月初度被创造此后,DeathStalker确实一直行使和更新其VileRAT器材链来对于类似类型的标的。并且DeathStalker近来能够会加鼎力度行使此器材链来摧毁标的。自2022年3月此后,探求职员仍旧识别出更众与VileRAT相干的恶意文献和新根柢办法的示例,这能够是攻击考试减少的征兆。
早正在2020年夏季,DeathStalker的VileRAT的攻击就席卷发送给外汇公司的鱼叉式搜集垂纶电子邮件。假使标的上钩,充作的脚色会正在某个时间遵照央求供给指向托管正在GoogleDrive上的恶意文献的链接(伪装成PDF或ZIP存档的Windows飞疾形式文献),行为身份证据文献,然后,恶意链接将触发任性体例敕令的推广,以开释无害的诱饵文档,以及咱们称为VileLoader的恶意且非凡繁杂的二进制加载轨范。
起码从2021岁终开首,攻击技巧略有蜕化,但最初的攻击引子照旧是恶意音信:通过电子邮件向标的发送Word文档。2022年7月,攻击者行使嵌入正在标的公司群众网站中的闲话木马向标的发送恶意DOCX。
DOCX文档通常行使“合规性”或“投诉”闭节字来定名,这讲明攻击者正正在回复识别央求或外达某个题目行为发送它们的出处。
最初的DOCX攻击文档自身是无害的,但它包括指向另一个恶意和启用宏的DOTM文档的链接行为“长途模板”。掀开DOCX时,Word会自愿下载这些DOTM文献,假使收件人启用了推广,则会触发其嵌入的宏。
恶意DOTM长途模板行使VBAstomping技巧来埋伏嵌入式宏的代码。VBAstomping使可编辑的VBA源代码(即宏的可睹代码)分歧与实质推广的代码。这是能够的,由于可编辑源代码和被称为p-code的进程转换的内部版本都嵌入正在启用宏的文档中。因为行使了VBAstomping,将要推广的真正宏代码对圭臬器材(MicrosoftWord的宏编辑器材以及OLETools)是埋伏的。
这种技巧有一个首要的节制:埋伏的宏(即内部p代码)惟有正在启用宏的文档行使天生它的类似Office版本掀开时本领推广。不然,埋伏的宏将无法运转,而将推广可睹的宏。正在终末一种境况下,DeathStalker确保它会向用户弹出一条音信。但最首要的是,DeathStalker确保将众个攻击文档变体传布给标的,每个变体都针对特定的Office版本举办打定。
正在任何境况下,可睹和埋伏的宏城市下载一张图片来庖代陶染文档中的社会工程音信,并哄骗读者确信某些事项式微了。
然而,正在后台,假使VBAstomping有用,嵌入DOTM的宏会行使WMI缄默采集相闭安置正在标的估计机上的安适产物的讯息,将它们发送到敕令和限定(C2)任事器,解码并开释文献,然后最终推广咱们称为VileDropper的恶意污染JavaScript(JS)后门。
嵌入DOTM的宏自身仍旧揭示了少许风趣且全体的技巧。它被细小污染,由于大无数文本字符串都是XOR编码的,其暗码源自一个句子,比如,“OperatesCatholicsmalltownspueblosTwoof”。
另一个值得预防的性格是,嵌入DOTM的宏通过向固定的C2URL发送HTTPGET央求来指示推广历程中的发扬或差池。风趣的是,VBA宏中的全盘HTTP央求都是行使长途图片插入函数触发的。
正在任何境况下,嵌入DOTM的宏最终城市触发VileDropper的推广,行使“WScript”评释器的重定名副本(“%APPDATA%”文献夹中的“msdcat.exe”或“msgmft.exe”),行使如下敕令行为:
第一次运转VileDropper起码必要两个参数,第三个参数可能用作触发特定情况推广蜕化的符号,全体取决于安置正在标的估计机上的安适产物:
第一个是局限暗码(用于解码XOR编码的数据),第二个是一个编码的有用负载文献的旅途(包括VileLoader及其配套的shellcode)。
VileDropper还会搜检它的评释器和文献名,假使它没有按安插挪用,则顿时终了推广,这能够是为了规避沙箱检测:
VileDropper的实在推广流程取决于标的估计机上安置的安适产物,但大无数时间,它将自身复制到另一个文献,从新启动自身,并删除其原始副本。正在推广VileDropper时候:
1.采集相闭标的情况的附加数据(行使WMI)以及天生标的标识符并将它们发送到C2任事器;
3.布置一个职分正在35到65秒后运转VileLoader,之后每3小时45分钟运转一次。
1.u,标的标识符:标识符是标的登录(%USERNAME% 情况变量)和估计机 UUID(正在 WMI 查问的第一个结果中获取的好似 UUID 的自界说暗示形状:SELECT UUID FROM Win32_ComputerSystemProduct)。然后这个好似 UUID 的值是 base64 编码和 URL 编码的。因为标识符天生逻辑的固定长度和填充,标识符的最终形状老是 48 个字符长。
2.d,一个硬编码的 VileDropper 标识符,它能够指定一个营谋或版本(比如,“9745B355”)。
由VileDropper调整的职分(其名称因样例而异,如“CDS同步”或“UpdateModel职分”)会触发以下类型的推广敕令:
敕令行中方括号之间的字符(比如[u])指定相应JSON项的实质,即[u]是编码的标的标识符。
正在不停会商VileLoader之前,请预防VileDropper行使XOR编码计划来守卫发送到C2任事器的数据,由于好似的计划将正在从此行使。该算法天生的数据块组织如下,有时还会进一步举办base64编码和URL编码:
天生的blob是自给自足的,而且可能由接受者解码,而无需访谒预共享密钥。正在VileDropper中,行为JavaScript污染的一局限编码的字符串受益于格外的异或:嵌入数据blob中的异或密钥还行使特定于剧本的固定暗码举办了异或,此固定暗码的一局限被转达给VileDropper正在攻击链中的前一个DOTM宏推广的敕令行上,另一局限正在VileDropper中硬编码。
VileLoader它自2020年第2季度就被揭晓,初度公然纪录为dddp.exe,但往后无间正在一直更新和庇护,而且正在撰写本文时照旧安排正在VileDropper上。VileLoader的重要标的是从C2任事器下载并推广格外的有用负载。固然咱们只观测到它触发了VileRAT的推广,但加载轨范正在技巧上可能下载并推广其他植入轨范。
近来的VileLoader示例是由一个二进制可推广文献(第1阶段)和一个编码的配套shellcode文献(第2阶段)构成。以前的VileLoader示例平日将shellcode直接嵌入到二进制可推广文献中,并将闪现为单个完全文献。
VileLoader最初是行为二进制可推广文献闪现的,它确保第1阶段推广。这个二进制文献永远是合法的,被攻击者用心修正以集成恶意解包器类型的有用负载。因而,从敏捷自愿静态代码剖判的角度来看,二进制文献能够看起来是合法的,它包括合法行使轨范的全盘代码,但不会按预期职业。这个“解包器”阶段旨正在解码、加载和推广内存中的第2阶段。
VileLoader的职业流程从等候17秒开首。然后它解析敕令行参数。敕令行必需起码包括五个参数,不然VileLoader会终止推广。正在履行中,VileDropper平日会向VileLoader供给七个参数,正如咱们之前所刻画的。VileLoader然后掀开其编码的附带的shellcode文献。其名称行为第二个参数转达给VileLoader,比如,“devENX1C6SS.tmp”,行使第二个类型的XOR算法读取并解码它,将去污染数据照射到一个区域中读取、写入和推广(RWX)权限,并通过启动新线阶段)。
VileLoader的第1阶段包括非凡奇特的“署名”技巧,自咱们正在2020年第二季度剖判的第一个示例此后无间很安宁:
行使“Sleep”和“GetTickCount”Windows API函数来天生随机的等候延迟。这些函数以一种不寻常的形式解析:通过从今朝二进制映像的初阶援用硬编码偏移量,这些偏移量直接指向合法可推广文献的导入所在外(IAT)中的条件;
然而,固然旧示例通过解析和挪用专用WindowsAPI函数(比如“GetCommandLineW”)来解析敕令行参数,但近来的示例直接从它们自身的PEB(历程情况块)布局中读取此讯息。云云做能够是为了更好地绕过对某些安适办理计划的检测。
第2阶段的实质从VileLoader的编码附带的shellcode文献中提取,并由VileLoader的第1阶段正在内存中的新线程中运转。从数据的角度来看,第2阶段的shellcode是一个PE二进制文献,它的标头被去掉并嵌入了格外的编码数据。
第2阶段开始从其自身的实质中解码(行使第三类XOR算法)所需的数据。少许数据被解码为行使djb2算法天生的哈希值。这些哈希值反过来用于通过自界说IAT解析所需的函数导入:加载所需的库,解析它们的导出外,行使djb2对导出的函数名称举办哈希,并将哈希值与从内部数据解码的哈希值举办对比。第2阶段不停创筑一个互斥锁,其名称自2020年第二季度此后没变过,与VileRAT中的类似(“Global\wU3aqu1t2y8uN”)。
终末,VileLoader的第2阶段修建一个HTTPGET央求,用于下载植入轨范包。正在较早的VileLoader示例中,下载器行使了如下所示的一个静态URL:
独一的规避考试是正在四个固定列外中随机遴选一个HTTP User-Agent标头值。VileLoader行使标的体例的平常运转时代行为“随机性”的源泉。正在近来的示例中,开辟职员试图刷新这些规避技巧,HTTP央求现正在看起来如下所示:
现正在,全盘以血色着色的值都是从从第2阶段实质解码的硬编码列外中随机遴选的(行使C类XOR算法)。加密的blob(cookie值)最初是一个JSON字典,行使RC4算法加密(行使密钥“BDDE96D29C68EE064964D1E58A860512B09A50004EF2E4925C76ABFC9023DFC6”,从第2阶段实质解码)、异或(行使B型异或算法)、base64编码和URL编码。实质的JSON实质与VileDropper发送到C2任事器的实质非凡好像:
然后,C2任事器正在HTTP呼应正文中举办了呼应,并行使以下此中一个指令:
正在较早的版本中,VileLoader的第2阶段并没有嵌入截图效力,然则VileRAT实行了截图效力。
假使C2任事器行使植入轨范包举办应答,它会发送一个第四类的异或blob。天生的数据行使LZMA1算法进一步解压缩,并包括一个或众个带有以下附加元数据的“文献”:
假使正在C2任事器呼应数据中设备了特定符号,VileLoader会为终末安顿的文献创筑一个Windows安插职分以设备其长久性。该职分是行使ITaskService接口创筑的。终末一个被删除的文献也会行使“CreateProcessW”Windows API函数顿时推广。应当预防的是,少许较旧的VileLoader示例正在内存中推广下载的有用负载,而近来的变体偏向于将下载的植入物放正在标的文献体例上。
假使C2任事器央求屏幕截图,则VileLoader第2阶段发送一个HTTPPOST央求,此中包括一个cookie,其值为第二算法异或的JSON字典,包括以下字段: