随着阿塞拜疆和亚美尼亚之间的紧张局势持续,我们发现一些网络犯罪分子仍在利用这一局势来发动攻击。2021年3月5日,我们报告了使用隐写术传播新型.Net远程管理特洛伊木马的攻击行为。从那时起,我们就一直在监控这一网络犯罪组织,并发现他们已经将RAT从.NET切换为了Python。
恶意文档以阿塞拜疆政府为目标,使用SOCAR信函模板作为诱饵,而SOCAR是阿塞拜疆共和国石油和天然气公司的名称。该文件的日期是2021年3月25日,内容跟催化剂出口相关,发送目标为该国的生态和自然资源部。该文件的创建时间为2021年3月28日,并与信函中提到的日期一致。根据日期,我们认为这次袭击发生在2021年3月28日至30日之间。
这个恶意文档中嵌入的宏与我们之前报告的几乎相似,但有一些小的差异。
这个宏有两个主要函数,即“Document_Open”和“Document_Close”。“Document_Open”在定义完所需的变量之后,便会创建一个目录(%APPDATA%\Roaming\nettools48\) 来存储Python RAT。
接下来,它会使用一种新的格式将自己复制到之前定义的文件路径中,以便能够从嵌入的PNG文件(image1.PNG)中提取所需的数据。
为了提取嵌入的数据,它会调用“ExtractFromPng”函数来识别包含嵌入数据的块。找到区块后,它会从PNG文件中提取文件并将其写入至“tmp.zip”文件。
“tmp.zip”文件接下来会被提取到“%APPDATA%\Roaming\nettools48” 目录中,它包含了Python 3.6解释器、NetTools Python库、Python RAT、RAT C2配置和runner.bat。
Python RAT会在文档被关闭时执行。“Document_Close”函数会通过创建一个100次的无限循环来延迟执行以绕过安全检测机制,然后通过调用Shell函数来执行runner.bat。
runner.bat还会延迟64秒执行,然后调用Python来执行Python RAT(vabsheche.py):
SET /A num=%RANDOM% * (80 - 60 + 1) / 32768 + 60 timeout /t %num% set DIR=%~dp0 "%DIR%\python" "%DIR%\vabsheche.py"
攻击者所使用的Python RAT并没有经过混淆处理,而且理解起来也不难。它使用了platform库来识别目标设备的操作系统类型。
C2域名和端口是硬编码在RAT目录中的一个文件内的,RAT会打开这个文件,然后从中提取出主机地址和端口:
在下一步中,如果目标主机运行的是Windows,它将通过创建一个计划任务来实现持久化感染。它首先检查名为“paurora*”的计划任务是否存在。如果不存在,则读取bg.txt文件的内容并创建一个bg.vbs文件,然后将创建的VBS文件添加到计划任务列表中。
这个VBS文件将调用runner.bat来执行Python RAT:
RAT的主要功能就是通过一个循环来从PNG文件中提取证书文件,并存放至RAT目录中。
在建立到服务器的安全连接之后,它会进入一个循环,该循环从服务器接收消息,并根据消息类型执行不同的命令。
OPEN_NEW_CONNECTION:向服务器发送以False为内容的消息;
HEART_BEAT:向服务器发送消息,告知用户当前活跃状态;
USER_INFO:收集目标信息,包括操作系统名称、版本和用户名;
SHELL:执行从服务器端接收到的指令;
PREPARE_UPLOAD:检测是否可以打开一个文件并将服务器端发送的数据写入其中,成功后会向服务器发送一条“Ready”消息;
UPLOAD:从服务器接收缓冲区数据,并将其写入至文件;
DOWNLOAD:将文档文件发送至服务器;
socar.doc 42f5f5474431738f91f612d9765b3fc9b85a547274ea64aa034298ad97ad28f4 runner.bat 82eb05b9d4342f5485d337a24c95f951c5a1eb9960880cc3d61bce1d12d27b72 vabsheche.py e45ffc61a85c2f5c0cbe9376ff215cad324bf14f925bf52ec0d2949f7d235a00 bg.vbs 1be8d33d8fca08c2886fa4e28fa4af8d35828ea5fd6b41dcad6aeb79d0494b67 C2 Domain pook.mywire[.]org C2 IP 111.90.150.37