林林总总,2022年中Konni组织针对东欧及东亚地区的攻击活动分析

林林总总,2022年中Konni组织针对东欧及东亚地区的攻击活动分析

概述

Konni是Cisco Talos于2017年披露的一个远控木马,最早的攻击活动开始于2014年,主要针对俄罗斯、韩国等地区进行攻击。2018年,Palo Alto发现Konni恶意软件与Nokki恶意软件存在部分关联,并观察到Nokki恶意软件仅被东亚APT组织Reaper(APT37、Group123、Scarcruft)使用。2019年起,国外安全研究员开始将Konni作为疑似具有东亚背景的APT组织进行报告和披露。

近日,安恒猎影实验室捕获到一批来自Konni APT组织的恶意样本,并根据该组织鲜明的流量特征、明确的攻击目的以及最后阶段的恶意负载关联到了其在2022年内的其他攻击样本。

按照针对地域,我们将样本区分为了针对韩国地区以及针对俄罗斯地区,在韩国地区提交的样本中,我们发现该组织开始针对加密货币行业,而在俄罗斯地区提交的样本中,恶意样本主要针对外交实体及相关人员,诱饵文件的话题围绕俄罗斯、韩国、朝鲜、美国等国家之间的外交关系。

按照是否获取到后续,我们将在如下流程图进行区分。根据流程图我们可以看出,该组织虽然在下发后续负载方面较为单一,但其初始加载方式十分多样化,给研究人员在未获取到后续的情况下溯源具体组织带来了一定干扰。

此外,我们在10月中旬捕获了该组织利用政治新闻话题传播恶意CHM文件,该组织疑似开始将目标转向东南亚地区国家。

在未获取到后续的样本中,也可以看出Konni组织多样化的攻击手法。

针对韩国地区

样本一

样本信息

文件名 보상명부.xlam
Hash cf5f18032667bfb4c7373191e7fb1fbf
文件上次修改时间 2022-09-02 08:47:50
文件上传地 KR

详细分析

宏代码

样本运行后加载宏代码,将自身复制到%Temp%目录下并重命名为{随机字符}.zip,随后解压ZIP文件到%Temp%目录,通过cmd expand指令加载rels.xml中的check.bat执行

check.bat

该文件包含指令如下

  1. 判断管理员权限
  2. 判断系统环境
  3. 带参数运行wpnprv64/32.dll,yup.bat

wpnprv64/32.dll

该模块为提权模块,主要通过两种方式进行提权

yup.bat

该文件包含指令如下

  1. 根据运行路径选择执行文件复制或文件安装
  2. 根据系统环境选择复制文件authtokenmgt64/32.dll及.dat到C:\Windows\System32\

  1. 创建名为authtokenmgt的服务并设置type及binpath

  1. 通过注册表将authtokenmgt服务添加至SvcHost服务启动列表实现持久化
  2. 启动authtokenmgt服务

  1. 删除以上恶意文件执行过程中释放的文件

authtokenmgt64.dll

该文件包含功能如下

解密后续所需API 函数名,并通过GetProcAddress()获取对应函数地址

获取当前运行的服务名(authtokenmgt)及DLL文件路径(C:\Windows\System32\authtokenmgt.dll),拼接出字符串(..\authtokenmgt.dat、..\authtokenmgt.ini)

执行命令更改控制台编码为Unicode字符集,新建线程

读取配置文件(..\authtokenmgt.dat),其中前16字节为iv,后13字节为C2域名密文,服务名(authtokenmgt)的SHA256值作为key,进行解密。

