FIN7组织的 JSSLOADER工具分析

  • A+
所属分类:逆向工程
FIN7组织的 JSSLOADER工具分析
FIN7组织的 JSSLOADER工具分析

简介


Morphisec 实验室在过去的几年中一直在跟踪FIN7(Carbanak Group)的活动。FIN7是一个资金充足,有经济动机的网络犯罪组织。他们的先进技术和战术被MITER ATT&CK知识库收录。
Morphisec 实验室发布了一篇关于FIN7组织的报告,在这篇报告中披露了2020年12月在客户的网络中拦截到的攻击链。其中重点介绍了FIN7攻击链中用到的恶意组件——JSSLoader。尽管JSSLoader是一个比较知名的轻量级的.NET RAT,但以往对于此木马各种功能(如信息窃取、持久驻留、自动更新、恶意软件下载等等)的介绍并不多。此外,在许多提到JSSLoader的场合中,关于完整攻击链的细节很少。以下内容讲详细分析FIN7组织是如何利用JSSLoader发起攻击的。


关键词:FIN7,Carbanak Group,JSSLOADER


FIN7组织的 JSSLOADER工具分析
FIN7组织的 JSSLOADER工具分析

投递阶段分析


下面是一个典型的网络钓鱼活动的示例,该活动可能导致FIN7 JSSLoader以及其他恶意软件(例如Qbot)的入侵。在此示例中,攻击者冒充“ Natural Health Sherpa”向受害者发送了一封与发票有关的钓鱼邮件。

FIN7组织的 JSSLOADER工具分析

图1:典型的网络钓鱼活动


单击发票链接会转到一个专用的Sharepoint目录,该目录存储一个包含VBScript的压缩文件(后来更改为WSF-Windows Script File)。

FIN7组织的 JSSLOADER工具分析

图2:私有Sharepoint目录


在这次网络钓鱼活动后不久,“Natural Health Sherpa”就在社交媒体上发布了下面这篇文章,提醒用户邮件是假冒的,不要轻易点击链接。

FIN7组织的 JSSLOADER工具分析

图3:Sherpa Natural Health在社交媒体上的信息

该VBScript下载并在内存中执行下一阶段的VBScript。内存中的脚本会下载一个. NET模块(JSSLoader),然后通过创建计划任务执行该模块,为了绕过攻击链监控,会延迟一段时间执行。
需要注意的是,VB脚本的早期版本与正在进行的QBOT活动非常相似,有可能也会传播Egregor勒索
JSSLoader是一种RAT(远程访问木马),随着时间的推移会增加更多功能。在本报告中记录了一些新功能。在最近被拦截的特定攻击链中,RAT通常执行一个DiceLoader,负责反射性加载和执行一个Cobalt Strike beacon。
C2主机提供商是一家名为FranTech Solutions的公司,FIN7组织之前就使用过此公司的主机。


FIN7组织的 JSSLOADER工具分析
FIN7组织的 JSSLOADER工具分析

WSF & VBS脚本分析



正如在介绍中提到的,早期的vbscript与今年早些时候看到的QBOT攻击有相似之处。
VBScript解码命令列表和URL。该URL用于下载下一阶段的JSSLoader。下载JSSLoader并将其保存到%temp%目录之后,它将创建一个计划任务来执行该文件。在QBOT活动中,下一步是QBOT可执行文件,而不是JSSLoader。
较新的VBScript分为两个阶段。第一阶段从<url_path> / margarita下载并执行第二阶段VBScript。

FIN7组织的 JSSLOADER工具分析

图4:下载并执行第二个VBScript

第二阶段的VBScript会在内存中解码执行,然后通过计划任务下载并执行下一阶段的JSSloader,这可能是为了避免攻击链检测。JSSLoader的URL具有类似的模式– <url_path> / <file_name> .eml。

FIN7组织的 JSSLOADER工具分析

图5:JSSLoader的URL

从2020年10月下旬开始,攻击者改用WSF (Windows脚本文件)作为第一阶段脚本。基本上,他们是将旧版本的VBScript包装到WSF中。


FIN7组织的 JSSLOADER工具分析
FIN7组织的 JSSLOADER工具分析

JSSLOADER木马分析


JSSLoader是一个非常轻量级的.NET RAT后门程序,主要被FIN7组织使用。它包括以下功能:
  • 简单的反调试

  • 信息窃取

  • 持久化技术

  • 远程命令执行

