通过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 具体技术行为描述表

ATTCK阶段/类别

具体行为

注释

初始访问

网络钓鱼

利用钓鱼邮件传播

初始访问

通过可移动介质复制

利用可移动介质插入系统中自动运行

执行

利用命令和脚本解释器

利用Windows Command ShellPowerShell执行命令

执行

利用计划任务/工作

利用计划任务执行勒索软件

执行

诱导用户执行

诱导用户执行勒索软件

持久化

利用自动启动执行引导或登录

将勒索软件添加到启动文件夹

持久化

利用计划任务/工作

利用计划任务执行勒索软件

提权

滥用提升控制权限机制

绕过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

46A1769D81D7DCDA455F0F05B9B29648BleachGap.exe

82FF688AA9253B356E5D890FF311B59Eaescrypt.exe

FB7A78F485EC2586C54D60D293DD5352DiscordSendWebhook.exe

8E5A7171F1BE0254DAD65BFD78646F34final.exe