作者:K&Nan@知道创宇404高级威胁情报团队
1. 攻击活动综述
近期知道创宇404高级威胁情报团队的研究报告中分享了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公司介绍
Qbao Network公司介绍
2. 攻击链
攻击执行链条
3. 捕获样本分析
本次捕获到的样本名为wallet_Screenshot_2023_09_06_Qbao_Network.rar,该样本利用最新披露的Winrar漏洞(CVE-2023-38831)执行恶意载荷,当压缩文件中的html文件被受害者点击后,精心构造的同名目录下的同名恶意载荷将被执行起来:
关于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运行:
Screenshot_2023_09_06_Qbao_Network.html .exe运行后首先会创建线程,线程中利用GetSystemWow64DirectoryW检测当前系统是否为64位系统,若是则将1拼接到/info.php?user_id=8596&type=后,若不是则拼接0.
从e9f0dkd.c1[.]biz服务端下载后续载荷:
下载载荷后,将硬编码的字符串解base64后写入%temp%temp.bat并运行。
解码后的字符串
temp.bat开始运行下载的载荷check.bat:
下载载荷分析:
从服务端下载的数据被存储为%temp%[random].tmp,并解压缩。压缩文件目录结构如下:
各文件功能分析如下
check.bat
判断是否存在远程连接session,存在则直接运行trap.bat。
若不存在则判断当前系统是否为Win10,若是,设置Num等于4,反之等于1,这两个参数代表了后续采用不同的UAC绕过方式。
判断是否在64位系统下,若是则执行wpnprv64.dll,否则执行wpnprv32.dll。
痕迹删除。
wpnprv64.dll(wpnprv32.dll代码逻辑一致):
“IIIIIIII”导出函数中包含主要恶意代码,根据传入的参数选择不同的Bypass UAC方式:
若传入的参数1为1时,则利用白名单程序wusa.exe + 模拟token登录的方式运行trap.bat:
当传入的参数1为4时,则利用AppInfo RPC以及PPID欺骗技术进行Bypass UAC,最终运行trap.bat:
trap.bat:
根据当前的路径是否为系统目录判断是否需要文件复制。
判断当前系统是否为64位系统,是则将rdssvc4.png复制到system32目录下命名为rdssvc.dll,否则将rdssvc2.png复制到system32目录下命名为rdssvc.dll,两者都会将rdssvc.dat复制到system32目录下。
创建名为“Remote Database Service Update”的服务,服务指向的服务程序为前面复制而成的rdssvc.dll。
启动服务,rdssvc.dll被执行起来。
删除痕迹。
rdssvc.dll(Konni RAT,以x64程序为例):
在rdssvc.dll的ServiceMain导出函数中,首先会解密API:
创建HKCUConsole注册表项,并将65001写入CodePage中:
读取HKCUConsoleMaxElapsed下的值作为连接测试的等待时间:
读取rdssvc.dat文件,并从中解密出C2地址:
执行“cmd /c systeminfo”和“cmd /c tasklist”,并将数据保存到%temp%目录下:
将获取的数据使用makecab进行打包:
将数据aes加密后上传到服务端,服务端返回“success!”则表示上传成功:
从C2获取数据:
获取的数据使用“#”分割,分割的数据解base64后再进行aes解密:
最终根据返回数据中的指令可以实现如下功能:
指令 | 参数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
(点击图片跳转)
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...