下面将以JSSLoader的最新示例及其后续阶段开始介绍其在过去一年中的发展

最新样本2020年12月14日

Hash: db1d98e9cca11beea4cfd1bfbe097dffd9fc4cc8b1b02e781863658d8c6f16c7

唯一标识

为了跟踪目标,JSSLoader将根据以下内容生成受害者的唯一id:
  • 通过“SELECT SerialNumber FROM Win32_BIOS”命令,获取主板BIOS序列号

  • 域名

  • 计算机名

受害者ID计算方法:- < domain_name > < computer_name > < serial_number >

FIN7组织的 JSSLOADER工具分析

图6:由JSSLoader生成的唯一ID

反调试

简单的反调试使用定时检查- TickCount。

FIN7组织的 JSSLOADER工具分析

图7:TickCount

窃取

与其他下载器一样,第一阶段窃取的信息是下一个执行阶段的前提。RAT收集以下内容:
  • 主机名

  • 域名

  • 用户名

  • 运行过程

  • 系统信息(补丁)

  • 桌面文件

  • 广告信息

  • 逻辑驱动器

  • 网络信息

FIN7组织的 JSSLOADER工具分析

图8:第一阶段窃取的信息

然后将获取到的信息拼接后进行base64编码并发送到一个预先配置的URL。在这个示例中,它被发送到hxxps://freshenvironmentaldesigns[.]com。

持久性

通过com IShellLink(类似Turla的活动)在启动目录下创建一个快捷方式,指向可执行文件。

FIN7组织的 JSSLOADER工具分析

图9:通过IShell链接的快捷方式

远程命令执行

在过去的一年里,下一阶段的执行经历了重大的演变。在持久化阶段之后,木马会接收控制服务器发来的base64编码的命令字符串。与前面的通信尝试一样,SSL证书错误将被忽略,唯一的受害者ID将作为请求的一部分发送。

FIN7组织的 JSSLOADER工具分析

图10:Web客户端通信协议

木马根据C2发来的命令,执行相应的功能

FIN7组织的 JSSLOADER工具分析

图11:从C2域接收的命令字符串

不同的执行选项描述如下:
  • Cmd_FORM - 弹出一个非恶意的表单。

  • Cmd_JS/Cmd_VBS - 将命令写入到%userprofile%contacts 的随机命名文件中,使用cscript.exe执行。

  • Cmd_EXE - 将可执行文件写入%userprofile% contacts <random_name>并执行。

  • Cmd_UPDATE -自动更新功能-将新版本写入%userprofile%contacts ,删除当前的JSSLoader,执行新版本,并终止旧版本。

  • Cmd_uninstall - 通过删除JSSLoader、删除持久化和终止进程,从受感染的机器上卸载木马。

  • Cmd_RAT - 将内容块写入%userprofile% contacts <random_name>,并执行使用此文件的PowerShell命令。下一节将对此进行描述。

  • Cmd_PWS - 在内存中执行PowerShell命令。

  • Cmd_RunDll - 将DLL写入到%userprofile%contacts ,并使用rundll32.exe执行。

  • Cmd_Info - 从受害者机器中窃取信息(参见上面的窃取部分)。

下一阶段- DiceLoader & Cobalt Beacon

FIN7组织的 JSSLOADER工具分析

图12:“CMD_RAT”

将传递的命令解析为行数组(使用新的行分隔符),然后从数组中最长行的引号之间提取实际命令。然后,将此字符串写入到文件中,随后将通过下文所述的预构建PowerShell命令对其进行解析。在大多数情况下,字符串是压缩流。

FIN7组织的 JSSLOADER工具分析

图13:预先构建的PowerShell命令

执行的PowerShell脚本被称为DiceLoader/Takeout。DiceLoader的多种变体主要区别在于它们如何通过使用“$body”参数来提取内存中执行的下一阶段,VirusTotal中的一个简单回溯显示了DiceLoader具有完整嵌入的“$body”。在这种情况下,PowerShell脚本读取前面编写的命令文件的内容(如上所述),在内存中解压它,然后执行第二层PowerShell。第二层PowerShell再将 Cobalt Beacon映射到内存。

FIN7组织的 JSSLOADER工具分析

图14:DiceLoader / Takeout


FIN7组织的 JSSLOADER工具分析
FIN7组织的 JSSLOADER工具分析

结论


