老树新花:Kimsuky使用的新版KGH间谍组件分析

  • A+
所属分类:逆向工程

老树新花:Kimsuky使用的新版KGH间谍组件分析


1

概述


Kimsuky APT组织是境外由特定政府支持的、先进的APT组织,其至少从2012年开始运营,近些年一直针对韩国、俄罗斯、美国等政府从事间谍活动,该组织经常使用各种鱼叉式和社会工程学方法来获得对目标的初始访问。
微步情报局近期通过威胁狩猎系统监测到 Kimsuky APT 组织使用 KGH 间谍组件在进行攻击活动,分析有如下发现:
  • 攻击者开发私有工具制作钓鱼邮件,对目标进行鱼叉邮件攻击;

  • 木马进入目标系统后,使用漏洞 CVE-2019-0880 进行提权;

  • 攻击者复用了之前 KGH 间谍组件的部分代码,利用 KGH 间谍组件窃取目标隐私信息;

  • 开发者在旧版本 KGH 间谍组件的基础上拓展了持久化、远程控制等功能,根据样本信息显示,疑似多个开发人员协同工作;

  • 在新版本 KGH 间谍组件中,使用 FTP 协议与 C2 服务器通信;

  • 微步在线通过对相关样本、IP 和域名的溯源分析,提取多条相关 IOC ,可用于威胁情报检测。微步在线威胁感知平台 TDP 、本地威胁情报管理平台 TIP 、威胁情报云 API 、互联网安全接入服务 OneDNS 、主机威胁检测与响应平台 OneEDR 等均已支持对此次攻击事件和团伙的检测。

2

详情


Kimsuky 组织使用的 KGH 间谍组件已经不是第一次看到了,攻击者通常使用鱼叉邮件对目标进行攻击,开发者在此次攻击活动中对 KGH 组件进行了功能拓展,使用了漏洞 CVE-2019-0880 以提升进程权限。目前研究人员尚未明确攻击者所针对的目标,但根据分析信息显示,疑似为俄罗斯方向相关团体。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[1] 执行流程图

3

样本分析
3.1 第一阶段:初始访问
攻击者使用一款名为 “MakeMail” 的私有工具用以制作钓鱼邮件,文件信息显示开发语言为朝鲜语,Pdb 路径:“x:myworkprevworkvc attack programmakemailreleasemakemail.pdb”,其中 work 表示开发者可能处于受雇状态, prevwork 表示该工具在攻击前阶段进行开发,编译时间2017年表示攻击者可能在复用之前的工具。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[2] MakeMail.exe 程序文件信息

此工具先点击 MakeWord 按钮,根据所设置关键字生成类似字典的 txt 文本,同时文本内容也可自定义,然后填写对应序号,将指定 eml 文件导入,点击 MakeEmail 按钮将目标 eml 文件中的关键词替换为序号指定的关键词用以制作钓鱼邮件,再借助类似 swaks 之类的工具进行鱼叉邮件攻击。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[3] MakeMail.exe程序界面

3.2 第二阶段:木马安装
攻击者前后开发了多个类似的木马,作者观察到在部分组件中携带有 Pdb 路径,疑似多名开发者协同工作。
D:MyWorkPrevWork취약점자료IE2021WorkFinalsplwow64_pocx64Releasesplwow64_poc.pdb

D:MyWorkPrevWork취약점자료IE2021WorkFinalsplwow64_pocx64ReleaseDLL.pdb

I:splwow64_pocReleaseCreateDC.pdb

I:splwow64_pocx64ReleaseDLL.pdb

C:UsersAdministratorDownloadsWin32Project1x64ReleaseWin32Project1.pdb

X:MyWorkPrevWorkVC Attack ProgramMakeMailReleaseMakeMail.pdb

木马进入目标系统之后,名为 “speed1.exe” 的木马首先连接 FTP 服务器,以目标主机名在 FTP 服务器创建同名文件夹,后续该目录将会存储执行日志、系统信息、窃取的数据等。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[4] 连接FTP服务器

攻击者前后在多个组件中使用了相同的 FTP 服务器和用户名,但是多次修改 FTP 密码。

FTP服务器

用户名

密码

ftp.selp.o-r.kr:21

aaa

[email protected]#$

[email protected]#$

[email protected]#$

[email protected]#$

在 “speed1.exe” 中尝试将 %Temp%speed3.exe(间谍模块)复制到系统目录 C:Windowssystem32comhost.exe。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[5]向系统目录拷贝

如果复制成功将会直接执行,否则会检查 speed3.exe 路径是否包含 Low 字符串,如果不包含,则会复制到 C:UsersAppDataLocalcomhost.exe 执行,并以字符串 "Level Medium-->Path" 作为日志标识。
如果包含 Low 字符串,则会利用漏洞 CVE_2019_0880 进行提权,将 %Temp%speed1.dll 通过注入的方式以高权限执行。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[6] 漏洞CVE_2019_0880 expolit反汇编代码片段

被注入执行的 speed1.dll,从 Temp 目录寻找 %Temp%lowpay.exe 或者 %Temp%pay.exe(间谍模块),将其复制到 C:UsersAppDataLocalcomhost.exe 并执行。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[7] 在dll中执行间谍模块

木马将执行记录和主机进程列表信息暂存到 %Temp%dlllog.log 中,最终将此文件上传到 FTP 服务器。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[8] 木马记录的日志信息

3.3 第三阶段:间谍模块执行
间谍模块执行后首先动态获取 API 地址。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[9] 动态获取API

之后设置注册表开机启动项,启动项名称:SamVs。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[10] 设置注册表启动项

创建窗口,窗口标题:SamVs,窗口类名:SamVs Class。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[11] 创建窗口

在窗口回调函数中设置定时器进行恶意行为,首次触发时间10秒钟,后续触发时间60秒。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[12] 窗口回调函数中的定时器

以创建事件的方式作为互斥防止重复运行,事件名称 "VSthread"。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[13] 创建事件

先尝试从注册表取服务器配置,包括 FTP 服务器地址、FTP 用户名、FTP 密码。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[14] 从注册表读取FTP配置

如果没有成功获取上述信息,将会使用默认的配置与 FTP 服务器进行 C2 通信。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[15] 硬编码的 FTP 配置信息

获取主机名称,以主机名称在 FTP 服务器建立对应文件夹,此目录将会作为对应主机的活动目录。
老树新花:Kimsuky使用的新版KGH间谍组件分析

图[16] 收集主机信息上传至C2服务器

3.4 第四阶段:窃密与 C2 通信

间谍模块会收集多种浏览器、邮件客户端等隐私信息,包括 Chrome、IE/Edge、FireFox、CredManager、WinSCP、Thunderbird、Opera 等。将收集到的信息包括执行路径、系统目录、磁盘信息、浏览器隐私信息上传到 FTP 服务器,以 tert_<路径转换id>.txt 为名,之后再使用系统命令 systeminfo 将收集到的主机信息上传到 FTP 服务器 sysinfo.txt。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[17] 窃密函数流程

删除 FTP 服务器上的文件 KEEPALIVE,再重新创建一份同名文件,攻击者可根据该文件判断主机存活状态。之后读取 FTP 服务器对应主机目录中的文件 cmd.txt ,从中读取远程指令并执行对应功能。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[18] 从 C2 服务器获取远程指令
远程指令代码如下:

指令

功能
B
上传指定目录文件
C
删除注册表monstate标记
D
下载文件,以LoadLibrary形式加载执行
E
加载alysvc.dll,调用导出函数SystemCheck
F
屏幕截图1
G
上传文件
H
删除文件
I
更新注册表中的FTP服务器、用户名、密码
L
内存加载PE模块,使用0xAA异或解密
T
屏幕截图2
1
下载文件,以ShellExcute执行
2
上传指定文件
3
获取主机磁盘信息
4
使用tree命令获取文件目录结构信息
5
注册表枚举
6
搜集主机浏览器等隐私信息
7
获取主机最近使用文件
8
删除文件
9
进程枚举
17
设置注册表monstate标记
分析时登录 FTP 服务器,发现已有20余个感染用户。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[19] FTP服务器上的感染用户列表
从窃取到的部分信息中可看到部分主机疑似为俄罗斯所属主机,目前应该没有国内用户被感染。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[20] 窃取的部分信息
4

关联分析


Kimsuky 使用的 KGH 间谍组件非常有特点,该间谍组件曾被国外安全机构披露。在以往的攻击活动中该组件曾携带 Pdb 路径 “E:SPYWebBrowserKGH_Browser-Masterx64ReleaseKGH_Browser-Master.pdb” ,这也是 KGH 名称的来由。在本次所分析的间谍模块的新版本中,虽然攻击者删除了Pdb 路径信息,但从反汇编代码层面看与旧版本 KGH 间谍组件存在高度一致性。

在之前的攻击活动中, KGH 间谍组件多以模块化的方式呈现,通常需要配合其他模块进行攻击,例如在单独的模块中实现窃密功能,而开发者在新版本中拓展了 KGH 间谍组件的功能,包括持久化、远程控制等,且使用 FTP 协议与 C2 通信,使之成为可以独立运行的模块。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[21] 基本一致的窃密执行流程(左为旧版,右为新版)

从字符串信息也能观察到与旧版本的高度相似性。

老树新花:Kimsuky使用的新版KGH间谍组件分析

图[22] 高度相似的字符串(左为旧版,右为新版)
5

结论


Kimsuky APT 组织近些年持续开发新的工具以及旧工具的变种,在此次攻击活动中,作者观察到 Kimsuky 在旧版本 KGH 间谍组件基础上拓展了多种功能,表明该组织在积极进行相关情报搜集工作,微步情报局会对相关攻击活动持续进行跟踪,及时发现安全威胁并快速响应处置。

- END -


公众号内回复“KGH”,可获取完整版(含IOC) PDF 版报告。



关于微步在线研究响应团队

微步情报局,即微步在线研究响应团队,负责微步在线安全分析与安全服务业务,主要研究内容包括威胁情报自动化研发、高级 APT 组织&黑产研究与追踪、恶意代码与自动化分析技术、重大事件应急响应等。


微步情报局由精通木马分析与取证技术、Web 攻击技术、溯源技术、大数据、AI 等安全技术的资深专家组成,并通过自动化情报生产系统、云沙箱、黑客画像系统、威胁狩猎系统、追踪溯源系统、威胁感知系统、大数据关联知识图谱等自主研发的系统,对微步在线每天新增的百万级样本文件、千万级 URL、PDNS、Whois 数据进行实时的自动化分析、同源分析及大数据关联分析。微步情报局自设立以来,累计率先发现了包括数十个境外高级 APT 组织针对我国关键基础设施和金融、能源、政府、高科技等行业的定向攻击行动,协助数百家各个行业头部客户处置了肆虐全球的 WannaCry 勒索事件、BlackTech 定向攻击我国证券和高科技事件、海莲花长期定向攻击我国海事/高科技/金融的攻击活动、OldFox 定向攻击全国上百家手机行业相关企业的事件。



内容转载与引用



1. 内容转载,请微信后台留言:转载+转载平台

2. 内容引用,请注明出处:以上内容引自公众号“微步在线研究响应中心”

本文始发于微信公众号(微步在线研究响应中心):老树新花:Kimsuky使用的新版KGH间谍组件分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: