专栏名称: 衡阳信安
船山院士网络安全团队唯一公众号,为国之安全而奋斗,为信息安全而发声!
目录
相关文章推荐
柠檬工会  ·  起猛了,百度接入DeepSeek R1满血版了! ·  18 小时前  
一口老井  ·  董小姐的棋局,是妙招还是险棋? ·  22 小时前  
一口老井  ·  董小姐的棋局,是妙招还是险棋? ·  22 小时前  
仙桃电视台  ·  “比价神器”来了!仙桃人买药必看 ·  昨天  
仙桃电视台  ·  “比价神器”来了!仙桃人买药必看 ·  昨天  
常州日报  ·  来了!陶喆演唱会常州站! ·  3 天前  
常州日报  ·  来了!陶喆演唱会常州站! ·  3 天前  
51好读  ›  专栏  ›  衡阳信安

朝鲜组织Kimsuky投放xml恶意软件

衡阳信安  · 公众号  ·  · 2024-10-03 00:00

正文

前言

样本信息IOC

一个XML恶意样本。

IOC:


XML样本下载地址:https://www.filescan.io/uploads/66d9c2130c6cfa135b3cbcb4/reports/2c3bda58-f4da-424e-8d56-22e82ad24d83/details

行为分析

从外部下载脚本

该xml恶意代码使用powershell从外部下载脚本,这里调用 iex 指令执行括号内的字符串。括号内是 iwr 对后面的url发起网络请求,从远程服务器下载脚本。 -WindowStyle Hidden 用于隐藏窗口。

直接访问该URL:

前俩个字节 4d5a 是PE文件头标识 MZ

最下方,有部分代码,这里将上面的十六进制数据还原为二进制格式,解码后保存为xBqz.mp3,之后再重命名为exe文件并启动一个新进程执行。这里 -NoNewWindow 避免弹出新窗口,以确保不被发现。

使用cyberchef:

保存为exe文件。

exe文件分析

样本信息

64位GUI,用了UPX打包。

行为分析

1.创建堆和进行初始化

0x100000即为16MB,这里先是用 HeapCreate 创建了一个堆,拷贝了一些数据给Src。

2.分配内存

使用 HeapAlloc 从刚刚创建的堆中分配了 80 字节内存用于存储一些数据,并且再次分配了 256KB 的内存用于进一步的数据处理。

3.创建事件并初始化

这里创建了一个事件。随后调用函数 sub_140055A20 。如下。

4.检查当前执行的模块名称

该函数使用 GetModuleFileNameW 获取当前正在执行的模块名。后面的验证确保了名称的长度为偶数,文件名只能包含特定的字符( '0'-'9' , 'A'-'Z' , 'a'-'z' )。

5.填充内容并解密

HeapAlloc 再次分配了内存, memmove 将加密密钥Src复制给v49。v12指向数据块。

之后用一个while循环 XOR 逐字节进行解密,密钥长度16字节。

6.解析数据

这里检查解密后的 *v11 是否等于21336。之后做了根据不同情况解析。

7.执行

通过 WaitForSingleObject 等待事件信号完成。然后根据v58、v5和v6判断执行函数指针。最后清理内存。







请到「今天看啥」查看全文