njRAT通过Pastebin命令和控制通道传播
2021-05-06 10:40:38 Author: www.4hou.com(查看原文) 阅读量:117 收藏

导语:njRAT,也被称为Bladabindi,是一种远程访问木马(RAT,remote access Trojan),于2013年首次出现,并迅速成为了最流行的恶意软件家族之一。

Malware-r3d2.png

njRAT,也被称为Bladabindi,是一种远程访问木马(RAT,remote access Trojan),于2013年首次出现,并迅速成为了最流行的恶意软件家族之一。它将动态DNS用于命令与控制(C&C)服务器,并通过可配置端口使用自定义TCP协议进行通信。

njRAT是基于Microsoft .NET框架开发的,并且像许多其他RAT一样,可以完全控制受感染的系统,并为远程攻击者提供一系列功能。另外,njRAT还使用了多种.NET混淆工具,这会使得防病毒解决方案的检测变得十分困难,并妨碍安全研究人员的分析过程。

在从2020年10月以来收集的样本中,Unit 42的研究人员发现,恶意程序开发者一直在利用远程访问木马njRAT(也称为Bladabindi)从广受欢迎的知名网站Pastebin下载并提供第二阶段有效载荷。Pastebin是一个著名的匿名存储数据的流行网站,攻击者利用此服务发布了恶意数据,恶意程序可以通过缩短的URL访问这些数据,从而使他们避免使用自己的命令和控制(C2)基础结构,从而最大限度地逃避被检测的可能性。

本文我们将介绍在野外发现的不同攻击场景,并描述下载程序组件与其第二阶段恶意程序之间的关系。

Pastebin C2通道

攻击者积极地使用Pastebin的C2通道作为托管恶意程序的托管服务,这些恶意载荷可以由键盘记录程序,后门或特洛伊木马下载。

托管的数据在形式不同,可以找到的不同数据编码和转换包括传统的base64编码、十六进制和JSON数据、压缩的blob以及带有嵌入式恶意URL的纯文本数据,相信Pastebin的这种使用旨在逃避安全产品的检测。

在下面的部分中,我们将介绍研究人员在野外发现的不同场景,并描述下载程序组件与其第二阶段恶意程序之间的关系。

base64编码响应下载的第二阶段恶意程序

下载程序:91f4b53cc4fc22c636406f527e3dca3f10aea7cc0d7a9ee955c9631c80d9777f

第二阶段:492ea8436c9a4d69e0a95a13bac51f821e8454113d4e1ccd9c8d903a070e37b2

来源网址:hxxps://pastebin[.]com/raw/VbSn9AnN

下载程序(91f4b53cc4fc22c636406f527e3dca3f10aea7cc0d7a9ee955c9631c80d9777f)请求Pastebin C2数据并使用所逃避的存储数据版本,该版本与传统的base64编码相对应。

2.png

base64编码的数据及其转换的可执行文件

解码后,最终的有效载荷将显示为32位.NET可执行文件,该文件使用多个Windows API函数,包括GetKeyboardState()、GetAsynckeyState()、MapVirtualKey()等。这些通常被键盘记录程序和木马程序使用,也被用来潜在地窃取用户数据的函数使用。值得注意的是,下载程序和第二阶段的可执行程序在功能和代码上是相似的。

下图是第二阶段示例的反编译代码的屏幕截图。

3.png

与键盘记录程序相关的Windows API功能

base64编码反编译的第二阶段恶意程序

下载程序:67cbb963597abb591b8dc527e851fc8823ff22d367f4b580eb95dfad7e399e66

第二阶段:ffb01512e7357ab899c8eabe01a261fe9462b29bc80158a67e75fdc9c2b348f9

来源网址:hxxps://pastebin[.]com/raw/JMkdgr4h

在此版本中,base64数据被反编译,大概是为了避免被自动化系统检测到。

4.png

base64编码的反向字符串及其转换为base64格式

在对数据进行了适当的转换和解码之后,最后的第二阶段32位. net可执行文件被发现是一个类似的示例,它也展示了键盘记录和木马的功能。要获得最终的有效载荷,需要三个数据转换层。

ASCII和base64响应下载的第二阶段恶意程序

下载程序: 9ba0126bd6d0c4b41f5740d3099e1b99fed45b003b78c500430574d57ad1ad39
第二阶段: dfc8bffef19b68cfa2807b2faaf42de3d4903363657f7c0d27435a767652d5b4
来源网址: hxxps://pastebin[.]com/raw/LKRwaias

在此版本中,base64数据以十六进制字符表示。

5.png

十六进制编码的字符串及其转换为base64格式

在正确解码十六进制和base64数据之后,转储的程序也是32位.NET可执行文件,具有与前面的示例相同的恶意功能。

base64编码和压缩数据响应的第二阶段恶意程序