若..\authtokenmgt.dat文件打开失败,则读取..\authtokenmgt.ini文件中的数据。(注:.ini文件是该组织在历史活动中较常使用的配置文件名,本次活动开始使用.dat后缀文件

通过命令cmd /c systeminfo获取系统信息保存至C:\Windows\Temp\目录下

获取到部分系统信息如下

通过命令cmd /c makecab压缩存放系统信息的文件Tmp{随机字符}.tmp

读取cabFile,加密并以POST方式上传至C2服务器rq7592.c1[.]biz/up.php?name={HostName}

若服务器返回“success!”,则通过命令cmd /c tasklist重复执行上述操作

继续与服务器通信,以GET方式请求rq7592.c1[.]biz/dn.php?name={HostName}&prefix=cc%20(0)

获取并解析后续指令

指令功能较之前无明显更新,具体指令及功能如下表所示

主指令 一级指令 二级指令 功能
cmd pull /f 拷贝到Tmp目录上传
直接上传
put 将下载文件移动至指定目录
chmd 写数据到指定文件
> 远程shell
/user /stext或> 使用user权限执行后续并将结果保存至Tmp
使用user权限执行后续文件
/stext 执行后续并将结果保存至Tmp

样本二

样本信息

文件名 카뱅과손잡은코인원_비트독주체제무너뜨릴까 [위클리코인리뷰] – 이코노미스트.docx
Hash 00e6e9ed4666623860686c123ed334f0
文件上次修改时间 2022-09-27 13:29:28 UTC
文件上传地 KR

样本以加密货币为相关主题针对韩国地区,这也是我们观察到Konni组织自2019年开始针对加密货币行业的后续活动之一。

相关分析

样本通过利用CVE-2017-0199漏洞注入远程模板文件,文件包含宏代码如下

即获取本机系统信息、机器名、IP、Mac地址上传至hxxp://word2022.c1[.]biz//index.php?os={}&name={}&ip=_{ip}_{macAddress}

针对俄罗斯地区

样本三

样本信息

文件名 Hash
письмо.zip 24ef6a627d69f6bfe4b8325f74a8adba
письмо … ..exe 705c8d431b4b8fa834491ff6975a0532
письмо.pdf 093878920b7a70b1c4dcb953362a319c

письмо … ..exe为修改版的PDF查看程序SumatraPDF.exe,письмо.pdf为普通PDF文件,该文件使用一般的PDF查看器时显示为空,使用附带的修改版SumatraPDF.exe才能查看内容。诱饵文档内容仿冒韩国驻俄罗斯大使馆人员向特定人员咨询其对于朝鲜半岛政治局势的看法。

详细分析

修改版SumatraPDF.exe

该文件原始文件为SumatraPDF.exe,经过修改变成了能执行恶意功能的程序

相同版本的原始程序入口点为正常的MSVC编译器的入口点

修改后的样本入口点

修改后的样本入口点主要功能为:找到名为0xBEC以及0xBEE的资源文件,读取到内存中后与0xF3逐字节异或解密

然后创建p1.dll以及p2.dll,将解密后的资源写入文件,并加载两个dll

p1.dll

p1.dll使用UPX进行压缩,解压缩后DllMain函数如下,首先是创建一个线程,然后注册一个VEH函数,最后主动抛出异常

新创建线程功能与之前披露的Konni报告类似,主要为从资源中解密出一个压缩包,并通过CreateProcess执行该压缩包中的yup.bat文件

压缩包内容如下

yup.bat执行流程与样本1一致,此处不再赘述

注册的VEH函数如下

首先是判断异常的异常码,当异常码为0时(即后面主动抛出异常),修改主程序地址为0x47F5C4处的数值为0xCC即INT 3异常

修改前该处代码

修改后该处代码

当异常为STATUS_BREAKPOINT(0x80000003)并且EIP为0x47F5C4时,修改线程上下文的EAX为0x223E9F78,EIP为0x47F5C7并继续执行。该VEH函数目的为修改函数0x47F5C0运行时的EAX的值,但实际调试发现EAX在随后在0x47F5C7处被重新赋值了,推测此处可能为代码人员在异常处理中对EIP错误赋值,并且在实际调试过程中也未发现0x47F5C0函数被调用的情形

p2.dll

p2.dll流程与p1比较类似,首先创建一个线程,然后该线程注册一个VEH函数,最后主动抛出异常

VEH函数先判断异常码是否小于STATUS_BREAKPOINT(0x80000003)

小于并且为0的话修改程序偏移为0x4A113处的数值为0xCC(INT 3),与p1.dll中主动触发异常的操作相同

未修改前代码

修改后代码

可以发现在修改代码上面有ReadFile操作,实际调试发现当打开PDF文件时就会调用此处读取文件

接下来为修改后的0xCC触发异常时的操作,先获取异常上下文Esp+0x10处的值,即调用完ReadFile函数后指向的缓冲区数据,然后比较数据起始字符是否为“%PDF-”,来判断是否打开的为PDF文件

PDF文件部分缓冲区数据

当打开的为PDF文件时,遍历查找到“stream.)”的位置,然后对“stream”后面的数据进行逐字节异或解密,直到遇到“endstream”停止。“stream”以及”endstream”中的数据为PDF文件中存储的流数据

解密完成后将上下文EIP+=2,然后继续执行

以上流程用于对打开的PDF文件进行监控,检查到文件中包含起始为“stream.)”的流数据再进行解密并继续执行,因此该SumatraPDF.exe只能用于显示特定的PDF文件。Konni组织开发此功能是为了让目标使用修改后的SumatraPDF.exe来触发恶意功能,同时可以更好的隐藏诱饵文件。

样本四

样本信息

文件名 Паспорт.doc(护照)
Hash 66fba06e965f9a6ea192db7f452ea9b6
文件上传时间 2022-06-21 08:18:37 UTC

相关分析