FIN7的JSSLoader在不断发展。尽管安全防御措施在不断升级,但是威胁攻击者也在不断改变技术不断通过对抗措施逃避检测为应对这一威胁,我们的进步速度必须要超过恶意软件的变化速度,而知识共享是做到这一点的最好方法之一。


FIN7组织的 JSSLOADER工具分析
FIN7组织的 JSSLOADER工具分析

附录:JSSLOADER的演变


创建日期:2019年10月10日:148d74e453e49bc21169b7cca683e5764d0f02941b705aaa147977ffd1501376

C2 - hxxps://dempoloka.com/gate.php

  • 它通过com IShellLink在指向可执行文件的启动目录中创建一个快捷方式

  • 然后窃取信息:

FIN7组织的 JSSLOADER工具分析

图15:早期版本的JSSLoader

  • 被窃取的信息以base64编码的方式发送。编码后的文本没有任何特殊格式,使用“=====”作为信息类型之间的分隔符。

  • 使用以下POST请求发送信息:<C2> /?bot_id = <bot_id>,其中<bot_id>是由<domain_name> <computer_name> <serial_number>生成的唯一标识符。

  • 下一阶段的远程执行命令可以是以下命令之一:TASK_FORM,TASK_JS,TASK_EXE,TASK_UPDATE或TASK_UNINST。

FIN7组织的 JSSLOADER工具分析

图16:下一阶段远程执行命令

创建日期:2019年12月23日:c1e7d6ec47169ffb1118c4be5ecb492cd1ea34f3f3dd124500d337af3e980436

C2 - hxxps://huskerblackshirts.com/gate.php

  • 使用定时检查的方式反调试。

  • 窃取的信息类型与旧版本相同。

  • 远控指令保持不变。

创建日期:2020年4月13日:d2b080b9af5d39d72af149afb065e769b1da8005edfe84237942a1b99f4fa36c

C2 - hxxps://petshopbook.com

  • 窃取的信息改用JSON格式存储。

FIN7组织的 JSSLOADER工具分析

图17:窃取的信息改用JSON格式存储

  • 它添加了两个远程执行命令-TASK_RAT和TASK_PWS。

FIN7组织的 JSSLOADER工具分析

图18:TASK_RAT和TASK_PWS

TASK_RAT - 后来称为Cmd_RAT,在“下一阶段”部分中进行了说明。

TASK_PWS - 在内存中执行PowerShell命令。

FIN7组织的 JSSLOADER工具分析

图19:执行PWS

创建日期:2020年7月15日:a0c5b1fdcb95037e57dd502d848aa3137882d7af6fbf301262e8cd35db7f58b7

C2 - hxxps://culturehiphopcafe.com

  • 它将远程命令执行功能的名称和枚举从TASK前缀更改为CMD。

FIN7组织的 JSSLOADER工具分析

图20:对CMD前缀的更改

创建日期:2020年10月7日:15f15b643eafcc50777bed33eda25158c7f58f4dbaaaa511072ef913a302a8da

C2 - hxxps://bungalowphotographyblog.com

  • 它添加了一个远程执行命令-Cmd_VBS。

FIN7组织的 JSSLOADER工具分析

图21:远程执行命令Cmd_VBS

Cmd_VBS - 攻击者通过添加VBScript标志区分不同语言的命令,从而支持VBscript脚本的执行。

FIN7组织的 JSSLOADER工具分析

图22:指示命令是否为VBScript的标志

创建日期:2020年12月1日:969cfeddc1c90d36478f636ee31326e8f381518e725f88662cc28da439038001

C2 - hxxps://theelitevailcollection.com

  • 添加了远程执行命令-Cmd_RunDll

FIN7组织的 JSSLOADER工具分析

图23:添加Cmd_RunDLL

Cmd_RunDll - 传递的命令分为两部分,第一部分保存DLL,第二部分保存选项。这些选项包括DLL名称和要调用的导出函数。该信息由“空格”定界符分隔。

FIN7组织的 JSSLOADER工具分析

图24:Cmd_RunDLL函数的解析

创建日期:2020-12-08:daba93cf353585a67ed893625755077a2d351ba46ec5ea86b5bd0b45b84bc7c5

C2 - hxxps://theelitevailcollection.com

  • 此版本添加了远程执行命令 - Cmd_Info,用来窃取受害者的信息。

FIN7组织的 JSSLOADER工具分析

图25:添加Cmd_Info


