1. 事件概述
近期,知道创宇404高级威胁情报团队发现了一批针对华语用户的定向攻击活动,最终运行的恶意载荷是通过修改的gh0st RAT,我们一度认为是友商曝光的GoldenEyeDog/Dragon Death APT组织[1][2],该组织曾利用快连VPN发起过类似的水坑攻击。但经过仔细分析后发现虽然都是利用了快连VPN进行的水坑攻击,且最终的载荷都是gh0st RAT变种,但是整个木马的加载链条和其他攻击信息并不相同,木马也不相同。gh0st RAT常被华语黑客组织使用,因此仅凭木马本身很难将此次攻击活动直接与GoldenEyeDog关联起来。
整个攻击活动有如下特点:
1.攻击目标部分明确为博彩和诈骗相关的从业人员。攻击者通过使用带有吸引力的标题诱导受害者点击,来达到木马植入的目的。这与传统的黑灰产组织有一定的区别,其攻击对象往往并非普通用户,而是通过控制黑灰产从业人员的主机来获取利益,属于典型的“黑吃黑”。如图所示为此次发现的部分木马名字:
从图中可以看到,这些工具和数据主要针对博彩从业者和诈骗从业者。其中“海外精聊”经过查询后发现,一般为诈骗从业者黑话,主要为诈骗底层从业者学习诈骗话术使用。类似的工具,如TG群发和邮箱群发等也多为底层赌诈从业人员使用工具。此类人员的网络安全意识并不好,中招概率高。复杂的黑吃黑的故事,类似于近期讲述缅北故事的电视剧情节。
2.针对华语地区,我们发现水坑网站和木马主程序名称均使用汉字,同时在PDB路径中也包含汉字。此外,捆绑木马的安装包主要包括华语用户常用的软件,如toDesk、SunloginClient、sogoupinyin、Chrome浏览器、LetsVPN等。同时,该木马还具备窃取QQ信息的功能。这些迹象表明,APT-K-UN3背后的操作者可能精通汉语,并且其攻击行为主要针对华语用户。通过对GoldenEyeDog攻击事件和“仙女座蠕虫”事件的前期分析,我们发现,所谓的黑产组织并不一定只攻击具有经济价值的实体。黑产和具有政治背景的APT之间的关系复杂且不易下结论。
3.创新性地滥用国内某智能客服SaaS系统作为载荷下载服务器,以此来躲避流量设备的检测及各大安全厂商的威胁情报。
4.通过水坑攻击、钓鱼以及社群信息等多种手段进行传播。其中,水坑攻击网站进行了SEO优化,使其在某搜索引擎中排名第三。然而,排名前两位的网站无法提供文件下载。因此几乎可以推断,若使用国内某搜索引擎搜索“快连VPN”并下载安装,则极有可能感染此次攻击中的木马。通过关联分析,我们发现该组织至少使用了50个相关木马文件。
基于以上信息,一个主要针对黑灰产人员(尤其是博彩和诈骗活动参与者)以及IT从业人员的组织逐渐浮出水面。该组织创新性地利用SaaS客服系统作为木马载荷下载器,并通过水坑攻击、社群传播等手段展开攻击。因此,知道创宇404高级威胁情报团队根据内部命名规范,暂时将其标识为APT-K-UN3。
2. 样本综述
最终的payload木马为修改过的gh0sh木马,且木马中大部分都使用了C:\Users\Public\Documents\MM
这个文件路径,为方便跟踪,故将其命名为Mgh0st。在整个攻击时间范围内,攻击者使用了两个版本的Mgh0st,而在编程语言上,除使用标C外个别样本还使用了MFC框架,可见背后人员具备较高的编码能力。
以下将对整体执行流程及相关技术点进行详细描述,以其中一个木马为例:
MSI中的文件如下,当点击MSI文件后,运行其中的4.exe以及快连VPN安装包,4.exe中携带恶意功能:
[CC DD EE FF]
,该数据是攻击者为方便找到shellcode1中包含的PE而设置的flag:找到PE的偏移后,通过模拟加载的方式将PE(记为Mgh0st)加载起来,最终跳转到DllEntryPoint处执行,并将参数fdwReason置为1:
Mgh0st是基于Gh0stRAT修改的变种远控木马,其功能涵盖了键盘记录、屏幕截图、浏览器数据窃取等。在此次样本中,攻击者采用了多种文件和技术实现木马的驻留和侧载,其加载步骤与以往有显著不同。
具体来说,通过CheckTokenMembership检测当前是否具备管理员权限,若不具备,则通过runas以管理员权限重新运行:
为主程序设置为系统和隐藏属性:
创建3个线程:
线程1主要负责3.txt、1.bat、libcef.dll和svchos.exe的下载;
线程2负责4.txt的下载和执行;
线程3负责7.txt的下载和执行。
完成上述文件的下载和执行后,最终跳转到Shellex
导出函数执行,该导出函数则是Mgh0st的主要功能,以下仅对重要的功能点进行描述:
创建一个自启动服务,服务名为程序名,参数为-auto
,并启动服务:
连接C2,从中接收指令:
C2实际为一个列表,选择哪一个作为C2要根据主程序中的数字来决定,例如本例中主程序为4.exe,则最终C2为:206.238.198[.]201:
根据接收的指令能够实现的功能包含:
1.获取浏览器的数据:
2.键盘记录:
3.QQ窃密:
4.利用Mimikatz 获取受害机的账户密码:
其余功能还包括屏幕截图、剪贴板窃取、注册表管理和文件管理等。
Mgh0st除了上述版本外,还存在一个变体,其唯一差异在于是否通过主程序中的数字决定后续通信的C2。
我们推测APT-K-UN3在设计时可能为了区分是否具有泛用性而设置了这种机制,但也不排除版本硬更新的可能性。实际上,基于主程序中包含的数字来决定C2的手法在多个组织中已有应用,例如GoldenEyeDog和银狐组织。
5.txt与前一阶段的shellcode1采取相同的方式获取PE,最终跳转DllEntryPonit执行。Dll运行后首先判断C:\\Users\\Public\\Documents\\MM
是否存在,若存在则跳转schReg导出函数运行:
schReg导出函数的主要功能是利用MS-RPC调用\pipe\atsvc接口,该接口主要是实现远程创建计划任务的功能,此计划任务的主要目的是运行C:\\Users\\Public\\Documents\\MM\\1.bat
:
1.bat的主要功能是运行C:\Users\Public\Documents\MM\svchos.exe
:
svchos.exe是一个带有合法签名的白程序:
当其运行后则会默认加载libcef.dll,这将导致同目录下的libcef.dll加载执行。
libcef.dll的主要功能是读取3.txt,并跳转执行。
3.txt主要功能与ss.txt完全一致,在此不再赘述。
7.txt的加载方式与shellcode1完全一致,最终PE的功能主要将Mgh0st的剪贴板数据获取和屏幕截图功能独立出来:
其中剪贴板数据被写入C:\\ProgramData\\Microsoft Drive\\Destop.ini
中,屏幕截图被保存到C:\ProgramData\Microsoft Drive\%time%\[num].jpg
。
7.txt的功能我们猜测是攻击者在为将部分功能以插件的方式加载的一种尝试。
3. 关联分析
在关联分析时发现APT-K-UN3下载载荷使用的域名为国内某科技公司的合法备案域名。APT-K-UN3利用该公司旗下的云客服相关服务来存储恶意载荷,该域名为Saas形式的API服务,不同URL为不同的客户提供服务,黑客利用了URL作为木马的下载地址,如图为其中一个木马的下载地址。
APT-K-UN3利用该公司旗下的云客服相关服务来存储恶意载荷,并通过请求接口进行文件的下发,因此能够躲避市面上绝大多数的流量检测设备和威胁情报采集。同时下载的载荷以加密shellcode的方式存在,目前市面上绝大多数杀软将其归为白文件,拥有极强的单文件免杀性能:
我们发现了APT-K-UN3组织仿冒快连VPN的多个水坑网站:
仿冒网站进行了SEO优化,通过某搜索引擎搜索“快连VPN”时,该水坑网站排名第三:
APT-K-UN3其他同类型仿冒样本,具体如下:
仿冒toDesk客户端的安装包:
仿冒向日葵客户端的安装包:
仿冒搜狗拼音输入法的安装包:
仿冒Chrome浏览器的安装包:
在对同类型的样本分析中我们发现攻击者在部分样本中添加了分析对抗的代码:
部分样本中存在读取进程中是否存在杀软的相关代码:
4. IOC
f4352c9e78031c9296948ea5fa33fad67b91ec8d8604f22b5ea05e2d2f6defc9
07f95b92365d9f6bcba5ef8dc4f9f5a406055ec6639b068432f21b0fa27771de
9582653f210bd6bb00a65fc718c30541c66cf0fdd5623da88e2e78c7ac646f8f
44caf464ac8f55dc5ade89d37009f41dbc9c2bde77422ae1d443a44d1496517d
仿冒下载站:
down.letsvpnc[.]com
letpspn[.]com
lsetvnp[.]com
部分C2:
38.60.94.134
206.238.114.130
118.107.46.2
43.249.29.202
5. 参考链接
[1] https://ti.qianxin.com/blog/articles/operation-dragon-dance-the-sword-of-damocles-hanging-over-the-gaming-industry
[2] https://news.sophos.com/en-us/2023/05/03/doubled-dll-sideloading-dragon-breath/