一路向北:Konni APT组织以“朝鲜局势”相关主题为诱饵对俄进行持续定向攻击活动
2021-05-21 11:49:36 Author: www.freebuf.com(查看原文) 阅读量:92 收藏

概述

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一直在使用这种方法,可见对于诱导用户启用宏非常有效果。

1621161217_60a0f50157ed58f6a4e51.png!small?1621161218979

图1.启用宏前后对比

1621161247_60a0f51f2d7d03cb6c447.png!small?1621161249220

图2.执行流程图

样本分析

在其中一份文档携带的恶意宏中,仅有3行脚本代码,主要功能为从自身文档文件中定位到js脚本代码写入到主机目录,之后再通过系统程序wscript来调用执行zx.js,同时在VBA中会将文档的文字颜色设置为黑色。

1621161417_60a0f5c954aa0fe6ec192.png!small?1621161418990

图3.文档中的恶意宏

在文档文件的尾部,可以看到以“try”关键字起始的脚本代码,这些代码将会通过VBA写入到主机目录%USERPROFILE%\zx.js,主要功能为从服务器下载脚本代码,使用eval函数来执行。

URL:http://dragon-pig.onlinewebshop.net/KB2999379.txt

1621161441_60a0f5e1908b6a0a72729.png!small?1621161443303

图4.文档中嵌入的脚本代码

在KB2999379.txt中,根据当前主机系统x86或x64分别从服务器下载对应版本的木马,保存到文件zx.tmp,再使用expand命令来解压,之后调用执行解压出来的zx.bat。

1621161480_60a0f608e2a96d21ced4d.png!small?1621161482641

图5. KB2999379.txt中的代码片段

接着在zw.bat中,执行解压出来的mslwer.dll用来绕过UAC,并调用执行install.bat。

1621161513_60a0f62992fcc0df16585.png!small?1621161515289

图6. zw.bat中的脚本代码片段

install.bat得到执行后,负责木马模块的持久化,其将木马模块mssvps.dll和木马配置文件mssvps.ini移动到系统目录%windir%\System32,在主机上安装名为“ComSysApp”的服务来启动木马模块mssvps.dll,实现持久化。

1621162083_60a0f8638eb43d4c1a48f.png!small?1621162083877

图7. install.bat中的脚本代码片段

木马模块mssvps.dll中的字符串普遍为加密方式存储,以服务方式启动后,将会获取主机名称加密后作为感染ID。

注册表中HKEY_CURRENT_USER\Console中的MaxElapsed项表示木马更新C2配置的最大间隔时间,默认为2个小时,而MinElapsed项表示木马首次启动或者由于断网需要等待连接的时间,如果没有找到对应项,则会按照最小60秒来等待,等待结束后将会检查网络是否可连通,如果非连通状态将会继续等待。

1621162120_60a0f88889279e37024ee.png!small?1621162121118

图8.检查网络连通性反汇编代码片段

等待结束后,将会分两种方式从配置文件中取出C2地址。

从dat文件中直接取出C2地址;

如果未能从dat文件中取到C2地址,则将会从ini文件取出地址,与“/KB3000061.dat”拼接,下载之后从该dat文件中取出C2地址。

1621162234_60a0f8fa60ebbfc8b67f2.png!small?1621162234774

图9.使用UrlDownloadToFile从服务器下载文件KB3000061.dat

成功取出C2地址后,木马会先后两次调用cmd命令systeminfo和tasklisk来获取系统信息和主机进程列表,之后分别将上述数据以文件形式上传至C2服务器,以供攻击者进行环境侦察。

1621162263_60a0f917cedf79e7e7ed1.png!small?1621162264230

图10.在WireShark中拦截到的上传系统信息数据包

在上传函数中,木马会判断上传文件类型,如果是以cab、zip、rar结尾的文件将会直接上传,否则将会使用cmd命令makecab来将目标文件压缩为cab文件再上传,两种方式均将文件转存为temp文件加密后再进行上传。

1621162284_60a0f92c7a20fd7b31421.png!small?1621162284899