宏代码如下,执行label1中的指令并将诱饵文档中的字体颜色调整为黑色

label1中的Powershell指令如下

Powershell解码后如下,从hxxp://687964.c1[.]biz/info.php?name={MachineName}&tp={OSVersion}获取mk.vbs

mk.vbs脚本内容如下,将Powershell指令隐藏在计划任务内每隔一小时执行一次

Powershell指令解码如下,从hxxp://968796.c1[.]biz/dn.php?name={MachineName}&prefix=qq&tp={OSVersion}下获取后续负载执行

样本五

样本信息

另一例通过宏代码释放VBS脚本加载Powershell指令获取后续负载的Konni样本信息如下

文件名 Hash
b06ab8e1e7c75d883ae2994644a9d9b3
Donbass.zip f71631e9253193396ad897ae4c3ec623
donbass.ppam dae0efd29230feab95f46ee20030a425

邮件正文显示,此次活动为,攻击者利用俄罗斯领事馆邮箱对俄罗斯其它外交邮箱进行的钓鱼邮件投递活动。

附件中PPT为英俄双语,主题是DPR外交部长会见朝鲜民主主义人民共和国大使,疑似针对俄罗斯外交部

相关分析

donbass.ppam文件中包含的宏代码如下

解密出的Powershell指令如下,与以往攻击手法保持一致,均为获取本机信息上传并下载后续,其中URL格式为hxxp://gg1593.c1[.]biz/dn.php?name={MachineName}&prefix=tt&tp={OSVersion}

样本六

样本信息

文件名 Hash
Визит делегации США.7z

美国代表团访问

de8cd8c065faf36f033437f335caf5ba
Визит делегации США.scr 28942e7704b629c63afefe23d38068f5

相关分析

该样本也具有较为鲜明的Konni RAT特征,此处不再详细分析

后续从837593.c1[.]biz/index.php?uid=558975&type=%d下载到本地的CAB文件及其他组件hash如下

文件名 Hash
CAB File 2ded488ae98c912c8f3308774956de7a
seed.bat 3e67c2d95f2463cac8061d0493c1ac76
foot.bat 2214d7be0f052cc284c64438a1782a77
wpnprv.dll 4a08178e0e446798ae185ef42354815c
wncsvc.dll e165bff5162b7402999caaad0f29b93d
wncsvc.ini f62b562ee90cb5e90320626b820a7f7c

样本七

样本信息

文件名 Hash
1.chm 320d2e841d145f48f513eba516c1e796

文件运行后将加载JavaScript代码

代码经解码后指令如下,核心指令功能为

  1. 删除%AppData%路径下的CCleaner.vbs以及%Temp%目录下的info.log文件
  2. 随后在二进制文件中查找“U2V0IHNo”字符串,读取该字符串之后的内容写入%Temp%\info.log
  3. 将info.log文件内容解码写入%AppData%\CCleaner.vbs
  4. 删除%Temp%\info.log文件

CCleaner.vbs包含如下指令

  1. 创建名为{R9D0S9F-E16E-4389-B82E-11E246F9E6F6}的计划任务每隔1分钟启动一次恶意脚本,实现持久化驻留
  2. 执行一段Powershell指令

执行的Powershell指令如下

  1. 获取本机计算机名、系统名、系统版本等发送至h987ft.c1[.]biz
  2. 接收后续负载并在内存中解密执行

总结

本文总结了Konni APT在2022年攻击活动中使用到的一些攻击手法,除加载方式种类繁多之外,该组织在后续下发的组件还存在如下更新:

  1. RAT新增x86版本,疑似扩大攻击范围,提高与目标机器适配性
  2. 启用除INI后缀之外的配置文件,逃避行为检测
  3. 采用新的加密算法对C2配置文件、Windows API函数等进行加解密
  4. 不再以明文传输窃取数据,而是通过AES加密避免流量检测
  5. 通过修改合法软件SumatraPDF.exe,设置异常函数,以加载恶意代码
  6. 灵活应用VBscript、Powershell等脚本组成攻击链

目前安全数据部已具备相关威胁检测能力,对应产品已完成IoC情报的集成:

安恒产品已集成能力:

针对该事件中的最新IoC情报,以下产品的版本可自动完成更新,若无法自动更新则请联系技术人员手动更新:

(1)AiLPHA分析平台V5.0.0及以上版本

(2)AiNTA设备V1.2.2及以上版本

(3)AXDR平台V2.0.3及以上版本

(4)APT设备V2.0.67及以上版本

(5)EDR产品V2.0.17及以上版本

安恒云沙盒已集成了该事件中的样本特征。用户可通过云沙盒:https://ti.dbappsecurity.com.cn/sandbox,对可疑文件进行免费分析,并下载分析报告。

Comments are closed.