下载程序: 54cf2d7b27faecfe7f44fb67cb608ce5e33a7c00339d13bb35fdb071063d7654
第二阶段: 96c7c2a166761b647d7588428fbdd6030bb38e5ef3d407de71da657f76b74cac
来源网址: hxxp://pastebin[.]com/raw/zHLUaPvW

与其他示例不同,此32位.NET启动程序示例可处理从Pastebin获取的压缩数据。

6.png

解压缩并执行base64压缩数据

下载程序执行以下操作:

1.通过执行DownloadString()函数,将作为字符串的base64编码和压缩数据下载,该字符串是由形成目标URL的变量str,str2,str3和str4连接而成的。

2.base64和压缩的数据现在由FromBase64String()函数解码,并由DecompressGZip()函数解压缩。结果是将一个可执行文件存储在rawAssembly变量的字节数组中。

3.最后,通过将rawAssembly变量传递给内存中的可执行文件来调用Load(). entrypoint . invoke()函数,以便在系统中定位自己并释放恶意的有效载荷。

下图显示了执行前驻留在内存中的经过解压缩的32位.NET可执行数据。

7.png

内存中解压缩的第二阶段恶意程序

网址链接响应下载的第二阶段恶意程序

下载程序: bd2387161cc077bfca0e0aae5d63820d1791f528feef65de575999454762d617
第二阶段: 7754d2a87a7c3941197c97e99bcc4f7d2960f6de04d280071eb190eac46dc7d8
来源网址: hxxp://pastebin[.]com/raw/ZFchNrpH

该.NET下载程序使用传统方法从远程URL捕获可执行文件,目标地址指向hxxp://textfiles[.]us/driverupdate0.exe。

根据VirusTotal的说法,该恶意程序样本已经被多家供应商识别为恶意程序。

8.png

VirusTotal及其对driverupdate0.exe可执行文件的检测率

JSON响应中的配置文件

下载程序:94e648c0166ee2a63270772840f721ba52a73296159e6b72a1428377f6f329ad

来源网址:hxxps://pastebin[.]com/raw/8DEsZn2y

在这个版本中,使用了JSON格式的数据。其中一个关键名称“downlodLink”(恶意程序开发者故意将其拼错)表示该值将是一个URL,可以在那里下载其他组件。目前还没有关于这个特定文件的目标的进一步信息,但是它可能被用作一个配置文件。

9.png

疑似基于JSON的恶意程序配置文件

HTML响应下载的Proxy Scraper

下载程序:97227c346830b4df87c92fce616bdec2d6dcbc3e6de3f1c88734fe82e2459b88

Proxy Scraper.exe:e3ea8a206b03d0a49a2601fe210c949a3c008c97e5dbf77968c0d08d2b6c1255

MaterialSkin.dll:b9879df15e82c52e9166c71f7b177c57bd4c8289821a65a9d3f5228b3f606b4e

来源网址:hxxps://pastebin[.]com/rw/770qPDMt

这个恶意程序解析HTML页面以获取链接,为进一步的攻击做好准备,对于此特定示例,Pastebin数据用于提供程序下载的链接。

10.png

指向Proxy Scraper程序的链接

下载链接指向一个名为Simple + Scraper.zip的压缩文件,其中包含两个文件:MaterialSkin.dll和Proxy Scraper.exe。通过使用.NET Decompiler程序对代码进行静态检查,我们发现下载程序恶意程序使用Pastebin作为存储库来托管与Proxy Scraper程序相关的更新的链接。

11.png

用于检查与Proxy Scraper程序相关的更新的.NET代码

下载程序的版本(“v2.0”)在代码级别显示,但是第二阶段的恶意软件代码没有显示版本。但是,基于VirusTotal信息,可执行文件已以不同的名称提交,包括“ Lithium proxy scraper v2.6”。

总结

Pastebin C2通道仍然存在,并且被njRAT用来通过下载Pastebin中托管的数据来传播恶意有效载荷,从而允许该恶意程序家族和其他恶意程序家族充分利用基于Pastebin的公共服务。根据我们的研究,恶意程序开发者会将其第二阶段有效载荷托管在Pastebin中,并对此类数据进行加密或混淆处理,以逃避安全解决方案,有可能恶意软件的开发者将长期使用像Pastebin这样的服务。

在撰写本文时,以下示例尚未公开。

ffb01512e7357ab899c8eabe01a261fe9462b29bc80158a67e75fdc9c2b348f9

dfc8bffef19b68cfa2807b2faaf42de3d4903363657f7c0d27435a767652d5b4

96c7c2a166761b647d7588428fbdd6030bb38e5ef3d407de71da657f76b74cac

本文翻译自:https://unit42.paloaltonetworks.com/njrat-pastebin-command-and-control/如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/62LV
如有侵权请联系:admin#unsafe.sh