1..概述
2021年11月初,哈工大安天联合CERT实验室在网络安全监测中发现多起针对我国某机构的钓鱼邮件投递活动,经关联分析,确认此次攻击活动目的是投递Dridex银行木马。通过对活动过程的相关TTP关联和溯源,最终判定此次攻击活动来自于TA575组织。2020年,该组织被安全厂商首次披露过攻击活动,是Dridex银行木马传播组织之一,遭受其攻击的目标(受害者)一旦被植入Dridex银行木马后,还可能受到进一步的勒索攻击 [1]。其属于TA系列组织,该系列组织是以经济非法牟利为目的的网络犯罪组织集合,其中大部分组织成员通过其搭建的基础设施,利用钓鱼邮件或其他方式传播银行木马,构建庞大的僵尸网络,并针对目标进行信息窃取和下发勒索软件。
此次钓鱼活动,TA575组织使用具有Excel 4.0宏的文档作为附件,释放并运行HTA文件,对其存放于Discord、Dropbox和OneDrive等社交和文件云存储平台中的恶意样本实现下载。此外,由于HTA文件代码中存在一个域控环境的判断,因此本次钓鱼活动只针对处于域控环境下的终端系统。在整个攻击过程中,攻击者使用了混淆、宏代码隐藏、加密和异常处理等形式来对抗分析和检测。分析发现,下载至目标环境中的恶意样本实质是Dridex银行木马的装载器,功能为获取目标系统基本信息、连接C2并回传、获取P2P节点列表、参与构建僵尸网络、获取后续模块和实现窃密或勒索等。由此可以看出,一旦用户被植入该银行木马,将面临敏感信息外泄和勒索导致系统故障的安全威胁。
经关联分析,攻击者从2021年11月1日持续通过钓鱼邮件进行Dridex银行木马的传播。在此过程中,滥用相关平台存放该银行木马并生成对应下载链接,由此生成的恶意URL数量持续上升。本次监测的钓鱼活动与TA575组织在2021年2月至10月的攻击活动在相关TTP上具有高度相似性,综合上述信息可以推测,此次活动是TA575组织2021年11月开始发起的新一轮传播Dridex银行木马的钓鱼活动。
2.事件对应的ATT&CK映射图谱
图2-1 事件对应的ATT&CK映射图谱
本次事件中,攻击者使用的技术点如下表所示:
表2-1 事件对应ATT&CK技术行为描述表
ATT&CK阶段/类别 | 具体行为 | 注释 |
初始访问 | 网络钓鱼 | 投递钓鱼邮件 |
执行 | 诱导用户执行 | 诱导用户打开文档并启用宏 |
防御规避 | 混淆文件或信息 | 使用混淆的VBS代码 |
凭证访问 | 从存储密码的位置获取凭证 | 从Web表单中窃取登陆凭证 |
发现 | 发现系统信息 | 获取系统机器名和域名 |
发现软件 | 获取系统已安装软件列表 | |
收集 | 收集本地系统数据 | 回传系统信息 |
浏览器中间人攻击(MitB) | 劫持浏览器会话信息 | |
命令与控制 | 使用应用层协议 | 通过HTTPS传输控制命令 |
使用加密信道 | 流量加密 | |
使用代理 | 目标主机被用于代理C2流量 | |
使用远程访问软件 | 样本使用了一个VNC模块 | |
数据渗出 | 使用C2信道回传 | 连接C2服务器,回传系统信息 |
3.防护建议
针对该银行木马,安天建议企业采取如下防护措施:
3.1 企业防护
(1)强化终端防护:安装反病毒软件,建议安装安天智甲终端防御系统;
(2)加强口令强度:避免使用弱口令,建议使用16位或更长的密码,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同的口令;
(3)部署入侵检测系统(IDS):部署流量监控类软件或设备,便于及时发现恶意代码并对其追踪溯源。建议部署安天探海威胁检测系统(PTD),该系统以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;
3.2 日常邮箱安全防护
(1)接收邮件时要确认发送来源是否可靠,避免打开可疑邮件中的网址和附件;
(2)建议使用沙箱环境执行可疑的文件,在确保安全的情况下再使用主机执行。建议使用安天追影威胁分析系统(PTA),该系统采用深度静态分析与沙箱动态加载执行的组合机理,可有效检出分析鉴定各类已知与未知威胁;
(3)邮箱登录口令设置时确保具备一定复杂性(包含三种字符元素),确保口令不记录于办公区明显位置,并定期修改登录口令。
(4)邮箱账号绑定手机后,不仅可以找回密码,还可以接收“异常登录”的提示短信,即时处置。
(5)重要文件要做好防护:
- a) 及时清空收件箱、发件箱和垃圾箱内不再使用的重要邮件;
- b) 备份重要文件,防止被攻击后造成的文件丢失;
- c) 重要邮件或附件应加密发送,且正文中不能附带解密密码。
(6)不要将敏感信息发布到互联网上,用户发布到互联网上的信息和数据均存在被攻击者收集的风险。攻击者可以通过分析这些信息和数据,有针对性的向用户发送钓鱼邮件。
3.3 识别钓鱼邮件
表3-1 识别钓鱼邮件的方法
识别对象 | 具体方法 |
查看邮件发件人 | 警惕发送“公务邮件”的非组织的发件人; |
看收件人地址 | 警惕群发邮件,可联系发件人确认; |
看发件时间 | 警惕非工作时间发送的邮件; |
看邮件标题 | 警惕具备“订单”、“票据”、“工资补贴”、“采购”等关键词的标题的邮件; |
看正文措辞 | 警惕以“亲”、“亲爱的用户”、“亲爱的同事”等较为泛化问候的邮件; |
看正文目的 | 警惕以“系统升级”、“系统维护”、“安全设置”等名义索取邮箱账号密码的邮件; |
看正文内容 | 警惕其中附带的网页链接,特别是短链接; |
看附件内容 | 查看前,须使用防毒软件对附件进行病毒扫描监测。 |
4.钓鱼邮件分析
此次钓鱼活动中涉及的钓鱼邮件主要通过与附件文件名相关的邮件内容诱导用户点击附件,打开恶意文档,触发宏代码。根据安天CERT关联分析,此类钓鱼邮件从11月初起异常活跃,主要针对美国、新加坡、中国、墨西哥、韩国、德国等国家。
4.1 邮件信息案例
表4-1 钓鱼邮件信息
5.恶意宏文档分析
本次捕获的恶意宏文档在该起钓鱼活动中主要充当Dropper和Downloader,利用Excel 4.0宏释放包含VBS代码的HTA文件,调用MSHTA命令执行该文件,下载Dridex银行木马并执行。在这过程中充分利用混淆代码的方式干扰分析和规避检测。
5.1 样本标签
表5-1 样本标签
病毒名称 | Trojan/Win32.Generic |
原始文件名 | Invoice-829691611_20211101.xlsb |
MD5 | E89B443426FD6D13211C16658D09EB4E |
文件大小 | 198.07 KB (202,824 字节) |
文件格式 | Document/Microsoft.XLSX[:Excel 2007-2012] |
文件创建者 | user |
文件创建时间 | 2021-10-27 18:31:49 |
VT首次上传时间 | 2021-11-01 17:00:32 |
VT检测结果 | 21 / 62 |
5.2 样本分析
该恶意宏文档打开后,点击图片会触发一个弹框的提示信息,通过提示信息诱导目标点击“启用宏”按钮。启用后,再次点击文档触发其中宏代码。
图5-1 恶意宏文档
该样本隐藏了一个名为“Macro1”的工作表。
图5-2 隐藏的工作表
在该工作表中具有Excel 4.0宏技术(早期的一个宏代码版本,与现有的VBA宏代码不同)的相关代码。多行代码编写时被分别写在多个单元格中,无法进行直观查看,通过Excel 4.0宏代码特征,查找具有“=”的单元格,发现相关代码如下:
图5-3 Excel 4.0宏代码
上述代码功能如下:
1.创建C:\ProgramData\excel.rtf文件,并将该工作表中的CA157:CA6949内容写入该文件中。
2.调用MSHTA命令执行创建的excel.rtf文件。
3.设置弹框提示“WRONG OFFICE VERSION”,迷惑目标。
其中excel.rtf文件,实质是一个具有恶意的VBS代码,代码经过混淆处理。
图5-4 混淆的VBS代码
解混淆后,代码内容如下,具体功能为:初期判断系统登陆域服务器名和当前账号域是否一致,判断不一致则触发后续代码,这部分判断显示攻击者有明显只针对处于域控服务器下终端的意图。然后循环遍历访问三个URL对应的文件,判断访问状态和获取的文件大小,满足要求即保存至本地路径:C:\\ProgramData\Wlaninst.mp4(实质是一个DLL文件),调用rundll32.exe执行该DLL文件中名为“KdSendPacket”的导出函数,而后退出循环。
图5-5 解混淆后的VBS代码
相关文件路径如下:
文件名 | 文件路径 | 文件类型 |
excel.rtf | C:\ProgramData\ | 具有恶意的混淆VBS代码的html文件 |
Wlaninst.mp4 | C:\ProgramData\ | VBS代码下载的DLL文件 |
5.3 同源性的恶意文档
关联采用相同方式创建的恶意文档,发现大批量的恶意文档从2021年11月1日起持续出现,且这些恶意文档创建时间一致,嵌入的Excel 4.0宏代码相似,都具有调用MSHTA命令执行HTA文件的行为。
恶意文档文件名还存在多种命名特征,具体如下:
表5-2 文件命名特征
恶意文档命名特征 | Early_Access.-*****_yyyymmdd.xlsb |
Invoice-***** _yyyymmdd.xlsb | |
Threats Survey *****.xlsb | |
Holiday Survey Threats *****.xlsb | |
Scam Survey *****.xlsb | |
Holiday Survey Fraud *****.xlsb | |
Complaint details *****.xlsb | |
…… |
5.4 Dridex银行木马托管平台
提取恶意宏文档中下载Dridex银行木马的URL,该URL隶属于一个名为“Discord”的社交软件平台,该平台能够存储各种文件,进而生成对应的分享链接。
根据某恶意URL平台监测数据 [2],自2021年11月1日起截止到11月4日,传播Dridex银行木马的URL数量持续增长,对应样本数量也在不断上升。
图5-6 Dridex相关URL活跃度
数据来源urlhaus.abuse.ch
对应样本数量也在2021年11月初有所增长:
图5-7 Dridex样本数量
此外,Dridex银行木马还利用其他平台进行传播:
表5-3 利用其他平台传播
平台名称 | 平台用途 | 存储Dridex银行木马的URL(目前已失效) |
Dropbox | 提供线上存储服务,通过云计算实现互联网文件同步,用户可以存储并共享文件和文件夹。 | https://www.dropbox.com/s/wgboc0fhqj8qjon/dctGR.mp3?dl=1 https://www.dropbox.com/s/sf1agdykf5jo131/NDRVuq.mp3?dl=1 |
OneDrive | 微软公司所推出的网络硬盘及云端服务。用户可以上传他们的文件到网络服务器上,并且透过网络浏览器来浏览那些文件。 | https://onedrive.live.com/download?resid=F7F5D19FC93443B1%21139&authkey=!AA8JSY1RL5hVgfs https://onedrive.live.com/download?resid=359213FFBD695EC9%21163&authkey=!ABRTeRpsnkYNROQ |
综合本次检测到的攻击者钓鱼活动中使用的恶意文档的创建时间、命名特征、文档行为、传播方式等技术点,经关联分析研判,与TA575组织(网络犯罪组织)在2021年早期传播Dridex银行木马的一些技术点具有一定的重合,据此初步判定本次钓鱼活动背后的攻击者为TA575组织。
表5-4 TA575组织攻击活动关联
时间 | 攻击活动 | 关联点(与本次发现样本相同点) |
2021年2月 | TA575组织针对美国医疗、律师事务所等机构投递Qakbot活动。 | 利用钓鱼邮件投递宏文档,并通过MSHTA下载执行Qakbot有效载荷 |
2021年7月-8月 | TA575组织针对美国、韩国相关机构投递Dridex活动 | 期间使用的恶意文档名称多为 “Invoice_*****.xls”、“****_Invoice_*****.xls”等 |
2021年10月 | TA575 使用“鱿鱼游戏”诱饵来分发Dridex 恶意软件 | 使用的恶意文档创建时间与本次捕获样本创建时间一致 |
6.Dridex银行木马分析
本次捕获的样本存在大量异常处理和加密载荷,以此对抗分析和调试。经分析,该样本实质为Dridex银行木马装载器,样本自身功能为收集系统信息,连接C2并回传;下发指令,获取P2P节点列表,参与构建僵尸网络;获取后续模块,实施窃密或勒索。
6.1 样本标签
表6-1 样本标签
病毒名称 | Trojan[Downloader]/Win32.Cridex |
原始文件名 | ohma.dll |
MD5 | A42ADC9E3E7E43479C020E1E0F44390C |
处理器架构 | Intel 386 or later, and compatibles |
文件大小 | 456.00 KB (466,944 字节) |
文件格式 | BinExecute/Microsoft.DLL[:X86] |
时间戳 | 2021-11-01 12:06:45 |
数字签名 | 无 |
加壳类型 | 无 |
编译语言 | Microsoft C/C++ Visual Studio 2013 |
VT首次上传时间 | 2021-11-01 16:19:12 |
VT检测结果 | 42 / 66 |
6.2 对抗分析和检测
样本从入口点执行后,设置无实际功能的SEH异常处理函数,并循环触发大量int 3异常,使异常处理函数长时间执行,干扰调试流程,以此实现反沙箱及反分析调试的目的。后续在内存中解密,解密后的模块注册VEH异常处理函数,捕获int 3触发的异常,以此实现间接调用API的效果。
图6-1 注册VEH函数捕获异常
样本中的API均通过异或后的CRC32哈希值动态获取,并通过触发int 3异常的方式交由上述VEH异常处理程序执行。样本使用这种方式调用API,打乱了执行流程,影响分析工具分析,且会干扰动态调试,增加了分析难度。
图6-2 动态获取API并使用int3调用
6.3 信息收集
使用GetSystemInfo在内的多个函数读取系统计算机名、环境变量、系统构架等基础信息。
图6-3 收集系统信息
6.4 连接C2获取后续窃密或勒索模块
将信息发送至硬编码的C2服务器。
图6-4 硬编码的三个C2地址
根据C2指令获取P2P节点列表,参与构建僵尸网络,并下载其他载荷进行进一步的窃密或勒索。目前三个C2地址均已失效,无法获取后续攻击载荷进行分析。
图6-5 读取C2回复结果
7.IoCs
恶意文档 | E89B443426FD6D13211C16658D09EB4E |
Dridex银行木马样本 | A42ADC9E3E7E43479C020E1E0F44390C |
C2地址(已失效) | 104.248.155.133:443 46.101.98.60:808 37.187.114.15:8172 |
参考文献
[1] The First Step: Initial Access Leads to Ransomware
https://www.proofpoint.com/us/blog/threat-insight/first-step-initial-access-leads-ransomware