图11.上传函数中使用makecab命令压缩文件

此外,木马每次进行网络访问前,将会清除C2服务器相关的缓存。

1621162301_60a0f93d0e25b3abdd365.png!small?1621162301386

图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服务器,最终实现对目标计算机的远程控制。

1621162374_60a0f98649672a9ceb3b9.png!small?1621162374557

图13.响应远程指令反汇编代码片段

在另一个样本携带的恶意宏中,将Donwloader模块释放到主机目录%USERPROFILE%\pp.exe,执行时传入参数“bALWAoNAuAAkAV0A2mLpAX1A9zLjAXvAMzLtAXRA2zLfAXhAbNLCAXRA9mLCAX0A4zLWAXzAcNLYAX8A9zADAXRAcNLWAA==”,该参数为经过加密的C2服务器地址http://baboivan.scienceontheweb.net。

1621162416_60a0f9b0388ca28ba02b7.png!small?1621162416571

图14. 文档中携带的恶意宏

与上面样本执行流程类似,同样通过判断系统32位或64位来下载指定版本木马,保存到目录% USERPROFILE%,之后再执行解压,最后执行解压出来的pp.bat,遗憾的是,分析时服务器已经无法正常连接,导致未能捕获到下阶段样本,但根据上下文信息,可以推断与上面样本使用的木马应该为同一类型。

攻击者在此次攻击活动中使用的C2服务器均为动态域名,该组织经常使用此类域名作为C2服务器。

1621162514_60a0fa1235b670bc076ae.png!small?1621162514465

图15. 攻击者使用的C2服务器

经过与该组织以往的攻击样本对比,发现此次攻击者在此次攻击活动中基本延续了以往的攻击手法,例如基本一致的字符串解密函数(左边为以往攻击活动,右边为本次攻击活动)。

1621162520_60a0fa186c8bd23bae15f.png!small?1621162520736

图16. 字符串解密函数对比

以及Downloader模块中如出一辙的执行流程。

1621162527_60a0fa1fd76a6ea5b2ef2.png!small?1621162528177

图17. 执行流程对比

由此,我们判断此次攻击活动为Konni APT组织以往攻击活动的延续,其一直在对俄罗斯相关组织机构进行有针对性的攻击活动,并且在最近的攻击活动中复用了以往的攻击手法。

Konni组织惯用朝鲜相关热点话题为诱饵进行攻击活动,利用社会工程学技术针对特定组织机构实施各种APT攻击,且极具针对性,微步情报局将持续跟踪并分析该组织动向。

C2

dragon-pig.onlinewebshop.net

little-dragon.mypressonline.com

baboivan.scienceontheweb.net

Hash

879b5fca0f4e3d1769e37e738f3b89ba6de81d0f5f34b8bba6267f905b85318a

b89e79ee9c4834177cbabba9b265910a6a55c7defd2863cc1699753dbfa342b8

ServiceName

ComSysApp

FilePath

%windir%\System32\mssvps.dll

%windir%\System32\mssvps.ini

MITRE ATT&CK Mapping

策略

ID

技术名称

初始访问

T1566.001

鱼叉式附件

执行

T1059.003

T1059.007

T1569.002

T1204.002

命令和脚本解释器:cmd命令

命令和脚本解释器:JavaScript/Jscript

系统服务:服务执行

用户执行:恶意文档

持久化

T1543.003

创建或修改系统过程:创建系统服务

防御逃避

T1055.001

T1140

T1027.001

T1202

进程注入:动态链接库注入

解码文件或信息

混淆的文件或信息:二进制填充

间接命令执行

发现

T1082

T1033

系统信息发现

系统网络连接发现

命令和控制

T1071.001

T1132.002

T1573.001

应用层协议:web协议

数据编码:非标准编码

加密通道:对称密码学

渗出

T1041

通过C2通道进行渗透

参考链接

https://blog.alyac.co.kr/2474

https://www.freebuf.com/articles/system/243998.html


文章来源: https://www.freebuf.com/articles/paper/273833.html
如有侵权请联系:admin#unsafe.sh