打开微信扫一扫
恶意文件家族名称: Hive
威胁类型: 勒索病毒
简单描述: Hive 勒索软件于 2021 年 6 月首次被发现,主要攻击医疗和 IT 行业,历经多次变种,最新变种进行了多项重大升级,其中最主要的改变为编程语言从 GoLang 到 Rust 的转变及使用更复杂的加密方法。
一、恶意文件分析
恶意文件描述:
Hive 勒索病毒最新变种正在悄悄传播。该勒索病毒程序运行后,会加密受害主机上的重要文件,最后会释放勒索信,敲诈数字货币以谋取利益。
该样本的一个比较特殊的点为勒索软件即服务。勒索软件即服务是一个在线平台,任何人都可以通过发布勒索软件来开展自己的勒索业务,这种模式将黑客、分销商和客户整合到一个系统中。该服务的后端仅用于管理分支机构及其产品,由于每个分支机构都使用其唯一的比特币地址来购买勒索软件副本,因此执法人员无法将它们进行关联。
恶意文件分析:
该勒索病毒家族从首次发现至今,已经一年之余,但是目前全网关于该家族病毒的信息非常少。
1.查看文件基本信息
(
1
)数字签名
该样本使用颁发给 “Casta, s.r.o” 的 X.509 数字证书进行签名。
(
2
)命令行参数启动
在旧的版本中,用于访问 Hive 缴纳赎金支付网站的用户名和密码被嵌入在样本中,而在新的变种中,这些参数需要在命令行模式下以 “-u” 格式手动传入,因此分析人员无法从样本中提取这些凭据,如果不使用参数。程序将不会向下执行。
输入的凭据信息为访问
Hive
赎金支付网站的用户名和密码,输入任何一个
<
用户名
>:<
密码
>
,程序都能正常启动。方便换用户收钱,并随时更换钱包,如果直接写入在
PE
文件里面的话,增加被溯源的风险。
与大多数现代勒索软件一样,
Hive
引入了命令行参数,允许程序通过使用参数灵活地运行有效负载。例如,攻击者可以根据需要选择被加密文件的种类、文件大小以及某一具体文件,表明开发人员根据具体的使用需求做了细致的模块化处理,可以看出该家族应该是精密的团队合作的产物。在新的
Hive
变体中,发现了以下参数:
2. 隐藏技术
(
1
)反沙箱技术
调用 Windows API Sleep 函数延迟程序的运行,从而检测程序是否运行在虚拟化环境。
( 2 )反调试技术
TLS
回调
该程序使用了 TLS 回调,干扰调试器功能。
使用异常
通过异常处理函数 SetUnhandledExceptionFilter 判断程序是否处于调试器中,当程序处于调试器时,异常会交由调试器进行处理,而当程序处于非调试器中时,异常会交由程序本身进行处理。
首先执行 RtlAddVectoredExceptionHandler 注册 VEH 异常,然后通过 SetThreadStackGuarantee 设置堆栈溢出异常期间可用的与调用线程关联的堆栈的最小字节数,其次通过 GetProcessHeap 获取默认堆句柄,再次通过 RtlAllocateHeap 函数,从堆中分配一块内存,存储动态函数表。
3.
感染迹象
获取当前系统以及样本运行时的一些基本信息。
通过传入命令行参数启动程序。
将动态函数表添加到动态函数表列表中,该程序不是通过直接调用 API 运行,而是将一些特殊敏感的 API 打包到函数列表中,通过调用函数表从而调用一些特殊的 API ,从而避免基于 Windows API 的检测。
程序写入以独占模式访问共享数据,其他读 / 写线程都会被堵塞,直至该线程释放了读写锁。便于该病毒顺利运行,防止其他进程堵塞该程序的执行。
循环设置页可读可写权限,便于后续的加密行为。
查看所有环境变量的值。
查询计算机中所有环境变量的变量名如下:
生成的勒索提示信息
在 Temp 临时文件夹下新建文件夹。
打开 Temp 目录发现新建的 mqghdpj 文件:
获取当前进程,并打开与当前进程相关联的 Token 。
提升权限,便于后续进行加密数据等操作。
Hive
不会从自己的进程内存空间中加密文件,而是注入到远程进程中。在注入远程进程之前,
Hive
会尝试调整其令牌权限为
SeDebugPrivilege.
如果令牌权限调整失败,则不执行任何操作。
利用
CreateToolhelp32Snapsho
、
process32Firs
、
Process32NextW
枚举出所有进程,终止了很多与安全防御相关工具的服务和进程,同时通过模拟
trustedinstaller.exe
和
winlogon.exe
进程
token
,终止
Windows
防火墙反病毒功能,从而降低主机防御能力。
终止以下服务:
终止以下进程:
利用 wbadmin 、 wmic 、 vssadmin 以及 bcdedit 命令删除系统备份和还原点,禁止开机修复,防止受害者借助备份恢复数据,该程序后续还会禁用安全产品、清除 Windows 事件日志以及关闭文件句柄,以确保加密过程的顺利进行。
涉及的相关命令如下:
根据之前创建的自定义散列的前六个字节生成 Base64 字符串。这个 Base64 字符串作为文件名,加密后文件的扩展名即为 “.key” 。
二、解决方案
处置建议:
1. 避免将重要服务在外网开放,若一定要开放,需增加口令复杂度,避免使用弱口令。
2. 避免到信誉不明的网站下载应用程序。
3. 避免打开来历不明的邮件、链接和附件等,如一定要打开未知文件,请先使用杀毒软件进行扫描。
4. 定期使用杀毒软件进行全盘扫描,按时升级打补丁。
5. 重要的数据最好双机备份或云备份。
6. 如解密过程中,需要安装指定的第三方解密工具,注意安装的工具可能存在后门,以防二次感染。