Confucius:隐藏在CloudFlare下的垂钓者
时间 : 2022年07月13日 来源: 安天CERT
1.概述
近期,安天CERT在对来自南亚次大陆方向的攻击事件进行追踪和梳理时,发现一起Confucius组织针对巴基斯坦政府、军事机构的攻击活动。
该组织的命名最早出自国外安全厂商Palo Alto Networks在2016年发布的分析报告[1],在该报告中,Palo Alto Networks披露了一个印度攻击组织的攻击活动,该组织攻击活动最早可追溯至2013年,其擅长使用鱼叉式钓鱼邮件、水坑攻击以及钓鱼网站,配合丰富的社会工程学手段对中国、巴基斯坦、孟加拉国等印度周边国家政府、军事、能源等领域开展以窃取敏感资料为目的的攻击活动。该组织在早期攻击活动中,曾借助具备留言互动功能的国际知名网站(例如Quora,类似我国的知乎),在公开的留言中夹带经过加密编码处理的木马远控服务器地址。该组织使用的木马被植入受害主机后,可从这类公开留言中获取内容,解密还原真正远控服务器地址。因此,木马在受害主机的首次网络访问行为会被视为正常的网页请求,而攻击者却可以借助这些国际知名网站持续更换远控地址或下发其他指令。Palo Alto Networks在相关恶意代码连接的一个Quora页面中,发现攻击者张贴的内容有“Confucius says”字样,即“孔夫子说”,或“子曰”,于是把这个组织称为Confucius。可见攻击者持续攻击中国过程中,也对中国的文化进行了研究。
在安天CERT发现的本次攻击活动中,该组织主要伪装成巴基斯坦政府工作人员向目标投递鱼叉式钓鱼邮件,通过钓鱼邮件内容诱骗目标下载、打开嵌入恶意宏代码的文档,从而向目标机器植入开源木马QuasarRAT、自研C++后门木马、C#窃密木马以及JScript下载者木马。
目前,该起攻击活动已引起巴基斯坦政府相关部门注意,其中巴基斯坦国家电信和信息技术安全委员会(NTISB)多次发出全国网络威胁预警[2][3],称攻击者正在向政府官员和公众发送模仿巴基斯坦总理办公室的虚假网络钓鱼电子邮件,因此要求政府官员和公众保持警惕,不要通过电子邮件和社交媒体链接提供任何信息。
本报告对从2021年至今的Confucius组织攻击活动、手法和工具做一定程度的总结,整体活动的特征可简要总结如下表:
表1-1 整体攻击活动特征总结
攻击时间 |
2021年至今 |
攻击意图 |
持续控制、窃密 |
针对目标 |
巴基斯坦 |
针对行业/领域 |
政府、军事机构 |
攻击手法 |
鱼叉邮件、钓鱼网站、利用第三方云存储服务存放恶意载荷 |
目标系统平台 |
Windows |
诱饵类型 |
诱饵PDF文件、恶意宏文档、恶意RTF文件、恶意快捷方式等 |
开发语言 |
C++、VBScript、C#以及JScript |
武器装备 |
C++后门木马,C#窃密木马、C#下载者木马、开源木马QuasarRAT、JScript下载者木马 |
2.活动分析
从2021年下半年至今,安天CERT陆续捕获到Confucius组织针对巴基斯坦进行攻击的样本文件,捕获样本的攻击时间线如下:
2021年6月份利用巴基斯坦军队牺牲者名单有关内容的恶意RTF文档进行攻击;
2021年8月份利用巴基斯坦军方关于Pegasus间谍软件警告内容的宏文档进行攻击;
2021年8月份利用巴基斯坦联邦税务局税务申报有关内容的宏文档进行攻击;
2022年2月份利用伪装成图片文件的恶意快捷方式文件进行攻击;
2022年2月份利用巴基斯坦政府员工COVID-19疫苗接种状态表、数字资产审计表等有关内容的宏文档进行攻击;
2022年5月份利用巴基斯坦总理办公室员工职位申请表有关内容的宏文档进行攻击;
2022年6月份利用巴基斯坦外交部有关内容的恶意宏文档进行攻击。
在此次攻击活动中,攻击者主要以巴基斯坦政府工作人员的名义向目标投递鱼叉式钓鱼邮件,钓鱼邮件的内容大多数与巴基斯坦政府有关,例如,以巴基斯坦总理办公室的名义要求政府工作人员更新COVID-19疫苗接种情况。
图2-1 钓鱼邮件
攻击者在钓鱼邮件的正文中、附件PDF文件中嵌入了不同类型的恶意链接,当目标查阅钓鱼邮件后便会被攻击者精心设计的邮件正文、PDF文件内容诱骗,从而点击恶意链接下载具有恶意宏代码的文档。攻击者使用的恶意链接主要分为以下三种:
▶ 仿冒政府网站的钓鱼网站访问链接:攻击者利用HTTrack等网站克隆工具,搭建仿冒政府部门官网的钓鱼网站(如巴基斯坦总理办公室、巴基斯坦国防大学学报、巴基斯坦联邦税务局),当目标通过钓鱼网站访问链接访问钓鱼网站时,攻击者通过网站内容诱骗目标下载携带恶意宏的文档。
表2-1 仿冒域名
域名 |
仿冒对象 |
pmogov.info |
巴基斯坦总理办公室 |
pmogov.online |
巴基斯坦总理办公室 |
ndu-edu.digital |
巴基斯坦国防大学 |
psca-gop-pk.digital |
巴基斯坦旁遮普安全城市管理局 |
nadra.digital |
巴基斯坦国家数据库和注册管理局 |
mofa-pk-server.live |
巴基斯坦外交部 |
fbr-notice.com |
巴基斯坦联邦税务局 |
fbr-tax.info |
巴基斯坦联邦税务局 |
notice-fbr.tax |
巴基斯坦联邦税务局 |
fbr-mail.online |
巴基斯坦联邦税务局 |
csd-pk.online |
巴基斯坦食堂百货部(巴基斯坦国防部旗下连锁零售企业) |
图2-2 仿冒巴基斯坦总理办公室的钓鱼网站
图2-3 仿冒巴基斯坦国防大学学报的钓鱼网站
▶ 指向第三方云存储服务的文件下载链接:攻击者将恶意宏文档存放在第三方云存储服务网站Dropbox网盘中,当目标利用浏览器访问该链接,浏览器便会自动请求下载所储存的恶意宏文档。
▶ 指向第三方Deep Linking[4](深层链接)服务的访问链接:深度链接是指设链网站所提供的链接服务使得用户在未脱离设链网站页面的情况下,即可获得被链接网站上的内容,此时页面地址栏里显示的是设链网站的网址,而非被链接网站的网址。攻击者利用Branch公司所提供的深度链接服务可以自定义子域名的特点,将子域名伪装成巴基斯坦政府官方网站(如ncoc-update.app.link、pmoffice.app.link、moitt-auditform.app.link),当目标通过浏览器访问攻击者创建的访问链接时,Branch服务器便会自动请求下载存储在第三方云存储服务的恶意宏文档。同时,在下载恶意宏文档时,目标的浏览器地址栏显示的还是攻击者创建的访问链接,而并非下载恶意宏文档的第三方云存储服务下载链接,通过这一手段,攻击者就大大提高了所下载文件在目标心中的可信度。
本次攻击活动的整体攻击流程,如下图所示:
图2-4 本次攻击活动的整体攻击流程
图2-5 嵌入恶意下载链接的诱饵PDF文件
图2-6 与巴基斯坦军队牺牲者名单有关内容的恶意RTF文档
在本次攻击活动中,为了阻碍安全分析人员对其攻击活动进行分析、溯源,攻击者采用以下手段来规避检测:
● 故意将C#下载者木马、C#窃密木马的时间戳伪造成不真实的时间,以对抗时区分析。
● 使用加密的恶意宏代码文档,密码一般是位于邮件正文、PDF正文以及钓鱼网站页面中。攻击者通过对恶意宏文档进行加密,保证了非目标人群获得恶意宏文档时,没有密码也无法对恶意宏文档进行打开、分析。
● 域名都使用CloudFlare(美国内容交付网络和 DDoS 缓解公司)的CDN加速服务,该服务可以有效隐藏域名所解析服务器的真实IP地址。
● 利用CloudFlare防火墙功能对访问IP的地址位置进行筛选,只有访问IP位于特定国家时,访问页面才会跳转至真正的恶意宏文档下载页面。
图2-7 通过CloudFlare防火墙功能限制访问国家
3.样本分析
3.1 执行流程分析
3.1.1 利用Word宏文档释放综合窃密组件
攻击者利用恶意Word宏文档释放、执行Stage 1、Stage3 C#下载者木马,然后通过所释放的下载者木马下载后续攻击载荷。同时,攻击者挂载服务器返回的攻击载荷实质上是ASCII文件,各阶段的下载者木马会将ASCII文件转换为二进制文件,然后将其加载到内存中并跳转到动态函数进行执行。
利用Word宏文档释放综合窃密组件的整体流程图如下图所示:
图3-1 利用Word宏文档释放综合窃密组件的整体流程
图3-2 Petition.docm(请愿书)
图3-3 Jobs_in_GHQ_Rawalpindi_2022.docm
3.1.2 利用Excel宏文档释放后门组件
攻击者利用携带恶意宏代码的Excel文档,释放后门组件(如开源木马QuasarRAT、自研的C++后门木马)至宿主机的%ProgramData%目录下。对于开源木马QuasarRAT,攻击者会利用系统工具PowerShell去执行。而对于C++后门木马,攻击者则是利用系统工具Rundll32进行执行。利用Excel宏文档释放后门组件的整体流程图如下图所示:
图3-4 利用Excel宏文档释放后门组件的整体流程
图3-5 DEPT_NCOC-3-31.xlsm
图3-6 DigitalAssestsAudit.xlsm
3.2 攻击武器分析
3.2.1 恶意Word宏文档
在本次攻击活动中,攻击者主要使用了恶意Word宏文档以及恶意Excel宏文档,恶意Word宏文档主要向宿主机植入攻击者自研的综合窃密组件,而恶意Excel宏文档则是向宿主机植入后门组件(开源木马QuasarRAT、自研的C++后门木马)。
3.2.1.1 恶意Word宏文档
表3-1 恶意宏文档样例
病毒名称 |
Trojan[Dropper]/MSOffice.Agent.ccd |
原始文件名 |
SRIU-AppForm.docm |
MD5 |
41CDCEC8311F735E1ED8D3BAB9192173 |
文件大小 |
87.5 KB (89,600 bytes) |
文件格式 |
Document/Microsoft.DOCM[:doc 2007-2013] |
创建时间 |
2022-05-19 11:50:00 +00:00 |
最后修改时间 |
2022-05-27 09:02:00 +00:00 |
创建者 |
SO-PAU |
最后修改者 |
Windows User |
图3-7 SRIU-AppForm.docm
通过对该恶意Word文档嵌入的宏代码进行分析,发现攻击者编写的宏代码结构、功能十分简单,主要有以下功能:
1. 当受害者触发“DOWNLOAD FORM”按钮时,下载白文件至宿主机“Download”目录下,并弹出消息弹窗说明文件保存位置。
图3-8 弹窗消息、下载白文件
2.攻击者根据宿主机是否存在杀毒软件McAfee的安装文件夹,来释放不同阶段的C#下载者木马。
图3-9 释放不同的C#下载者木马
当宿主机存在杀毒软件McAfee的安装文件夹时,从文档中的“Comments”属性中提取Stage 3 C#下载者木马ASCII数据(在本样本中,由于攻击者的失误,导致木马数据实际上是存放在文档的“Description”属性中),将ASCII数据转化成二进制数据后,将其命名为“sdjkfhkjsdh.txt”释放至宿主机%TEMP%目录下,并为释放的木马创建每二十分钟执行一次的计划任务进行持久化。
图3-10 释放Stage 3 C#下载者木马
图3-11 隐藏在subject、description属性中的ASCII数据
图3-12 创建计划任务
当宿主机不存在杀毒软件McAfee的安装文件夹时,则是会从文档中的“Subject”属性中提取Stage 1 C#下载者木马ASCII数据,将ASCII数据转化成二进制数据后,将其命名为“sdjkfhkjsdh.txt”释放至宿主机%TEMP%目录下,并利用PowerShell执行该木马。
图3-13 释放Stage 1 C#下载者木马
图3-14 利用PowerShell执行木马
3.2.1.2 恶意Excel宏文档
表3-2 恶意Excel宏文档样例
病毒名称 |
Trojan[Dropper]/MSOffice.Agent.ccd |
原始文件名 |
FBR5323-Notice.xlsm |
MD5 |
06B5A67BF37FED5B92C2211F342D7F0A |
文件大小 |
937 KB (959,488 bytes) |
文件格式 |
Document/Microsoft.XLSM[:xls 2007-2013] |
创建时间 |
2015-06-05 18:17:00 +00:00 |
最后修改时间 |
2022-05-10 09:17:00 +00:00 |
创建者 |
TAX&FBR |
最后修改者 |
Abbasi |
图3-15 FBR5323-Notice.xlsm
恶意Excel文档嵌入的宏代码功能也十分简单,主要为释放通过.NET Reactor混淆的开源木马QuasarRAT,然后利用系统工具PowerShell加载运行所释放的QuasarRAT。
图3-16 提取隐藏在sheet中经过Base64加密的QuasarRAT数据
图3-17 Base64加密后的QuasarRAT数据
图3-18 解密、释放QuasarRAT
图3-19 利用PowerShell加载执行QuasarRAT
同时,对整个宏代码进行分析可以发现,该宏代码中还有些功能攻击者并未启用,未启用的功能包括利用注册表对释放的QuasarRAT进行持久化、可以用来迷惑受害者的消息弹窗。
图3-20 未启用的功能
3.2.2 综合窃密组件
表3-3 Stage 1 C#下载者木马
病毒名称 |
Trojan/Win32. Downloader |
原始文件名 |
PoryaenFuaQzye.dll |
MD5 |
C676EB09E74308A879658FDA6FCB74FC |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
8.50 KB (8,704 bytes) |
文件格式 |
Win32 DLL |
时间戳 |
2076-10-03
02:38:51 +00:00 (伪造) |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
Microsoft Visual C# / Basic .NET |
Stage 1 C#下载者木马功能比较简单,主要是从攻击者挂载服务器上获取Stage 2 C#下载者木马ASCII文件,然后将ASCII文件转换为二进制文件,最后将其加载到内存中并跳转到动态函数进行执行。
图3-21 Stage 1 C#下载者木马功能
图3-22 挂载服务器返回的Stage 2 C#下载者木马ASCII文件
表3-4 Stage 2 C#下载者木马
病毒名称 |
Trojan/Win32.
Downloader |
原始文件名 |
SowpnTdb.dll |
MD5 |
31A5973AFABF2FEBE9690F20AC045973 |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
348 KB (356,864 bytes) |
文件格式 |
Win32 DLL |
时间戳 |
2022-04-22
13:02:49 +00:00 |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
Microsoft Visual C# / Basic .NET |
Stage 2 C#下载者木马功能为下载Stage 3 C#下载者木马,并且为Stage 3 C#下载者木马创建名为 “YunoHonow”的计划任务,该计划任务会每20分钟使用系统工具PowerShell加载执行Stage 3 C#下载者木马。
图3-23 Stage 2 C#下载者木马功能
表3-5 Stage 3 C#下载者木马
病毒名称 |
Trojan/Win32.
Downloader |
原始文件名 |
RioucXkjdiEjkhd.dll |
MD5 |
FD7555A617420B42BA946FCC5248D07F |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
10.0 KB (10,240 bytes) |
文件格式 |
Win32 DLL |
时间戳 |
2083-02-05
20:09:11 +00:00(伪造) |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
Microsoft Visual C# / Basic .NET |
Stage 3 C#下载者木马功能为下载Stage 4 C#窃密木马,并将C#窃密木马加载到内存中并跳转到动态函数进行执行。同时,为了保证能成功下载Stage 4 C#窃密木马,攻击者还采用了备用下载链接。
图3-24 Stage 3 C#下载者木马功能
表3-6 Stage 4 C#窃密木马
病毒名称 |
Trojan[Spy]/Win32.Stealer |
原始文件名 |
Rwlksdnasjd.dll |
MD5 |
53C5FCDD09A53BAE6C21E0CADD85AEC2 |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
11.5 KB (11,776 bytes) |
文件格式 |
Win32 DLL |
时间戳 |
2067-12-02
18:52:44 +00:00(伪造) |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
Microsoft Visual C# / Basic .NET |
Stage 4 C#木马是一个窃密木马,其主要功能是窃取宿主机C盘Users文件夹中Documents、Downloads、Desktop、 Pictures目录以及其余盘中所有符合类型的文件。
图3-25 C#窃密木马整体功能
同时,该木马为了避免重复上传文件,其会在上传文件的时候,向C2服务器回传文件的MD5值。每当木马重新启动时,便会根据宿主机唯一标识符(机器名__用户名)从C2服务器下载已上传文件的MD5列表(MD5列表文件位于服务器har1目录下)。木马后续在上传文件时,通过判断当前文件的MD5值是否存在已上传文件MD5列表中,来避免文件的重复上传。
图3-26 根据唯一标识符获取已上传文件的MD5文件列表
图3-27 上传文件、文件MD5
图3-28 搜索当前目录下所有符合类型的文件
图3-29 上传文件及文件MD5,并继续对子目录进行搜索
3.2.3 后门组件
表3-7 C++后门木马
病毒名称 |
Backdoor/win32.Agentb |
原始文件名 |
Print.dll |
MD5 |
46417AD0FC33783C298B7441ACED2C1A |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
220 KB (225,792 bytes) |
文件格式 |
Win32 DLL |
时间戳 |
2022-04-12 05:09:50 +00:00 |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
Microsoft Visual C/C++(2013)[DLL32] |
该C++后门木马最早发现于Confucius组织2020年9月的一次攻击活动中,通过对本次捕获的新版本后门木马与之前版本进行对比,发现其功能与之前版本并没有太大改变,新版本的木马只是对整体代码结构进行了调整。其主要有创建计划任务、检索进程信息、检索网络适配器信息、检索磁盘驱动器信息、上传文件、下载文件、执行文件、反弹Shell等功能。该后门木马被执行后,首先会判断自身与加载程序的文件名、路径是否为特定的,来决定是否继续执行下去。
图3-30 获取加载程序路径
图3-31 判断自身所在路径
其次,通过创建互斥量来确保宿主机中只有一个木马程序正在运行,本样例木马使用的互斥量为“v2.1.1”。在后续,安天CERT又捕获到互斥量为“v2.1.4”的C++后门木马,由此可推断出后门木马使用的互斥量为当前木马版本号。
图3-32 不同版本木马的互斥量
同时,攻击者通过创建名为“Windows Logging Service”的计划任务,每十五分钟利用系统工具Rundll32加载执行自身,以达到持久化监控宿主机的目的。
图3-33 计划任务名称
图3-34 存放在Task目录下的计划任务文件
然后,木马会为宿主机生成唯一的身份标识回传至C2服务器,身份标识的构成如图3-35所示:
图3-35 身份标识
图3-36 身份标识样例
图3-37 判断操作系统版本
图3-38 判断运行环境是虚拟机还是物理机
图3-39 判断操作系统位数
图3-40 拼接身份标识,并回传至C2服务器
接着,木马会将检索的宿主机信息回传至攻击者的C2服务器,检索的信息包括进程、网络适配器、磁盘驱动器、已安装应用以及符合类型的文件。
图3-41 回传信息
检索进程信息:检索宿主机正在运行的进程信息,所获取的信息以“程序名——程序PID----程序所在路径”的形式回传至C2服务器。
图3-42 检索宿主机的活动进程信息
图3-43 获取进程程序完整路径
图3-44 回传的进程信息格式
检索磁盘驱动器信息:获取宿主机磁盘驱动器信息,以便木马在后续检索磁盘驱动器中符合条件的文件信息。
图3-45 检索磁盘信息
检索网络适配器信息:包含适配器类型、名称、描述、Mac地址、IPv4地址、网关、子网掩码等。
图3-46 检索网络适配器信息
图3-47 所要检索的网络信息
检索应用程序信息:通过检索注册表HKLM\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall的子项来获取宿主机所安装的软件的名称、版本以及所在路径等信息。
图3-48 检索注册表
检索磁盘驱动器中符合类型的文件:攻击者所关注的文件类型有doc、docx、pdf、txt、ppt、pptx、xls、xlsx、zip、rar、7z以及axx。
图3-49 检索文件
图3-50 攻击者关注的文件类型
图3-51 需要排除的目录
最后,待上述信息回传完毕后,木马就进入后门状态,等待C2服务器下发指令,执行对应功能。
通过对木马分析,发现攻击者主要是利用多重While循环来实现后门操作,其设计的每个While循环都能执行一种或多种功能。
图3-52 利用多重While循环实现后门操作
攻击者下发的指令可分为一级和二级指令,一级指令代表一个整体功能,而二级指令代表整体功能下的分支功能。
攻击者在对目标进行控制时,首先下发一级指令进入整体功能,然后再下发具体指令实施分支功能。具体指令由“,”字符分隔,即“二级指令,具体的操作,”的形式,木马在接收到具体指令会通过Strtok函数对其进行分解。同时,木马在完成指令后,会向C2服务器回传特定的字符来标识指令执行的结果。
图3-53 攻击者下发的一级指令
图3-54 攻击者下发的二级指令
攻击者通过C2服务器下发的指令及功能含义如表3-8所示:
表3-8 指令功能表
一级指令 |
二级指令 |
具体功能 |
回传标识 |
标识含义 |
Wait |
无 |
等待C2下发命令 |
Hi |
已接收到wait指令,等待后续指令。 |
CFEx |
JE |
执行指定的可执行文件 |
ExFl |
可执行文件执行失败 |
ExSu |
可执行文件执行成功 |
|||
CFE |
检索指定的可执行文件 |
FNoF |
没有检索到文件 |
|
FiFo |
成功检索到文件 |
|||
JD |
根据C2下发的URL下载可执行文件 |
JuDo |
文件下载成功 |
|
DowF |
文件下载失败 |
|||
DE |
根据C2下发的URL下载可执行文件,并执行文件 |
DnEx |
文件下载成功,且执行成功 |
|
ExeF |
文件下载成功,但执行失败 |
|||
DowF |
文件下载失败 |
|||
DelF |
无 |
删除指定文件 |
FiNF |
未找到文件 |
FiDS |
成功删除文件 |
|||
FiDF |
完成删除操作 |
|||
ReSh |
无 |
反弹Shell |
BC |
成功连接C2,但C2未回复 |
UC |
连接C2失败 |
|||
GetF |
GetF |
获取文件 |
Done |
文件上传完成 |
Send |
回传文件 |
无 |
无 |
|
Skip |
跳过当前文件,即不上传 |
无 |
无 |
|
Next |
跳过当前文件,即不上传。 |
无 |
无 |
|
FeFi |
无 |
上传指定文件 |
FNoF |
未检索到指定文件 |
FeFi |
文件读取成功,即将回传文件数据 |
|||
AcDe |
文件读取失败 |
|||
DWNL |
DWNL |
接收C2下发的数据,并写入文件 |
FNNR |
文件写入失败 |
DowF |
下载文件失败 |
|||
JuDo |
只是下载文件 |
|||
DWNE |
接收C2下发的数据,写入文件,并执行 |
DnEx |
文件下载成功,且成功执行 |
|
ExeF |
文件执行失败 |
|||
LiFi |
无 |
休眠5分钟后,重新进入后门功能,接收新指令 |
无 |
无 |
Exit |
无 |
退出程序 |
Exit |
成功退出 |
ReST |
无 |
退出程序 |
ReST |
成功退出 |
图3-55 通过URL下载文件及执行可执行文件
图3-56 检索文件及执行文件
图3-57 删除指定文件
图3-58 上传指定文件
图3-59 下载文件及执行文件
图3-60 反弹Shell
3.2.4 下载器组件
JScript是微软的一种专门设计用于Web页面中的脚本语言。它坚持了ECMAScript标准并且主要是微软对应于Netscape早些出现并被广泛使用的JavaScript所出的一个语言。与其他许多编程语言一样, Microsoft JScript 是用文本方式编写的,并被组织成为语句、由相关的语句集组成的块、以及注释。
攻击者利用JScript语言编写的下载器组件,向目标机器植入C++启动器木马、VBS脚本以及综合窃密组件。
其完整执行流程如下图所示:
图3-61 JScript下载者执行流程
表3-9 JScript下载者木马
病毒名称 |
Trojan[Downloader]/JScripts.Agent |
原始文件名 |
157720846 |
MD5 |
157C6E86D68D98F777D37C3753322F69 |
文件大小 |
2.41 KB (2,474
bytes) |
解释语言 |
JScript |
VT首次上传时间 |
2022-04-08
16:09:11 +00:00 |
VT检测结果 |
10/58 |
JScript下载者木马会根据浏览器内核信息来识别宿主机系统版本,之后,则会根据不同的系统执行不同的命令。
当系统版本为Windows7,即浏览器内核为“Windows NT 6.1”时,通过命令行工具CMD利用系统工具Certutil下载后续攻击载荷(一个C++启动器木马、一个C#下载者木马、一个VBS脚本、一个名为“ZeroToleranceMonth.jpg”的文件,ZeroToleranceMonth.jpg文件疑似是诱饵图片文件),以及通过schtasks命令创建名为“calcure42”的计划任务。
当系统版本非Windows7时,则会通过CMD命令行工具利用curl.exe下载后续攻击载荷,以及通过schtasks命令创建名为“WinEvent5”的计划任务。
图3-62 JScript下载者木马
所下载的VBS脚本的功能为利用系统工具Rundll32运行C++启动器木马。
图3-63 z.vbs
表3-10 C++启动器木马
病毒名称 |
Trojan/Win32.Agent |
原始文件名 |
jdsuifyiusdyf.txt |
MD5 |
E05AF60FBB3EC9110ACBF38CD1071F52 |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
111 KB (114,176 bytes) |
文件格式 |
Win32 DLL |
时间戳 |
2022-04-01 12:51:45 +00:00 |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
Microsoft Visual C++ v.7.10 - 14.27 |
所下载的C++启动器木马主要功能为创建名为“Daily Trigger Test Task”计划任务,每十五分钟利用系统工具PowerShell执行Stage 3 C#下载者木马。
图3-64 计划任务要执行的命令
图3-65 计划任务的名称
图3-66 计划任务Task文件
4.关联归因
安天CERT通过安天赛博超脑关联子系统对所捕获的样本进行拓线分析,发现本次捕获的C++后门木马可关联到攻击者多起以往的攻击活动。
图4-1 关联图
在对关联出的攻击活动样本进行分析时,发现其中有多个样本为Confucius组织的DeMnu混淆器。DeMnu混淆器最早由友商奇安信于2020年9月份发布的《提菩行动:来自南亚APT组织“魔罗桫”的报复性定向攻击》[5]报告中披露,“魔罗桫”为友商奇安信对Confucius组织的别称。
Confucius组织主要利用DeMnu混淆器加载其特有的loader程序Polyloader,再通过Polyloader解密并加载开源远控木马AsyncRat。
图4-2 本次关联出的DeMnu混淆器所使用解密函数
图4-3 奇安信报告中披露的DeMnu混淆器所使用解密函数
同时,攻击者以往攻击活动中使用的恶意载荷挂载链接与Confucius在以往攻击活动中使用的恶意载荷挂载链接高度相似。
表4-1 恶意载荷挂载链接对比
关联出的攻击活动 |
以往Confucius的攻击活动 |
http://wordupdate.net/micro/upload |
http://wordupdate.com/refresh/content |
http://webinstaller.online/office/updates |
http://wordupdate.com/recent/update |
https://webinstaller.online/temp/KB4783 |
http://the-moondelight.96.lt/followup/update/KB756324 |
http://release.wordupdate.net/object/encode |
http://recent.wordupdate.com/cloud/sync/upgrade |
综合以上信息,安天CERT判定本次攻击活动归属于Confucius组织。
5.与SideWinder组织之间的联系
在对本次攻击活动进行关联分析时,通过安天赛博超脑威胁情报分析子系统关联到一例名为“WhatsApp.jpeg.lnk”的恶意快捷方式样本,该恶意快捷方式样本利用系统工具MSHTA加载执行远程的HTA脚本,但是由于远程HTA脚本链接已失效,所以无法得知该HTA脚本具体的功能。
表5-1 恶意快捷方式样例
病毒名称 |
Trojan[Downloader]/Win32.Agent.LNK |
原始文件名 |
WhatsApp.jpeg.lnk |
MD5 |
931A598836097496F21443AE864D160B |
文件大小 |
2.07 KB (2,121 bytes) |
文件格式 |
Windows shortcut |
创建时间 |
2021-01-02 03:07:30 +00:00 |
修改时间 |
2021-01-02 03:07:30 +00:00 |
VT上传时间 |
2022-02-03 15:21:42 +00:00 |
机器ID |
user-pc |
图5-1 WhatsApp.jpeg.lnk
后续,通过安天赛博超脑威胁情报分析子系统又关联到一批攻击者用来测试的恶意快捷方式样本,该批测试样本均由同一个上传者提交至VirusTotal平台。
对这批测试样本进行分析,可以发现攻击者大致在2021年8月份开始对恶意快捷方式样本进行测试,且早期恶意快捷方式主要通过CMD调用MSHTA执行远程HTA脚本文件,而后期则是直接使用MSHTA执行远程HTA脚本文件。
表5-2 攻击者测试样本
MD5 |
文件名 |
MachineID |
修改时间 |
VT上传时间 |
5ACF14897F3EFFF3D60AEE7A76C4753D |
WhatsApp.jpeg.lnk |
user-pc |
2021-01-02
03:07:30 +00:00 |
2021-11-04
19:34:46 +00:00 |
34A84FA5EF9E5F388D7FEA9D91140FC5 |
WhatsApp.lnk |
user-pc |
2021-01-02
03:07:30 +00:00 |
2022-02-12
13:09:35 +00:00 |
62FE722B2BF323B318BA1D9C24FDEC51 |
WhatsApp.lnk |
desktop-41oq5ea |
2021-08-06
18:52:32 +00:00 |
2022-02-12
13:10:49 +00:00 |
CC53E7AEF38AC57499AEB0B1ED3909C9 |
WhatsApp.lnk |
desktop-41oq5ea |
2021-08-06
18:52:32 +00:00 |
2022-02-12
13:12:28 +00:00 |
4D12C03CE1F90E329F28CA194ABAB826 |
WhatsApp.lnk |
desktop-41oq5ea |
2021-08-06
18:52:32 +00:00 |
2022-02-12
13:14:29 +00:00 |
通过对本次捕获的Confucius组织恶意快捷方式样本进行全面解析,发现其与SideWinder组织所使用的恶意LNK样本在“机器名”、“创建时间”、“修改时间”以及“磁盘驱动器标识符”等地方有许多重叠之处,其中“磁盘驱动器标识符”作为创建恶意快捷方式文件机器的磁盘标识,其本身是具有唯一性。因此安天CERT猜测SideWinder组织与Confucius组织之间存在共享工具。
其实,各大印度APT组织之间互相共享代码、工具的情况已经屡见不鲜。例如,国外安全厂商趋势科技曾多次披露Confucius组织、Urpage组织以及白象组织之间存在共享代码、共享资产的关系[6]。
而今,从安天CERT又发现SideWinder组织与Confucius组织之间存在共享工具的情况,可以看出越来越多的印度APT攻击组织之间会进行工具、代码共享。
表5-3 Confucius组织与SideWinder组织所使用的恶意LNK样本元数据对比
|
本次捕获的Confucius恶意LNK样本 |
SideWinder组织使用的恶意LNK样本 |
MD5 |
931A598836097496F21443AE864D160B |
DCFC26743D5E2897112626F67612067D |
文件名 |
WhatsApp.jpeg.lnk |
luckydrawaugust2021.pdf.lnk |
机器名 |
user-pc |
user-pc |
本地基本路径 |
C:\Windows\System32\hsmta.exe |
C:\Windows\System32\hsmta.exe |
相对路径 |
..\..\..\..\Windows\System32\mshta.exe |
..\..\..\Windows\System32\hsmta.exe |
命令行参数 |
https://t7g5c.app.link/qweqweqw |
https://luckydraw.csd-pk.co/137/1/39/2/0/0/1812896830/tFUcuCDhCs3bJtZXyEgIY7JY0qsxlMwpueTIpHSV/files-0909d81c/hta |
创建时间 |
2021-01-02
03:07:30 +00:00 |
2021-01-02
03:07:30 +00:00 |
修改时间 |
2021-01-02
03:07:30 +00:00 |
2021-01-02
03:07:30 +00:00 |
访问时间 |
2021-01-02
03:07:30 +00:00 |
2021-01-02
03:07:30 +00:00 |
磁盘驱动器标识符 |
29ebe0d2-885f-4b6f-9277-80f9904dafe4 |
29ebe0d2-885f-4b6f-9277-80f9904dafe4 |
6.威胁框架视角的攻击映射图谱
本次系列攻击活动共涉及ATT&CK框架中12个阶段的27个技术点,具体行为描述如下表:
表6-1 Confucius组织攻击活动的技术行为描述表
ATT&CK阶段 |
具体行为 |
注释 |
侦察 |
搜集受害者身份信息 |
收集目标邮箱账号信息,以供后续钓鱼攻击定向投递邮件使用 |
搜索受害者自有网站 |
搜索目标官方网站,以供后续钓鱼攻击搭建仿冒网站使用 |
|
资源开发 |
获取基础设施 |
购买服务器,用作钓鱼网站、挂载服务器、C2服务器等用途 |
初始访问 |
网络钓鱼 |
向目标投递携带恶意链接的鱼叉式钓鱼电子邮件 |
执行 |
利用命令和脚本解释器 |
使用PowerShell加载恶意载荷、使用JScript语言编写的下载者木马 |
利用计划任务/工作 |
使用Windows 任务计划程序来定时执行C#窃密木马、C++后门木马 |
|
诱导用户执行 |
使用具有诱惑内容的恶意宏文档,诱导目标执行 |
|
持久化 |
利用计划任务/工作 |
使用Windows 任务计划程序来定时执行C#窃密木马、C++后门木马 |
利用自动启动执行引导或登录 |
使用注册表运行键来执行C++后门木马 |
|
防御规避 |
混淆文件或信息 |
使用经过Eziriz .NET Reactor混淆器混淆的QuasarRAT |
执行签名的二进制文件代理 |
使用系统工具Rundll32执行C++后门木马、使用系统工具Mshta执行恶意HTA文件 |
|
凭证访问 |
从存储密码的位置获取凭证 |
使用C#窃密木马、C++后门木马窃取目标密码文件 |
输入捕捉 |
使用击键窃密木马会收集目标的击键行为可供获取凭证 |
|
发现 |
发现进程 |
使用C++后门木马获取目标当前正在运行的进程信息 |
发现文件和目录 |
使用C#窃密木马、C++后门木马获取目标文件和目录信息 |
|
发现网络共享 |
使用C++后门木马获取目标共享的文件夹和驱动器 |
|
查询注册表 |
使用C++后门木马查询目标注册表信息 |
|
发现软件 |
使用C++后门木马获取目标安装软件信息 |
|
发现系统信息 |
使用C++后门木马获取目标系统信息 |
|
发现系统网络配置 |
使用C++后门木马获取目标系统网络配置信息 |
|
横向移动 |
横向传输文件或工具 |
猜测攻击者后续会利用渗透工具在内网进行横向移动 |
收集 |
自动收集 |
使用C#窃密木马、C++后门木马自动收集目标文件信息 |
输入捕捉 |
使用击键窃密木马会收集宿主机的击键行为 |
|
收集可移动介质数据 |
使用C#窃密木马、C++后门木马收集目标可移动介质数据 |
|
命令与控制 |
使用应用层协议 |
C#下载者木马、C#窃密木马使用如HTTP/HTTPS等应用层协议 |
数据渗出 |
自动渗出数据 |
本次活动大多工具皆自动向外传输窃取的数据 |
限制传输数据大小 |
使用的C++后门木马上传文件时,将每次上传的大小限制在1个字节 |
Confucius组织相关攻击活动的行为技术点的ATT&CK框架图谱下图所示:
图6-1 Confucius组织攻击活动对应ATT&CK映射图
7.总结
在来自印度的APT攻击组织之中,Confucius组织在攻击武器、代码质量以及漏洞利用方面并无特色,但在社会工程学手段的使用方面,则可谓“傲视群雄”。尤其是在近几年的攻击活动中,Confucius组织使用更加丰富的社会工程学手段对目标进行攻击,其构造的钓鱼网站、鱼叉式钓鱼邮件、诱饵PDF文件以及恶意宏文档内容都对目标具有十足的诱惑力。
同时,该组织在攻击活动中使用CloudFlare的CDN加速服务来隐藏资产的真实IP地址、限制访问IP地理位置、修改恶意载荷的时间戳、使用加密的恶意宏文档等手段,也大大提升了安全分析人员对其进行分析、溯源的难度。
附录一:部分IOC
部分 MD5 |
021C535B8E70E9EFA74512DB647EF011 |
04F9B8DDD038E3D3DA3AB54AEBE73687 |
06B5A67BF37FED5B92C2211F342D7F0A |
08B9C6AEFF78A30BE44694BB650EC198 |
0A1C6D9CD67172995D22FA54946662F0 |
15AE0E6E5B449797F4080E1E9A1ECC3F |
17CB582F64A32C584DF68AEEF23E25F6 |
3DA30534B377B01CCAA3BF25F93AF1BA |
3E3EC6645D75ED83C0C57E3151917B96 |
3FCFE20A4D3C5CD07944328DF25C81C2 |
457101EA5C30C53F9381D7E9AA6432A4 |
46417AD0FC33783C298B7441ACED2C1A |
78EA0072E01F9BEC53D414C2CAD7C497 |
84D68E7B3AACF245D0C60F94A8D0AC4A |
8736492918F8836D13DEFC6525540610 |
9120216CAE280E802FA22AB29A346119 |
92A0947B1A2CB8CFD645ED585E2001D1 |
A52E4EEB2BF7F1BFDAC3E3C0673ECE5F |
A8169881B8552852F0D117FDD743F5E0 |
B426CE9179226681043CE8ED3ABCA862 |
BDF4DEF26EFBF676BB020B4BE49F9011 |
BEC908D62554CD16BD857A692BEF6FC6 |
C004DC680A8B74B3C99137A73AFE46D7 |
C676EB09E74308A879658FDA6FCB74FC |
C7E1B92397E1C563E9FAA222CBF39BE7 |
DEF6F71E3A21F99F9494A4CB1D8D4279 |
E05AF60FBB3EC9110ACBF38CD1071F52 |
F6DE9D853EF1B802FC1EF34BD0787ABA |
FFCEF12B4AB6DE46454D9AFA1E55379E |
部分 URL |
http://185.203.*.42/uphta/z.vbs |
http://classcentral-*.ddns.net/TNC/Class_Central.zip |
http://dump*ngs.ml/Jdsuifyiusdyf.txt |
http://dump*ngs.ml/Kewiuryjd.txt |
http://dump*ngs.ml/ZeroToleranceMonth.jpg |
http://fil*oni.digital/HprodXprnvlm1.php |
http://fil*oni.digital/VueWsxpogcjwq1.php |
http://fu*tifu.live/ksjdSudh/hsfuYNm.txt |
http://msd*igns.site/google/goopdate.dll |
http://office*oud.store/update.dotm |
http://pirna*m.xyz/Bdsfunklo.php |
http://pirna*m.xyz/Vksufnduw.php |
http://pirna*m.xyz/YblSNyirp/ |
http://release.word*date.net/object/encode |
http://thak*aiya.xyz/Bdsfunklo.php |
http://thak*aiya.xyz/SuMkdsfui.php |
http://thak*aiya.xyz/Vksufnduw.php |
http://webi*taller.online/V6.exe |
http://webi*taller.online/office/updates |
http://word*date.net/micro/upload |
http://word*date.net/wordpress |
https://www.fbr-no*ce.com/iris/file.php?file=FBR |
https://t7g*c.app.link/Kit8V9GsIqb |
https://t7g*c.app.link/RKQX1PtSJqb |
https://t7g*c.app.link/qweqweqw |
部分 Domain |
classcentral-*.ddns.net |
dump*ngs.ml |
fil*oni.digital |
fu*tifu.live |
msd*igns.site |
office*oud.store |
pirna*m.xyz |
release.word*date.net |
thak*aiya.xyz |
webi*taller.online |
word*date.net |
fbr-no*ce.com |
t7g*c.app.link |