文章总结: 360安全大脑揭露了Darkhotel组织利用Thinmon后门框架对中国沿海地区政府机构和外贸企业长达三年的攻击活动,该组织通过水坑攻击和多种软件漏洞(包括安全软件、OA软件和VPN软件)实施攻击,后门具备键盘记录、文件窃取和屏幕截取等功能,主要用于长期监控和窃取机密文件,文章详细分析了攻击手法、持久化机制和关联证据,为安全防护提供了重要参考。
综合评分: 90
文章分类: 威胁情报,漏洞分析,恶意软件,APT攻击,网络安全
Darkhotel(APT-C-06)组织利用Thinmon后门框架的多起攻击活动揭秘
原创
高级威胁研究院
360威胁情报中心
2020年8月25日 10:47
2020年3月期间,360安全大脑发现并披露了涉半岛地区APT组织Darkhotel(APT-C-06)利用VPN软件漏洞攻击我国政府机构和驻外机构的APT攻击行动。在攻击行动中Darkhotel(APT-C-06)组织使用了一系列新型的后门框架,该后门程序未被外界披露和定义过,360高级威胁研究院根据攻击组件的文件名将其命名为“Thinmon”后门框架。通过对Darkhotel(APT-C-06)组织利用“Thinmon”后门框架实施攻击活动的追踪,我们发现该组织最早从2017年就开始利用该后门框架实施了长达三年时间的一系列攻击活动,其攻击意图主要在于长期监控和窃取机密文件,受害者主要集中在我国华北和沿海地区,被攻击目标主要包括政府机构、新闻媒体、大型国企、外贸企业等行业,占比最大的为外贸及涉外机构。在这三年多的时间内,该组织不断更新后门框架,持续对目标发起攻击。
01
受影响情况
#
通过360安全大脑的遥测发现,受害者用户主要分布在我国东部沿海地区以及靠近朝鲜半岛的地区,这些地区拥有与朝鲜半岛来往距离优势,进而也成为中招用户的主要地区。
受害行业涵盖了政府、驻华机构、外贸、新闻媒体等多个行业,其中与贸易有关的企业占比最多达到1/4,其次是政府机构、新闻媒体,大型国企、高等院校。在今年3月的VPN劫持攻击事件中,有20多个中国驻外机构也受到了攻击。
在这些行业近70%都与外贸和驻外业务相关,涉外人员中招的占比极大。
02
技战术分析
#
根据我们目前的研究发现,该组织的技战术主要分为水坑攻击和漏洞攻击两种方式,攻击的后门程序按功能以插件形式释放和调度。
水坑攻击
在我们捕获的一例典型的水坑攻击中。受害者是访问韩国某色情网站,并下载带有木马的QuickTime安装包后中招。该安装包在安装完成后,会将恶意样本(Loader)释放在%appdata%目录并启动,最终加载载荷模块。
Loader
Loader(左)和正常播放器(右)签名对比
恶意样本(Loader)运行后会解密一段shellcode作为EnumWindows的回调函数,最终启动在内存中释放的载荷模块。
漏洞攻击
Darkhotel近年的攻击擅长利用软件平台的总控服务器漏洞,下发执行远程命令、下发木马后门程序,进一步控制主机。
- ### 利用某安全软件升级漏洞Ⅰ
2018年上半年,该组织通过入侵某单位的安全软件总控服务器,下发伪装成补丁的木马文件。在持续控制一年后,该组织不间断地针对该单位的终端下发伪装成软件升级包的后门程序。
伪装补丁
下发的后门程序被伪装成了漏洞升级补丁KB3928472.exe,由安全软件主控服务器下发并执行。样本在执行后会调用ActiveX COM接口执行JS脚本,释放主模块(wlbsctrl.dll)、插件模块(wmdusdt.dat)和用于解密插件的KEY文件(sublogus.dat),并创建ikeext服务持久驻留。
伪装升级组件
**update.dll会伪装成升级组件实现CMD 命令行回显和文件上传下载功能,同时样本会伪装为腾讯签名。
cmd回显功能
文件上传下载功能
- ### 利用某安全软件升级漏洞Ⅱ
2018年下半年该组织攻击某单位的另一款安全软件总控服务器后,是通过下发命令执行恶意脚本实施攻击,该恶意脚本通过远程服务器下载payload和相关插件
通过远程命令执行的脚本
- ### 利用某OA软件升级漏洞
近年来某OA软件多次被爆出安全漏洞,2017年该组织利用某OA软件漏洞对相关单位进行攻击,攻击者通过OA主控服务器下发执行命令,在计算机上下发命令执行tmp后缀的JS恶意脚本,通过一系列解密、释放动作安装后门程序。
安装后门程序的恶意JS脚本
- ### 利用VPN软件升级漏洞
2020年初,该组织利用某VPN软件的升级漏洞再次发起攻击,攻击者事先通过漏洞拿下了VPN服务器,然后将服务端的VPN客户端升级组件替换为后门程序,并更改了服务端升级配置文件,使用户在启动VPN客户端时会重新下载伪装成升级程序的后门程序,后门程序会从远程服务器下载执行shellcode,最终释放各种不同功能的攻击组件。
03
后门持久化
我们在溯源追踪过程中发现,该组织在部署下发各种荷载,采用多种方式实现持久化,并且多次更新相关模块的技术。
IKEEXT劫持
IKEEXT(IKE和AuthIP IPsec Keyring Modules)是Windows操作系统的一个服务。IKEEXT服务会试图加载一个不存在的DLL——“wlbsctrl.dll”
该组织通常将payload伪装成wlbsctrl.dll,再通过脚本或者远程命令重启IKEEXT服务,每当系统启动后,IKEEXT服务自动启动并加载wlbsctrl.dll
Spooler劫持
Print Spooler是操作系统中的打印服务,一般可以通过注册表安装不同的打印服务。攻击者先在系统中安装正常的打印服务TPWinPrn.dll,由于TPWinPrn.dll运行时会去加载模块文件thinmon.dll,因此攻击者会下发伪装成thinmon.dll的木马实现驻留。
通过注册表安装TPWinPrn.dll的命令
正常的TPWinPrn.dll加载thinmon.dll
COM劫持
攻击者在注册表 HKLM\software\classes\CLSID\ 下添加一个不存在的CLSID节点结构,例如{C5602CE6-9B79-11D3-B654-581BBAEF8DBA},并将键值设置成恶意文件的路径,然后再在家庭网络配置管理器的CLSID节点{46C166AA-3108-11D4-9348-00C04F8EEB71}下新建TreatAs项,并将键值设置成{C5602CE6-9B79-11D3-B654-581BBAEF8DBA},再重启服务,这样当系统引用家庭网络配置管理器的CLSID时就会链接到新的CLSID上,从而加载恶意文件,达到COM劫持的目的
劫持 {46C166AA-3108-11D4-9348-00C04F8EEB71}
修改注册表CLSID
04
后门核心组件
调度模块
调度模块实际上是个ReflectiveLoader,主要以thinmon.dll、wlbsctrl.dll以及其他一些文件名命名,并且一般都存在于system32目录下,主要用来加载其他插件模块
在DLLMain根据DLL加载方式执行不同流程,如果加载方式是进程加载就调用安装函数,
根据lpvReserved的值判断是否已经安装,如果lpvReserved的值是0xF1A7D42B表示已经安装。
读取自身,重新装载DLL,获取DLLMain地址,实现反射式注入,并将fdwReason的值设置成4或5,系统默认值为0-3
当fdwReason值为4时,调用核心线程
获取用户名、计算机名、操作系统版本,是否是服务器、网卡信息、是否有远程桌面,并将这些信息加密保存在以用户名、时间、PID命名的缓存文件里,文件路径如下:
%allusersprofile%\Windows\Explorer[UserName].[time_pid]\thumcache_[pid].prf
初始化插件,从文件中解出配置信息,配置信息字段如下
| | |
| — | — |
| 字段 | 说明 |
| SPE_MutexName | Mutex名称 |
| UPE_MutexName |
| SPE_NumOfDll | 插件模块数量 |
| UPE_NumOfDll |
| SPE_LoadMode_ | 插件启动方式 |
| UPE_LoadMode_ |
| SPE_DllPath_ | 插件路径 |
| UPE_DllPath_ |
| SPE_InjectProcess_ | 注入的目标进程 |
| UPE_InjectProcess_ |
检测系统环境是否有安全分析工具
加载插件,大致分为3种方式加载:
- 通过LoadLibrary直接加载插件
- 解密文件后通过线程加载
- 解密文件后注入Service.exe
远程模块
远控模块使用了开源项目Meterpreter的metsrv.dll,其结构如下
Shellcode
安装配置信息
| | |
| — | — |
| 字段 | 说明 |
| comms_fd | 通信的套接字handle(如果有的话) |
| exit_func | 当会话结束时退出函数标识符 |
| expiry | 杀死会话前总秒数 |
| uuid | 唯一标识 |
| url | C2地址 |
| comms_timeout | 等待一个新的packet的会话数 |
| retry_total | 重新通信总秒数 |
| retry_wait | 重连等待秒数 |
05
后门功能插件
#
在该组织的多次攻击活动中,我们捕获到了3种功能插件,它们在计算机中都以二进制加密的形式存放在临时目录,在需要被加载启动时,由调度模块对其解密并加载。以最近一次VPN升级劫持的攻击活动为例:
键盘记录
其主要功能为记录键盘输入信息到指定文件中,并且监控Mstsc(远程桌面链接) 进程
首先创建日志文件存储路径,之后启动键盘记录工作函数,待函数返回之后,生成日志文件。
使用SetWindowsHookExA获取键盘信息
处理hook
记录按键和时间
文件窃取
=
该模块的主要功能为窃取U盘中指定后缀名的文件
首先检查目录 C:\Users\xxx\LocalSettings\Application Data\Microsoft\Media Player 是否存在,不存在则创建。并在该目录下写入jusched.htm和AK0FDS.z00文件,其中jusched.htm的文件内容为 “[.ShellClassInfo]UICLSID={A2D4F61891212}”。
遍历目录寻找以下几种格式的文档,加密存入后缀为Skm的文件
txt、hwp、doc、docx 、eml、ckh 、ppt、pptx、dwg、rtf、xls、xlsx、pdf
如果找到以该后缀结尾的文件,则判断文件属性,打开该文件获得文件大小,判断大小是否符合要求,如果符合要求,读取文件指定位置的内容,对文件内容进行数据运算,然后计算md5。
屏幕截取
该模块首先遍历当前进程,查找进程名中包含”.scr”的进程,目的是为了判断当前机器是否处于锁屏状态。如果机器处于未锁屏状态,才会进入后续的截屏流程。
如果当前机器的上次输入时间在一定时间范围内,则截取当前屏幕。
最终在screenshot中调用sub_10004e00完成截屏功能,并保存解密后的截屏文件到”C:\Users\xxx\AppData\Local\Microsoft\InternetExplorer\Cookies\Cache\xxx”目录(xxx为用户名)。
06
归属关联分析
#
对攻击活动中的多个关键样本进行分析后发现,这些攻击样本与Darkhotel(APT-C-06)在历史上的样本算法、代码上都存在相似度的关联。
算法关联
此次攻击与2018年初“双杀”漏洞[1]相关披露中的算法存在十分相似,都是通过一个64字节的异或表对加密字符串循环异或
插件关联
利用VPN漏洞攻击时使用的插件与APT-C-06曾经使用的后门程序lucker中的插件在功能、代码、导出函数名、算法、字符串等方面都存在相同之处。
键盘记录插件对比
文件窃取插件对比
窃取文件类型对比
截屏模块导出函数名对比
总结
360安全大脑通过对Darkhotel(APT-C-06)近期攻击活动进行了深入的分析挖掘,并结合威胁情报数据对该团伙近三年来的攻击武器和技战术进行了分析和比较。可以看出该组织对企业所使用的内网安全软件和办公软件进行了深入的研究,利用这些软件安全平台的漏洞投放后门程序,并持续更新迭代恶意代码的功能和形态,这也给企事业单位应对APT威胁带来了新的挑战。360高级威胁研究院将持续监测该组织的攻击活动,目前360威胁情报云、APT全景雷达等360全线安全产品已经支持对该组织的攻击检测。
团队介绍
TEAM INTRODUCTION
360高级威胁研究院是360政企安全集团的核心能力支持部门,由360资深安全专家组成,专注于高级威胁的发现、防御、处置和研究,曾在全球范围内率先捕获双杀、双星、噩梦公式等多起业界知名的0day在野攻击,独家披露多个国家级APT组织的高级行动,赢得业内外的广泛认可,为360保障国家网络安全提供有力支撑。
附录
1
URL & CC
206.221.187.130
185.4.227.2
http://account163-mail.com/recommend/ascfree.php;
http://apple-onlineservice.com/recommend/ascfree.php;
http://onlineservice.bounceme.net/recommend/ascfree.php;
http://134.119.220.118/update64/pack1.dat
http://134.119.220.118/update64/pack2.dat
http://134.119.220.118/update64/pack3.dat
http://134.119.220.118/360safe.css
http://185.198.56.191:80/sfverify.php
2
MD5
f6bb14997964930cae7d91f1250551c0
67b65dff4b436d0ffeacb8c73ffbfb65
9b66952270bee7560f48999b003e9fb1
58f6a9c7b9c075b5b0e4d1d6f8d70283
32c3937fc91f2bf4a36ea99ffd0cbb77
e88aad7dfac4e60acbc42322bdcb920a
38a67aa7a9365c1df62094e1d25bad3d
12828458034f3fcb7215b1428ca5ed18
05db01d01657c484bd10b8bd14a8e74f
bee985e833e864aec5c2502f0228a4a3
ea2444e6a9947b686f7c2cec0abed87f
e74cf875fbd03fe47fdd5c6631213502
49fd304ef3ed638cd08ef895c55e998d
aeb995a0ae6cab11fe8fbcd2ca413e09
81868cb673f40ef1ee1a3c0d3b0a66c9
82868815710d0428a1c893ce923ce102
24e4c5eefb59b707879c89a33455b016
bb552beabf99b014bb8c841b0ad91df4
40ece520b9562cd84a7d869fe3c89dab
fb391f0cd34121fb412e2ead65283a3f
aa517a3f48deb2eb08965731c593e2fc
cc8f707c40b5b810dcb1ee8583e7b94f
c44bbe3e576ac7d52dbebec3ccbadb51
f7fcd54f2814dc31d8614fb444c5f732
227abe5dc940307ac3074a930d8c3c3c
dfcf5c5ef07892d793714e7c91248777
6c8079c065f1d64dccbce9ee43066f80
cf4908e291f147359e7c84ff1475c3a6
59f1f2c0090b119b1565c5f7d4807d18
5812ee7b18ac055e504e068cc18b4d09
a614701769e2ab31c12f06bf65c1984c
2cc60b641c6b6f0f9603e190d6cf32ab
183460d874392ff9b3ccacfc460814f3
8f2d7f328c3a161fdbbeec851d3bceba
595f52e7609ea101e9b81826c2a7f4fd
1f4de902321ce4c646580b60e75a91e8
da1ffe2b24e9f6148d0932b3053ba10a
a74bc3e40d597c362c12370575c79308
ed5c6af5dd328bb1d8d1354e4eea4d88
89849da283f0473bc6f5449d281f5bc8
156d3ede86b1d47142ba26a566a319c6
6054ba191cae52455f92cdb11cbfd4dd
ec227a3e29bec0c43759bf8783bdca93
39bceabd1df729ca500967ef577162a2
52d1754cbd4ada3fed909a0126ced593
8d0aa12bb77a7588ab67e2fbde402ae1
5ca7052c60024f8a768343989f126af4
cb6fd1ca131800174f2b7e6c93040292
271b6c538dfe64a5de275671520d51ab
833a604d7b9f6626584ff6da2ca1fe1a
908a3af309f12b509f30dff4073c41c2
b9013c4252103795c74b84547bfc212e
4eca750e9817b38695ac4d49d09f42b6
2d958190c963b07fed077103d2c0c165
fe3812eaea1dde2bda7efcac10bc3875
39c63176a48ca16cc81029ca80606c8b
d2ae4cd314969838ad2368dfb683caef
6e6924d8032120700a023f6a54a0b44c
d26f9034e6e681c3117010cf155a7d0d
0fafcbeb7cf6f5d170056ef8f5ef899d
099748c21565b48d8dda8df02313cb00
a44cc189fdf364ef3c72b40bad6dc205
b752653c818d616b7098b74202c66e5c
afcae8c39967e0b34e07b6de7b40dc47
c67edaa6a4fe3d633abeea1c3faaa216
c28222727ee1ad1934a2fc834d3aa496
247ca9c7e4eb353d8febac292e1db7c3
a717291bf45e8b87dc5681e6e3b35cb6
02584732906684d2da99e5d79c80a8fc
61a304da9df9b2a07a0e6047b46f3931
a208ac02c6a311e7f3f4034c9fdc2d9e
b5ed77f2cc2c8b071791be2f17b27b11
63048a073cd69cdb71727e69aaf7433b
d4dbd113ff2060f5a9ed3de7aec97fe4
050e5bd75dabea59ae26894dae45960d
bde8aa9dbb8d24719b80a249869e58b8
aff2eedc9f872ea3ce64c4c127cbf3d5
b0e8edfcfc264b21c65dfb46b5105d6d
88a2e9efe5d264de7136d5ec2ac18557
3e7efbed5846602fbfca3fa9b1c34d4c
07bd08cf86f8c31806829688dbfd104a
191ac1a11e1cf96df267c0ccd85c5656
02635a1f3d27a8780961f6463c8d8879
3bf9370520bbe071b6820070ec8cead5
1b0f92afa9c4dd1464ea2a9bb090ab33
51cf8f6f9290b934d00a3fac0f196b3b
8bc015f728cd21fd8d6e8617bd86edd0
5ffd69b00c96c84e298edd74ec2994cd
86d0a914b84b09e81fac347e4f6ec81b
a711d13de8badc06bb0a6566aeef5b99
bda63d70557114e33c745ff8d2eb076b
42bfe662c68bef328a2e25365132eb9d
4e744f7ad4db3c605b4707eec5ee5f34
3cd789528d1805149a818840fd3865cb
d57f99432db7a2c1668654eb4f3d7d98
0ab275dac59803a1ad692c1c58678666
96a88ce3fede3b20de058ea1139b2de4
b256ad66b3670ae9735f03f9a89c85c9
f1f0033b446fca7894f8442421b2d94a
9ea0f11501e1b3c6960d43fee2dc9c50
013d4dd1d8f9c7cd47b99328db78d781
020274f8a575e5d3e277eadd1051acd1
efe9017e8fa38474673b0a75d00c1501
8ba2ef1fd12a5006b7cd2973827e54f6
45f9876d0313be5d43000a61bcbb9094
3252795620ae504c6e7be84dd3675633
c8a6737feba2d6c9d110dca98c68fe01
ed26df1cf67ab1aedf168adc81982c68
ee351896703cb780d1402e3575bb133d
21acec60f4025e7293e320857f702ffa
ecd59fe4e80883f36a6db7b505722d40
cd14348d154afbd3eac69c1d185433ee
53e44e7c89f2a03ca5530d0de083e37c
8f9915566f49ca190970024884a60ff7
4f7ab80c7eaa1f1bc5b8eda1ae934d4a
8ce38a6e9c1f9b33b236cf8e874b10dd
9c4c59b6c1f9c6748e29f974ef1aa29c
5c270a1bc3fbd338277635b273d07d6e
9ec0ea047c488b2293c41cc94684343c
290f69d8b342bf1881d237934943d9f3
1647902f72f7bfe19b2685836545d5a0
a765e31e02acf7849430bfc20314325d
b68322ca486c5b40e1139010629e4404
cc06a27d43bdce4cea40d484cedfb854
cdff194c6a2428caa86fa9941e743171
d4bd05f7101a1c20165cf1a10ca0bd83
db22937b4b0e350cb7092b9b689d7fb6
869ecd7f6b44be679f32f7b5fb7b32a2
703e15d526b4268ebe57cf0cd12bf268
02a87a84c961619a650ca31e61ee2134
5d1d4aabe132309cb914724e02280fca
9d5b97ba0bf6a5bab004b98b7974b0b5
50ded49ecac8984b806768eb0675bc01
86a1f796668191113692d02a99e2eb97
71709a1f32f62ee9a7560eef969c589d
65723802d9912da7f3f84e50e20caddf
b2f7c0d2eddcb6430544ddcfa06a9bd5
f3437776d4854bb5cfd5df8db67c2009
[1] https://www.freebuf.com/articles/paper/171254.html
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:360威胁情报中心 高级威胁研究院《Darkhotel(APT-C-06)组织利用Thinmon后门框架的多起攻击活动揭秘》