通过U盘传播的多功能勒索软件分析
时间 : 2021年03月16日 来源: 安天CERT
1、概述
近日,安天CERT捕获到一种具备可移动介质传播功能的BleachGap勒索软件。该勒索软件最早出现于2021年2月,目前已迭代多个版本。
BleachGap勒索软件具备添加自启动、添加计划任务、改写MBR、使键盘按键失效、通过可移动介质传播等多项功能,采用“AES-256”对称加密算法加密文件,在已知密钥的情况下可快速解密。目前,勒索软件的功能已经不局限于加密文件,开始尝试通过可移动介质的方式横向传播,用户需及时针对此类攻击手段做好有效防范措施。经验证,安天智甲终端防御系统(简称IEP)的勒索软件防护模块可有效阻止BleachGap勒索软件的恶意行为。
2、BleachGap勒索软件对应ATT&CK的映射图谱
该勒索软件技术特点分布图:
图 2-1 BleachGap勒索软件技术特点对应ATT&CK的映射
具体ATT&CK技术行为描述表:
表 2-1 具体技术行为描述表
ATT&CK阶段/类别 |
具体行为 |
注释 |
初始访问 |
网络钓鱼 |
利用钓鱼邮件传播 |
初始访问 |
通过可移动介质复制 |
利用可移动介质插入系统中自动运行 |
执行 |
利用命令和脚本解释器 |
利用Windows
Command Shell和PowerShell执行命令 |
执行 |
利用计划任务/工作 |
利用计划任务执行勒索软件 |
执行 |
诱导用户执行 |
诱导用户执行勒索软件 |
持久化 |
利用自动启动执行引导或登录 |
将勒索软件添加到启动文件夹 |
持久化 |
利用计划任务/工作 |
利用计划任务执行勒索软件 |
提权 |
滥用提升控制权限机制 |
绕过UAC机制提升权限 |
提权 |
利用自动启动执行引导或登录 |
将勒索软件添加到启动文件夹 |
提权 |
利用计划任务/工作 |
利用计划任务执行勒索软件 |
防御规避 |
滥用提升控制权限机制 |
绕过UAC机制提升权限 |
防御规避 |
修改文件和目录权限 |
修改文件的属性 |
防御规避 |
隐藏行为 |
启动PowerShell时隐藏窗口 |
防御规避 |
删除主机中的信标 |
删除创建的批处理脚本 |
发现 |
发现文件和目录 |
枚举系统内文件和目录 |
横向移动 |
通过可移动介质复制 |
利用可移动介质插入系统中自动运行 |
数据渗出 |
使用Web服务回传 |
将数据发送到Discord服务器 |
影响 |
造成恶劣影响的数据加密 |
对大量文件进行加密,导致文件无法正常使用 |
影响 |
擦除磁盘 |
覆盖主引导记录(MBR) |
影响 |
禁止系统恢复 |
删除系统卷影副本 |
3、防护建议
针对该勒索软件安天建议个人及企业采取如下防护措施:
3.1 个人防护
(1) 安装终端防护:安装反病毒软件。建议安天智甲的用户开启勒索病毒防御工具模块(默认开启);
(2) 加强口令强度:避免使用弱口令,建议使用16位或更长的密码,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;
(3) 及时更新补丁:建议开启自动更新功能安装系统补丁,服务器应及时更新系统补丁;
(4) 关闭高危端口:如无使用需要,建议关闭3389、445、139、135等高危端口;
(5) 定期数据备份:定期对重要文件进行数据备份,备份数据应与主机隔离;
(6) 确认邮件来源:接收邮件时要确认发送来源是否可靠,避免打开可疑邮件中的网址和附件;
(7) 关闭U盘自动播放:通过配置组策略在系统中关闭U盘自动播放功能。
3.2 企业防护
(1) 开启日志:开启关键日志收集功能(安全日志、系统日志、PowerShell日志、IIS日志、错误日志、访问日志、传输日志和Cookie日志),为安全事件的追踪溯源奠定基础;
(2) 设置IP白名单规则:配置高级安全Windows防火墙,设置远程桌面连接的入站规则,将使用的IP地址或IP地址范围加入规则中,阻止规则外IP进行暴力破解;
(3) 主机加固:对系统进行渗透测试及安全加固;
(4) 灾备预案:建立安全灾备预案,确保备份业务系统可以快速启用;
(5) 安天服务:若遭受勒索软件攻击,建议及时断网,并保护现场等待安全工程师对计算机进行排查。安天7*24小时服务热线:400-840-9234。
目前,安天智甲终端防御系统可实现对BleachGap勒索软件的查杀与有效防护。
图 3-1 安天智甲有效防护
图 3-2 安天智甲阻止PowerShell操作
4、BleachGap勒索软件概览
4.1 执行流程
图 4-1 攻击流程
1、攻击投放阶段
BleachGap勒索软件运行后,释放三个文件,包括“四位随机字符名.bat”、“aescrypt.exe”、“DiscordSendWebhook.exe”到%Temp%路径下。
2、感染阶段
(1) bat脚本文件使用自定义算法随机生成一个密钥,调用“aescrypt.exe”加密文件;
(2) 调用“DiscordSendWebhook.exe”将用户名、加密密钥等信息发送到Discord服务器;
(3) 下载“gameover.exe”并重命名为“final.exe”,运行后改写MBR;
(4) 在磁盘根目录下创建“autorun.inf”文件,实现批处理脚本的自启动;
(5) 创建并执行“p2d.bat”。
3、 勒索阶段
“p2d.bat”在桌面创建100个名为“Pay2Decrypt(1-100).txt”的勒索信。
4.2 信息概览
表 4-1 BleachGap勒索软件概览
加密文件命名方式 |
<原文件名>+<原文件后缀名>+.lck |
联系方式 |
联系邮箱 |
加密文件类型 |
加密指定位置文件 |
勒索币种与金额 |
比特币(0.0002 BTC) |
是否有针对性 |
否 |
能否解密 |
已知密钥的前提下可解密 |
是否内网传播 |
否 |
5、BleachGap勒索软件分析
5.1 样本标签
表 5-1 BleachGap勒索软件基本信息
病毒名称 |
Trojan[Ransom]/Win32.BleachGap |
原始文件名 |
RenderGraphics.bin |
MD5 |
46a1769d81d7dcda455f0f05b9b29648 |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
1,006.50 KB
(1,030,656字节) |
文件格式 |
BinExecute/Microsoft.EXE[:X86] |
时间戳 |
2018-02-01
20:18:00(疑似被修改) |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
PureBasic
v4.20 - v5.50 |
VT首次上传时间 |
2021-02-18
08:49:52 |
VT检测结果 |
53/70 |
5.2 样本行为
该样本运行后,会释放3个文件到%Temp%路径下,各文件功能如下:
表 5-2 释放的各文件功能
文件名 |
路径 |
功能 |
四位随机字符名.bat (以F76D.bat为例) |
%Temp%/F76B.tmp/F76C.tmp/ |
删除系统卷影副本、关闭安全警告、使键盘按键失效、调用其它文件、下载后续攻击载荷、创建自启动项。 |
aescrypt.exe |
%Temp%/F76B.tmp/ |
执行加密文件的操作。 |
DiscordSendWebhook.exe |
%Temp%/F76B.tmp/ |
将数据发送到Discord服务器。 |
● 删除系统卷影,防止恢复文件
批处理脚本将自身复制到%AppData%/Microsoft/Windows/Start Menu/Programs/Startup/目录,并且删除系统卷影副本,以防止恢复加密文件。
图 5-1 复制自身到指定目录,删除系统卷影副本
● 关闭安全警告,规避检测
为了规避检测,通过修改注册表绕过UAC机制,关闭安全警告,将“用户账户控制设置”设置为“从不通知”。
图 5-2 修改注册表以规避检测
● 互换鼠标左右键,键盘按键失效
互换鼠标左右键功能,并且使键盘上的部分按键失效,导致用户在重启系统后无法正常使用。失效的按键键位如下:
表 5-3 失效的按键键位
左Alt键 |
右Alt键 |
左Win键 |
右Win键 |
右Shift键 |
左Ctrl键 |
右Ctrl键 |
Tab键 |
Esc键 |
Enter键 |
F4键 |
F1键 |
F10键 |
NumLock键 |
F3键 |
Application键 |
● 结束浏览器进程,结束任务管理器
为了避免加密过程受到影响,该批处理脚本结束Opera,Chrome,FireFox和Internet Explorer等浏览器进程,并通过PowerShell执行结束任务管理器的“kill.bat”脚本。此外该脚本还会创建计划任务实现用户登录时运行勒索软件样本。
● 调用“aescrypt.exe”加密文件,只针对部分目录进行加密
使用自定义算法随机生成一个密钥,调用“aescrypt.exe”采用“AES-256”加密算法来加密%userprofile%和%HOMEDRIVE%路径下的所有文件,在被加密文件的文件名后追加以“.lck”命名的后缀。由于BleachGap勒索软件仅采用AES对称加密算法进行加密,所以在已知加密密钥的前提下,被加密的文件可通过命令“aescrypt.exe -d -p 加密密钥 -o 原文件名 加密文件名”进行解密。
图 5-3 加密指定路径下的文件
● 执行脚本生成勒索信
通过PowerShell执行生成勒索信的脚本“p2d.bat”,在桌面创建100个名为“Pay2Decrypt(1-100).txt”的勒索信,勒索信具体内容包含了勒索说明、勒索金额、比特币钱包地址以及联系邮箱。
图 5-4 BleachGap勒索信
● 回传数据至Discord服务器
调用“DiscordSendWebhook.exe”将用户名、加密密钥、个人ID等信息发送到攻击者创建的Discord频道。该频道创建时间为2021年2月6日,与该勒索软件的活跃时间相近,用来记录受害者信息。
图 5-5 Discord频道创建时间
● 下载恶意载荷,改写MBR
访问anonfiles(瑞典的匿名网盘)下载一个名为“gameover.exe”的恶意代码,重命名为“final.exe”保存到%Temp%目录下运行,并且创建计划任务每隔五天运行一次。该恶意代码改写MBR,在开机时锁定计算机。
图 5-6 MBR被改写后的开机界面
● 创建“autorun.inf”,实现可移动介质传播
在每个磁盘的根目录下创建InstallWizard文件夹,将自身复制到该文件夹下并重命名为“Install..bat”。在磁盘根目录下创建“autorun.inf”文件,即使重装系统后清除了系统盘的病毒,但是双击其它磁盘时,病毒又会重新运行。并且当受害者使用U盘启动盘修复MBR时感染U盘,达到U盘传播的目的。
图 5-7 可移动介质传播功能模块
6、附录:IoCs
IoCs |
46A1769D81D7DCDA455F0F05B9B29648(BleachGap.exe) |
82FF688AA9253B356E5D890FF311B59E(aescrypt.exe) |
FB7A78F485EC2586C54D60D293DD5352(DiscordSendWebhook.exe) |
8E5A7171F1BE0254DAD65BFD78646F34(final.exe) |