Konni APT 组织据悉由特定政府提供支持,自2014年以来一直持续活动。该组织经常使用鱼叉式网络钓鱼攻击手法,且经常使用与朝鲜相关的主题或社会热点作为诱饵,吸引用户查看并执行附件。
微步情报局近期通过威胁狩猎系统捕获到 Konni APT 组织利用朝鲜局势相关话题针对俄罗斯方向的攻击活动,分析有如下发现:
-
攻击者以“关于制裁对朝鲜局势的影响”和“解决朝鲜危机的建议”等相关热点话题为诱饵进行鱼叉攻击。
-
所投递恶意文档语言均为俄语,但部分文档编辑环境为朝鲜语,结合该组织的地缘因素分析,研判主要攻击目标为俄罗斯方向相关组织机构。
-
文档中携带的恶意模块将会从服务器下载多阶段恶意载荷,最终加载执行后门远控模块,实现对目标主机的远程控制。
-
根据多维度关联信息显示,本次攻击活动延续了该组织以往的攻击手法。
-
微步在线通过对相关样本、IP 和域名的溯源分析,提取多条相关 IOC ,可用于威胁情报检测。微步在线威胁感知平台 TDP 、本地威胁情报管理平台 TIP、威胁情报云 API 、互联网安全接入服务 OneDNS 等均已支持对此次攻击事件和团伙的检测。
在攻击者投递的恶意文档中,可以看到有文档的创建作者为 SmallPig ,这与攻击者所使用的 C2 服务器中的关键字 “dragon-pig”、“little-dragon” 等类似,表示攻击者做了一定准备工作,并且疑似有统一的行动策划,两个文档的最后修改者均为 PILOT ,且有文档的代码页语言为朝鲜语。
文档名称
|
MD5
|
作者信息
|
代码页
|
Овлиянии санкций на ситуацию в КНДР.doc
(关于制裁对朝鲜局势的影响)
|
7b13aa205a32cccb8d149e72cadeaeb2
|
PILOT
|
|
Предложения по урегулированию Корейского кризиса.doc
(解决朝鲜危机的建议)
|
61594306ad5492e1d61f4f42387066a7
|
SmallPig、PILOT
|
朝鲜语
|
将文档文字颜色设置为难以阅读的灰色是该组织的特点之一,一旦用户启用宏后,会在携带的恶意宏中将文档的文字颜色设置为易于阅读的黑色,以迷惑用户。Konni 一直在使用这种方法,可见对于诱导用户启用宏非常有效果。
图1. 启用宏前后对比
图2. 执行流程图
在其中一份文档携带的恶意宏中,仅有3行脚本代码,主要功能为从自身文档文件中定位到 js 脚本代码写入到主机目录,之后再通过系统程序 wscript 来调用执行 zx.js ,同时在 VBA 中会将文档的文字颜色设置为黑色。
图3. 文档中的恶意宏
在文档文件的尾部,可以看到以 “try” 关键字起始的脚本代码,这些代码将会通过VBA写入到主机目录 %USERPROFILE%\zx.js ,主要功能为从服务器下载脚本代码,使用 eval 函数来执行。
URL: http://dragon-pig.onlinewebshop.net/KB2999379.txt
图4. 文档中嵌入的脚本代码
在 KB2999379.txt 中,根据当前主机系统 x86 或 x64 分别从服务器下载对应版本的木马,保存到文件 zx.tmp ,再使用 expand 命令来解压,之后调用执行解压出来的 zx.bat。
图5. KB2999379.txt 中的代码片段
接着在 zw.bat 中,执行解压出来的 mslwer.dll 用来绕过 UAC ,并调用执行 install.bat。
图6. zw.bat 中的脚本代码片段
install.bat 得到执行后,负责木马模块的持久化,其将木马模块 mssvps.dll 和木马配置文件 mssvps.ini 移动到系统目录 %windir%\System32,在主机上安装名为 “ComSysApp” 的服务来启动木马模块 mssvps.dll,实现持久化。
图7. install.bat 中的脚本代码片段
木马模块 mssvps.dll 中的字符串普遍为加密方式存储,以服务方式启动后,将会获取主机名称加密后作为感染 ID。
注册表中 HKEY_CURRENT_USER\Console 中的 MaxElapsed 项表示木马更新 C2 配置的最大间隔时间,默认为2个小时,而 MinElapsed 项表示木马首次启动或者由于断网需要等待连接的时间,如果没有找到对应项,则会按照最小60秒来等待,等待结束后将会检查网络是否可连通,如果非连通状态将会继续等待。
图8. 检查网络连通性反汇编代码片段
等待结束后,将会分两种方式从配置文件中取出 C2 地址。
图9. 使用 UrlDownloadToFile 从服务器下载文件 KB3000061.dat
成功取出 C2 地址后,木马会先后两次调用 cmd 命令 systeminfo 和 tasklisk 来获取系统信息和主机进程列表,之后分别将上述数据以文件形式上传至 C2 服务器,以供攻击者进行环境侦察。
图10. 在
WireShark
中拦截到的上传系统信息数据包
在上传函数中,木马会判断上传文件类型,如果是以 cab、zip、rar 结尾的文件将会直接上传,否则将会使用 cmd 命令 makecab 来将目标文件压缩为 cab文件再上传,两种方式均将文件转存为 temp 文件加密后再进行上传。
图11. 上传函数中使用 makecab 命令压缩文件
此外,木马每次进行网络访问前,将会清除 C2 服务器相关的缓存。
图12. 清除 C2 服务器相关缓存
将主机信息上传至 C2 服务器后,以参数值 prefix =cc {index} 为标识(index 从 0 开始),依次循环从服务器取出攻击者所预设的远程指令来执行,直到将所有指令执行完毕。
host
|
little-dragon.mypressonline.com
|
C2 域名
|
path
|
dn.php
|
指令路径
|
参数
1
|
client_id
|
主机 ID(加密的主机名)
|
参数2
|
prefix
|
cc {index}, index 从0起始
|
之后再每隔10秒从服务器取出远程指令执行,截至分析时 C2 服务器已经无法正常连接。
host
|
little-dragon.mypressonline.com
|
C2 域名
|
path
|
dn.php
|
指令路径
|
参数1
|
client_id
|
主机 ID(加密的主机名)
|
参数2
|
prefix
|
tt(固定值)
|
该后门木马与以往 Konni 组织所使用的木马类似,可响应 C2 服务器远程指令包括 CmdShell 、文件上传/下载、更新 C2 配置文件、创建指定进程等,指令执行完毕后将会把结果暂存到主机 temp 目录,以文件形式加密上传至 C2 服务器,最终实现对目标计算机的远程控制。
图13. 响应远程指令反汇编代码片段
在另一个样本携带的恶意宏中,将 Donwloader 模块释放到主机目
录
%
USERPROFILE%\pp.exe,执行时传入参
数 “bALWAoNAuAAkAV0A2mLpAX1A9zLjAXvAMzLtAXRA2zLfAXhAbNLCAXRA9mLCAX0A4zLWAXzAcNLYAX8A9zADAXRAcNLWAA==”,该参数为经过加密的 C2 服务器地址 http://baboivan.scienceontheweb.net。
图14.
文档中携带的恶意宏
与上面样本执行流程类似,同样通过判断系统32位或64位来下载指定版本木马,保存到目录 %USERPROFILE% ,之后再执行解压,最后执行解压出来的 pp.bat,遗憾的是,分析时服务器已经无法正常连接,导致未能捕获到下阶段样本,但根据上下文信息,可以推断与上面样本使用的木马应该为同一类型。
攻击者在此次攻击活动中使用的 C2 服务器均为动态域名,该组织经常使用此类域名作为 C2 服务器。