FIN7组织的 JSSLOADER工具分析
FIN7组织的 JSSLOADER工具分析

IOCS


WSF & VBS 

49895428f1a30131308022dd3aa56eab6a1aa49b08a978ebc1520e289d3d6744 2180d0f46ec6f843fa8b1984acfd251371be7d4228d208eb22bc4a87e9b7c59f 6f9a4e87db50896fb4f54ea3e85f015bac383faf0e3db0f5b20c462f322e946a e6d239a37a39b8051e40949fa4647efa6dd990a3afe27e381f1e1eea17d6b17b 55e29ad1d04af6fd59592825681438f2ba262751de14d64d9cf41c89d8ad6294 6a75254b45320109090fd775dcb78ec4e3dbcf325c3916253b5d6e105b92be66 8279ce0eb52a9f5b5ab02322d1bb7cc9cb5b242b7359c3d4d754687069fcb7b8


JSSLoader 

daba93cf353585a67ed893625755077a2d351ba46ec5ea86b5bd0b45b84bc7c5 2373a6a7223154a2e4e3e84e4bdda0d5a9bc22580caf4f418dae5637efec65e5 1f2ab2226f13be64feeece1884eaa46e46c097bb79b703f7d622d8ff1a91b938 969cfeddc1c90d36478f636ee31326e8f381518e725f88662cc28da439038001 2df508247a4e739b086c9de47d91a26ea7aee4d5cf9bc5cc70b5ad2dc7f102c6 33b3a1da684efc2891668eecf883ba7b9768a117956786e4356a27d1dffe0560 793aa21ed7432ef2b0eda8d80036361878f728dbc4081d72f80fa3694702a4d8 15f15b643eafcc50777bed33eda25158c7f58f4dbaaaa511072ef913a302a8da a0c5b1fdcb95037e57dd502d848aa3137882d7af6fbf301262e8cd35db7f58b7 2e3bc3b059733b4db846d3227abbfa6a7914b551f0175d6f77e22d08b57d49e3 967882624ba26c4fcd6806791aa4994b5bf64ca4b1e66dd8d24f1fa54b3a43f0 98fe1d06e4c67a5a5666dd01d11e7342afc6f1c7b007c2ddbfc13779bcc51317 16f9674ea7c40a0e474966f59c413518509e295608c7ecc37c6096b034b88918 d2b080b9af5d39d72af149afb065e769b1da8005edfe84237942a1b99f4fa36c 148d74e453e49bc21169b7cca683e5764d0f02941b705aaa147977ffd1501376 c1e7d6ec47169ffb1118c4be5ecb492cd1ea34f3f3dd124500d337af3e980436 c328f48c5f4a2c2441bcd0b0c0551547ca254f7ebbb46d30d357e962d8330063 a062a71a6268af048e474c80133f84494d06a34573c491725599fe62b25be044 db1d98e9cca11beea4cfd1bfbe097dffd9fc4cc8b1b02e781863658d8c6f16c7 


DiceLoader PowerShell

c2e6f2496ab549c258a1d004fb0c5548413c81f5a556611c369d93a75e3835be 263b665a2cf660dc6b9f641e0ed5bf28023b81b6d1b48fc849aae57b02528e7e 3d7199f569a31d3826afd04a2f7d4dd2f692c9731fdf8cdfc8c7e03626bffdaf


C2

hxxps://dempoloka.com hxxps://monusorge.com hxxps://medinamarina.com hxxps://theelitevailcollection.com hxxps://skedoilltd.com hxxps://mekanuum.com hxxps://culturehiphopcafe.com hxxps://alexisdanger.com hxxps://spacemetic.com hxxps://attractivology.com hxxps://petshopbook.com hxxps://freshenvironmentaldesigns.com hxxps://huskerblackshirts.com hxxps://bungalowphotographyblog.com


FIN7组织的 JSSLOADER工具分析


本文为CNTIC编译,不代表本公众号观点,转载请保留出处与链接。

联系信息进入公众号后点击“论坛信息”可见。


原文链接:https://blog.morphisec.com/the-evolution-of-the-fin7-jssloader
原文标题: THE EVOLUTION OF THE FIN7 JSSLOADER
编译:CNTIC情报组

FIN7组织的 JSSLOADER工具分析


本文始发于微信公众号(国家网络威胁情报共享开放平台):FIN7组织的 JSSLOADER工具分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: