一、概述
Kimsuky组织为境外APT组织,该组织长期针对韩国政府、新闻、医疗、金融等机构进行攻击活动,经常以政府相关热点事件为诱饵进行定向攻击,窃取高价值情报是其主要攻击目的之一。
微步情报局近期通过威胁狩猎系统监测到Kimsuky APT组织针对韩国国防安全相关部门的定向攻击活动,分析有如下发现:
攻击者以“韩美峰会参考资料”、“韩国国防部招标文件”、“韩国互联网安全局APP”相关主题为诱饵进行定向攻击,其中所投递的诱饵文档为HWP格式,具有明显的针对性;
所使用木马包括Windows版本和Android版本;
使用的间谍类型RAT组件在旧版本的基础上丰富了间谍功能,包括键盘监控、屏幕监控、文件监控、USB监控等;
针对特定类型文档、文件进行窃取,具有明显的间谍属性;
攻击者在近半年时间持续对韩国国防安全相关部门进行定向攻击活动;
据韩国媒体《朝鲜日报》报道,近期韩国原子能研究院遭到Kimsuky攻击,攻击者利用原子能研究院V*P*N设备漏洞成功入侵其内网;
微步情报局近期监测到具有相同背景的Lazarus APT组织同样在针对军工企业进行定向攻击活动,与Kimsuky的攻击目标产生了一定的重叠,二者疑似是被统一策划进行定向攻击活动;
微步情报局通过对相关样本、IP和域名的溯源分析,提取了多条相关IOC,用于威胁情报检测。微步在线威胁感知平台TDP、本地威胁情报管理平台TIP、威胁情报云API、互联网安全接入服务OneDNS、主机威胁检测与响应平台OneEDR等均已支持对此次攻击事件和团伙的检测。
二、详情
攻击者将木马伪装为HWP文档、微软相关组件图标,捆绑诱饵文档向目标投递。诱饵文档为韩国HWP文档格式,具有明显的针对性。
图[1]. 诱饵文档截图
在木马模块中,会从C2服务器下载下阶段脚本执行,分析时C2服务器已无法正常响应,但根据关联信息显示,其最终加载该组织惯用的 RAT 间谍类型模块。
图[2].样本执行流程图
Android版本木马伪装成KISA(韩国互联网安全局)相关APP进行间谍活动。
图[3].伪装“KISA Mobile Security”APP的启动界面
三、样本分析
3.1 “韩国国防部招标文件”
文件名称 |
1. 2021년 사업 계획 (시설본부 자료 참고 보완) – 210316-1 (1. 2021年经营计划(参考设施总部补充)- 210316-1) |
SHA256 |
6184acd90c735783aafd32c3346c94332fa8c0212ec128a61f2764bd224c2535 |
编译时间 |
2021/03/16 23:51:07 |
样本所使用字符串均以加密形式存储,执行后,首先创建互斥体防止重复运行,互斥体名称”windows update {2021-1020-02-03-A}”。
图[4].在Dropper中创建互斥体
接着在当前执行目录释放并执行诱饵文档并模拟打开,文档截图如图[1]所示,其大致内容为韩国军方相关部门工程、材料等招标文件。
同时还会通过系统组件mshta.exe 加载执行远程脚本。
URL:http://v*p*n.atooi.ga/?query=5
图[5].使用mshta从服务器下载远程脚本
最后释放bat文件到temp目录并执行该文件进行自删除。
图[6].用于自删除的bat文件
3.2 “韩美峰会参考资料”
文件名称 |
한미 정상회담(5.21) 참고 자료 (수정본) (韩美峰会参考资料(5月21日)(修订版)) |
SHA256 |
679a17688cde5d57c4662df12ab134f64931497b87dfffd1cd87fd38ca2feeff |
编译时间 |
2021/05/21 00:12:04 |
在捆绑“韩美峰会参考资料”相关诱饵文档的木马中,攻击者使用了类似的组件,但使用VMP加壳保护。
图[7].木马PE区段中的vmp节表
诱饵文档如图[1]所示,引用了近期“韩美首脑会谈”的热点话题,木马执行流程与上面样本基本一致,调用mshta.exe从服务器拉取下阶段脚本执行,二者IP解析均指向同一服务器:104.128.239.70。
URL:http://mail.kumb.cf/?query=5
图[8].利用mshta从服务器下载脚本
3.3 间谍模块-Windows
研究人员分析发现,其用于存放脚本的C2服务器已无法正常响应,但根据关联到的同源RAT样本发现,该样本使用的C2服务器与上述服务器被解析为同一个IP 地址(104.128.239.70)。
MD5 |
c861f25bb943f77a909b33d62bb71926 |
SHA1 |
576b953cb4fe71adb71a338a42524b0e424824c1 |
SHA256 |
fd59597169668b90c47d0ad6db1bcd7d778c6d54ee3c42bdd2d86b2d2d34c885 |
文件大小 |
485888 字节 (474.50 KB) |
文件格式 |
PE64 DLL |
编译时间 |
2021/05/07 05:06:47 |
C&C |
anto.shore.ml |
通过regsvr*32.exe启动该RAT,并调用恶意流程入口点DllRegisterServer。
图[9].RAT模块的导出表
执行后首先进行安装流程,自我复制到以下目录:
C:\\ProgramData\\Software\\Microsoft\\Windows\\MDF\\WDFSync\\WDFSync.dll
图[10].RAT模块的自我复制
通过设置注册表名为 “WDFSync” 的开机启动项,实现持久化机制。
图[11].RAT模块中设置注册表开机启动项
接着以“SpyRegsvr*32-20210507140631”为名创建互斥体,此种类型互斥体在Kimsuky之前的攻击活动中多次出现,其中有“Spy”关键字和编译时间信息“20210507”。
图[12].RAT模块中创建互斥体
通过检查UAC注册表项ConsentPromptBehaviorAdmin和PromptOnSecureDesktop来确定UAC是否关闭,以及是否为管理员模式,如果否的话将会调用powershell提权运行。
powershell.exe start-process regsvr*32.exe -argumentlist ‘/s [木马路径]’ -verb runas |
木马使用两层命令结构与C2服务器通信,使用的C2服务器为:anto.shore.ml。
?m={指令1}&p1={硬盘序列号}&p2={指令2} |
该模块可支持多种间谍类型的远控功能,包括远程Shell、文件上传/下载/执行、键盘记录、屏幕截图、硬盘/USB监控等功能,具体远程指令代码如下:
指令1格式:
a |
收集主机信息 |
b |
上传数据模式 |
c |
命令执行 |
d |
删除命令 |
e |
上传命令模式 |
f |
文件列表模式 |
g |
删除文件模式 |
h |
检查文件模式 |
指令2格式:
b |
上传文件和USB数据 |
c |
上传截图 |
d |
上传文件 |
e |
上传键盘记录、屏幕截图、文件监控、USB监控数据 |
f |
下载文件 |
0 |
CmdShell |
1 |
下载Dll模块使用regsvr*32加载执行 |
2 |
内存加载执行PE模块 |
3 |
下载文件并执行 |
其中键盘记录、屏幕截图、文件监控、USB监控被放到单独线程中执行,除键盘记录为即时监控外,文件监控频率为60秒,屏幕监控频率为300秒。而在文件监控中,木马针对txt、hwp、pdf、doc、xls、ppt文档类型文件进行窃取,表明攻击者对此类文件非常感兴趣。
图[13].窃取文件流程中特定的文档类型
3.4 间谍模块-Android
文件名称 |
Kisa Vaccine.apk |
SHA256 |
fe1a734019f0dc714bd3360e2369853ea97c02f108afe963769318934470967b |
SHA1 |
16b3487022b674040227afc8979ffedd2f70b67e |
MD5 |
e7caf25de7ce463a6f22ecb8689389ad |
文件大小 |
1.28 MB (1337147 bytes) |
文件格式 |
Android |
C&C |
app.at-me.ml |
Android平台样本伪装成名为“KISA Mobile Security”的APP,KISA即为“韩国互联网安全局”,是韩国重要的网络安全保障部门。
图[14].伪装为“KISA Mobile Security”的APP图标
在Androidmanifest.xml中,可以看到该APP申请读取存储卡、手机状态、短信、开机启动等敏感权限。
图[15].APP中的 Androidmanifest.xml
在MainActivity中启动MainService用于执行木马功能。
图[16]. 启动MainService
核心函数onStartCommand中具体参数都是被加密过的,需要首先调用c.c.a.g.c.b(string)对参数进行解密。
图[17]. onStartCommand调用c.c.a.g.c.b
分析参数解密函数,为非标准加密方法。
public static String b(String str) { try { int length = str.length(); int i = length / 2; byte[] bArr = new byte[i]; int i2 = 0; for (int i3 = 0; i3 < length; i3 += 2) { bArr[i3 / 2] = (byte) ((Character.digit(str.charAt(i3), 16) << 4) + Character.digit(str.charAt(i3 + 1), 16)); } int i4 = i - 16; byte[] bArr2 = new byte[i4]; byte[] bArr3 = new byte[16]; System.arraycopy(bArr, 0, bArr3, 0, 16); int i5 = 0; byte b2 = 0; while (i2 < i4) { if (i5 >= 16) { i5 -= 16; } int i6 = i2 + 16; byte b3 = bArr[i6]; bArr2[i2] = (byte) (b2 ^ (bArr[i6] ^ bArr3[i5])); i2++; i5++; b2 = b3; } return new String(bArr2, StandardCharsets.UTF_8); } catch (Exception unused) { return ""; } }
对相关参数进行解密,得到伪装成KISA(韩国互联网安全局)应用的相关信息。
KISA_FOREGROUND_SERVICE_NOTIFICATION_CHANNEL
KisaForegroundServiceNotificationChannel
Antimalware service is running now
No threats were found
http://app.at-me.ml/index.php
然后,调用函数c.c.a.c执行后台任务。
图[18]. 调用函数c.c.a.c
之后在函数c.c.a.e.c中会拼接请求URL用于获取命令,拼接URL结果为http://app.at-me.ml/index.php?m=b&p1=”android_id” &p2=c,并创建cmd.dat文件用于存储命令,该域名同样被解析到服务器104.128.239.70。
图[19]. 拼接URL获取命令
最后调用函数 c.c.a.g.a ,用于执行服务端返回的命令(1,2,3,4,5,6,7,8)。
图[20]. 响应C2服务器远程指令
命令 |
动作 |
1 |
会提醒用户更新并进行更新操作 |
2 |
创建了 list.xls和 zip.dat ,并遍历/sdcard目录及其子文件夹下的所有文件,把文件信息写入了 list.xls |
3 |
上传指定的文件 |
4 |
使用 “sh -c”对 cmd_xxxxx.dat 的内容进行执行,把执行结果写入cmd_xxxxx.txt ,经过相同的伪装,调用 c.d() 上传 |
5 |
创建 sms.txt ,调用安卓短信协议,获取信息写入 sms.txt |
6 |
清除 app 的数据 |
7 |
清除 app 的缓存 |
8 |
发送短信 |
3.5攻击韩国原子能研究所
韩国新闻媒体《朝鲜日报》近日报道韩国原子能研究院于5月14日遭到朝鲜APT组织Kimsuky攻击。韩国原子能研究院拥有核电站、核燃料等重要国防资料。根据披露信息显示,攻击者利用原子能研究院V*P*N设备漏洞进入内网,使用了13个未经授权的外部IP访问V*P*N内部网络。
图[21].韩国原子能研究所网络侵权事故报告
(图片来源:https://biz.chosun.com/policy/politics/2021/06/18/V4DTFCEXPRA4DFCBVVJO3DPR5I/)
攻击活动所涉及IP均已被微步在线X社区准确识别。
图[22].微步在线X社区识别相关恶意IP
相关部门通过追踪涉及到的恶意IP,发现与去年攻击COVID-19疫苗制药公司的黑客服务器重叠。
图[23].朝鲜网络恐怖专门研究组“IssueMakersLab”的攻击者IP历史分析表
(图片来源:https://biz.chosun.com/policy/politics/2021/06/18/V4DTFCEXPRA4DFCBVVJO3DPR5I/)
通过分析关联样本,研究人员发现疑似相关的攻击样本,以“朝鲜无核化控制塔建设”为主题进行攻击。
文件名 |
북한비핵화컨트롤타워구축(안).wsf (朝鲜无核化控制塔建设) |
MD5 |
f0255dfcb932c3072c2489124b25b373 |
SHA1 |
1302ef3a4b3ebd2127b21ec56e140cfd74aebd93 |
SHA256 |
97e2f035a2fac5ee8d07a204fcf36edc6417fd8099c66d95f314c05b45a9d34f |
文件大小 |
442864 字节 (432.48 KB) |
文件格式 |
wsf |
C&C |
yes24-mart.pe.hu |
此样本为wsf脚本,运行后依次释放诱饵文档和后门模块并执行,诱饵文档为“朝鲜无核化”相关主题,与韩国原子能研究院具有相似的行业性质。
图[24].以“朝鲜无核化”为主题的诱饵文档
Kimsuky曾在多次攻击活动中使用wsf脚本进行攻击,这次同样也使用了类似的后门模块进行攻击,使用的C2服务器为yes24-mart.pe.hu。
图[25].Kimsuky使用的后门模块
四、关联分析
经过分析,除攻击韩国原子能研究院外,上述攻击者所使用的C2域名均被解析到同一服务器104.128.239.70,对该服务器相关资产进行梳理,发现从2020年11月起,有大量Kimsuky所使用的域名解析到该服务器,其中不乏有以“mail”、“member”、“exchange”等命名的域名,疑似为该组织进行钓鱼攻击活动所用。
图[26].解析到104.128.239.70的域名
利用网络钓鱼攻击无需高度复杂的黑客技术,攻击者可以通过伪造页面等形式收集目标邮箱账户等信息,再通过相关账户进行恶意邮件分发等各种欺骗行为感染目标,最终渗透到目标部门内部网络。
图[27]. Kimsuky伪造的钓鱼页面示例
(图片来源:https://blog.malwarebytes.com/wp-content/uploads/2021/05/phishing-example.jpg)
此外,在今年1月份攻击者同样伪装韩国国防部相关文档进行攻击活动,样本信息如下:
文件名称 |
driver.cfg |
MD5 |
7e041b101e1e574fb81f3f0cdf1c72b8 |
SHA1 |
2dccc8eb48bc7bdbde42cc4450086acac2c6ceeb |
SHA256 |
742e04ae5f2cd42cf514abbd1956c5993a3a3b268f4abe6e107f81097a75d509 |
文件大小 |
2204672 字节 (2.10 MB) |
文件格式 |
PE64 EXE |
编译时间 |
2021/01/23 02:11:43 |
诱饵文档内容为韩国国防部工作报告相关内容,图标伪装成hwp文档图标,诱导用户点击执行,之后加载执行的RAT模块中使用的C2服务器为imap.pamik.cf和exchange.amikbvx.cf,两者均被解析到服务器104.128.239.70。
图[28].伪装成“韩国国防部工作报告”的诱饵文档
从样本层面来看,Kimsuky在旧版本的基础上丰富了间谍功能,基本一致的流程可以表明攻击者在旧版本基础上不断添加及优化其间谍功能,例如使用同样的字符串解密函数。
图[29].字符串解密函数对比
互斥体名称是此类间谍组件的特征之一,在之前的攻击活动中通常使用“DropperRegsvr*32”字样。
图[30].以往攻击活动中使用的互斥体名称
在此次攻击活动中,使用了以“SpyRegsvr*32”关键字命名的互斥体名称,增强了此类组件的间谍属性。
图[31].本次攻击活动中使用的互斥体名称
该类组件将主要功能以单独线程方式执行,在以往攻击活动中,通常只有 RAT 线程、 键盘监控或屏幕监控线程(例如在以往攻击活动中只开启了RAT 线程用来响应 C2 指令)。
图[32].以往攻击活动中开启RAT线程
而在此次攻击活动中,增加了键盘监控线程、屏幕监控线程、文件监控线程、USB监控线程,表明攻击者在不断丰富其间谍功能。
图[33].此次攻击活动中开启多个工作线程
其远程指令格式也很有特点,开发者对旧版本保持了一定的兼容性。
图[34]. url中的指令格式对比
综上所述,微步情报局推测服务器104.128.239.70疑似为Kimsuky组织专项行动所用资产之一。该组织至少从2020年11月份起就开始对韩国国防安全相关部门开展攻击活动,先后以“韩国国防部工作报告”、“韩国国防部招标文件”、“KISA安全组件”等主题为诱饵对上述相关部门进行定向攻击。
五、结论
Kimsuky组织作为境外APT组织,一直保持着很高的活跃度,其对热点事件尤其是政府相关事件保持较高的关注度,该组织在攻击过程中体现出轻量化、多阶段脚本载荷的特点。
近些年,Kimsuky不断开发新的工具以及旧工具的变种,积极参与相关情报收集活动。微步情报局近期监测到具有相同背景的Lazarus APT组织同样在针对军工企业进行定向攻击活动,这与Kimsuky的攻击目标产生了一定的重叠,二者疑似是被统一策划进行定向攻击活动。
来源:freebuf.com 2021-06-28 12:11:48 by: Threatbook
请登录后发表评论
注册