3

Konni APT 利用 WinRAR 漏洞(CVE-2023-38831)攻击数字货币行业

 11 months ago
source link: https://paper.seebug.org/3032/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

作者:K&Nan@知道创宇404高级威胁情报团队
英文版:https://paper.seebug.org/3033/

1. 攻击活动综述

近期知道创宇404 高级威胁情报团队的研究报告《韩美大规模联合军演挑衅升级?朝方 APT 组织近期攻击活动分析》中分享了APT37 & Konni组织近期针对韩方的攻击活动,其中Konni组织所使用的新技战术、程序(TTP)更偏向于针对韩方的惯用TTP,我们在狩猎过程也发现Konni在针对非韩方地区所使用的TTP有所调整。

众所周知,朝方APT组织早已将数字货币行业作为攻击目标,但是朝方针对加密货币/金融相关行业的攻击往往由Lazarus组织操作,本次的攻击活动也是较为少见的发现朝方除Lazarus组织外还有其余组织针对加密货币行业进行攻击活动。

同时我们发现本次攻击活动中Konni使用近期Group-IB披露的WinRAR漏洞(CVE-2023-38831),这也是首次发现有APT组织利用此漏洞进行攻击,相关分析描述见下文。

本次所捕获Konni组织的攻击目标与以往存在极大区别,根据诱导名称来看,攻击目标指向数字货币行业,推测有可能是Konni组织开辟新攻击方向,本次捕获到的样本名称为“wallet_Screenshot_2023_09_06_Qbao_Network.zip”,名称中所提及的Qbao Network介绍如下:

“QbaoNetwork是一款智能加密钱包。旨在打造区块链生态平台,打造区块链世界的入口。集跨链数字货币钱包、支付结算、代币兑换、社交网络、新闻行情、DAPP Store等多功能于一体。QbaoNetwork服务全球数字货币用户,为用户提供跨链、去中心化、安全、易用的数字资产平台。QbaoNetwork是一款满足人们在数字货币支付结算、数字资产管理、数字资产交易、在线消费、身份认证、新闻、社交等方面需求的一站式应用。为全球用户提供数字经济和数字生活的入口。” --来源crunchbase.com

4f667999-5eac-4056-959a-497f6361018f.png-w331s

Qbao Network公司介绍

689813c5-6237-46d0-b369-80ce7f59c86b.png-w331s

Qbao Network公司介绍

2. 攻击链

f413697a-fcef-446d-a40b-7589e7f46f83.png-w331s

攻击执行链条

3. 捕获样本分析

本次捕获到的样本名为wallet_Screenshot_2023_09_06_Qbao_Network.rar,该样本利用最新披露的Winrar漏洞(CVE-2023-38831)执行恶意载荷,当压缩文件中的html文件被受害者点击后,精心构造的同名目录下的同名恶意载荷将被执行起来:

f76f0160-dbc1-4f74-ae40-0858e72d2ef9.png-w331s

关于CVE-2023-38831漏洞的简要分析描述

当受害者尝试打开存档文件中的Screenshot_2023_09_06_Qbao_Network.html"时,Winrar会比较存档中的所有文件以查找与"Screenshot_2023_09_06_Qbao_Network.html"同名的文件/目录,根据Winrar的处理情况来看,如果存在与"Screenshot_2023_09_06_Qbao_Network.html"同名的目录Winrar则会继续检查"Screenshot_2023_09_06_Qbao_Network.html /"目录下的文件。

如果"Screenshot_2023_09_06_Qbao_Network.html/" 目录下同样存在文件名为"Screenshot_2023_09_06_Qbao_Network.html "的文件则将"Screenshot_2023_09_06_Qbao_Network.html/" 目录下"Screenshot_2023_09_06_Qbao_Network.html"文件放入提取列表中。

在实际构造过程中由于Winrar存在一个文件名预处理操作,用于检查文件名并删除一些 Windows 不接受的特殊字符。 “Screenshot_2023_09_06_Qbao_Network.html .exe”文件名中“html”与“.exe”中间存在特意构造的空格,在进行路径分割时文件名解析为“Screenshot_2023_09_06_Qbao_Network.html”,因此把"Screenshot_2023_09_06_Qbao_Network.html .exe"文件放入提取列表中。最终导致压缩包中的Screenshot_2023_09_06_Qbao_Network.html .exe运行:

c6722493-76a5-4b8a-936b-83633990155a.png-w331s
25d32f1d-e555-429a-95ff-c231f8768182.png-w331s

Screenshot_2023_09_06_Qbao_Network.html .exe运行后首先会创建线程,线程中利用GetSystemWow64DirectoryW检测当前系统是否为64位系统,若是则将1拼接到/info.php?user_id=8596&type=后,若不是则拼接0.

89484abd-397e-426c-abfa-09b97ceb4c81.png-w331s

从e9f0dkd.c1[.]biz服务端下载后续载荷:

3bc30bb3-45de-4076-b39a-1c31f67757bb.png-w331s

下载载荷后,将硬编码的字符串解base64后写入%temp%\temp.bat并运行。

8c8e1a0e-d4d4-44af-a898-b431b8107f3e.png-w331s
d7f5ea3b-a524-4c7b-bffe-f9cbb3f8f9de.png-w331s

解码后的字符串

temp.bat开始运行下载的载荷check.bat:

f1f84011-e38c-480b-b6d6-fe99963dc777.png-w331s

下载载荷分析:

从服务端下载的数据被存储为%temp%[random].tmp,并解压缩。压缩文件目录结构如下:

b625a051-2ec8-4e13-91f6-2a9ef4cd358d.png-w331s

各文件功能分析如下

check.bat

  • 判断是否存在远程连接session,存在则直接运行trap.bat。

  • 若不存在则判断当前系统是否为Win10,若是,设置Num等于4,反之等于1,这两个参数代表了后续采用不同的UAC绕过方式。

  • 判断是否在64位系统下,若是则执行wpnprv64.dll,否则执行wpnprv32.dll。

  • 痕迹删除。

ebaf6947-8e68-48ea-8845-b9f2726b7a5b.png-w331s

wpnprv64.dll(wpnprv32.dll代码逻辑一致):

“IIIIIIII”导出函数中包含主要恶意代码,根据传入的参数选择不同的Bypass UAC方式:

1d268da5-c5f9-41b0-af06-9926aa740778.png-w331s

若传入的参数1为1时,则利用白名单程序wusa.exe + 模拟token登录的方式运行trap.bat:

852e2362-9a8a-4da4-96b7-2960dc84410a.png-w331s
dc3be784-d5b3-4819-a781-61fa4c5fb398.png-w331s

当传入的参数1为4时,则利用AppInfo RPC以及PPID欺骗技术进行Bypass UAC,最终运行trap.bat:

3be94de7-2a70-4332-ac07-afb2621134ad.png-w331s
c9a9bbba-5c96-44f5-b64f-a7cee402ca5d.png-w331s

trap.bat:

  • 根据当前的路径是否为系统目录判断是否需要文件复制。

  • 判断当前系统是否为64位系统,是则将rdssvc4.png复制到system32目录下命名为rdssvc.dll,否则将rdssvc2.png复制到system32目录下命名为rdssvc.dll,两者都会将rdssvc.dat复制到system32目录下。

  • 创建名为“Remote Database Service Update”的服务,服务指向的服务程序为前面复制而成的rdssvc.dll。

  • 启动服务,rdssvc.dll被执行起来。

  • 删除痕迹。

ae57d136-228b-49a9-88fd-9d1d470c2d54.png-w331s

rdssvc.dll(Konni RAT,以x64程序为例):

在rdssvc.dll的ServiceMain导出函数中,首先会解密API:

852668fd-d1d3-40bc-a078-59b3aee2315e.png-w331s

创建HKCU\Console注册表项,并将65001写入CodePage中:

4e029b84-01d6-43de-bb26-f651d2bcd0b6.png-w331s

读取HKCU\Console\MaxElapsed下的值作为连接测试的等待时间:

a50e40a3-64a7-4c82-bc05-b5d60b892c0a.png-w331s
469c5a47-281c-4240-85a1-c87d1e7f8691.png-w331s

读取rdssvc.dat文件,并从中解密出C2地址:

执行“cmd /c systeminfo”和“cmd /c tasklist”,并将数据保存到%temp%目录下:

f06a44da-8811-45ff-b241-f2ac4aee2b67.png-w331s

将获取的数据使用makecab进行打包:

d4dee5d3-105e-4492-84b9-39981dc5a3df.png-w331s

将数据aes加密后上传到服务端,服务端返回“success!”则表示上传成功:

f178a4f2-c013-4ccb-84f6-34b41122cbe3.png-w331s

f443abaf-a7e3-463d-b786-199638db6631.png-w331s

从C2获取数据:

13e8302d-cedb-4bb3-a0c0-da9258815b2b.png-w331s

获取的数据使用“#”分割,分割的数据解base64后再进行aes解密:

29869961-7aff-4358-b654-11f1c561073f.png-w331s
67921e6a-2120-4cf0-b788-d9abab41d647.png-w331s

最终根据返回数据中的指令可以实现如下功能:

指令 参数1 参数2 功能
/stext 以SYSTEM权限运行程序
/user 以USER权限运行程序
/user /stext或> 以USER权限运行程序,并保存结果
cmd pull /f 将文件复制到temp目录,然后上传
cmd pull 文件上传
cmd > 远程shell,结果保存到temp目录
cmd 远程shell
cmd chmod 保存指定文件
cmd put 文件移动

4. IOC

  • 1536e9bf086982c072c2cba7d42b0a62

  • e9f0dkd.c1[.]biz

  • ske9dhn.c1[.]biz


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/3032/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK