概述
近日,奇安信病毒响应中心在日常样本监控过程中发现Hakbit勒索在国内有扩散趋势,经过分析,奇安信已经将其破解,并公布了解密器和解密思路。
Hakbit勒索于11月4日在野外被发现,加密82种文件后缀,传播方式主要为僵尸网络和垃圾邮件,执行过程中会使用开源项目SharpExec用于横向移动扩大受害面积,目前已经检测到国内外用户有小批量的中招。
如果要解密文件请按照文章末尾的解密操作流程来进行操作。
详细分析
文件名称 | chrome32.exe |
---|---|
文件类型 | Windows PE |
MD5 | 791f2cb92301fd5709e0bfee741cf6d1 |
该勒索由.net语言编写,原始样本加有Smart Assembly壳,执行过程中会根据配置项来决定是否执行某些函数,下面会对每一个功能逐一分析:
首先会检查是否具有管理员权限,如果有则通过注册表禁用Windows Defender:
并调用Powershell禁用Windows Defender相关功能:
将自身进程设置为系统严重状态,防止进程被结束:
给自身添加ACL,防止文件被访问:
调用五个方法检测当前环境是否在虚拟机中。
1、调用WMI查询本机BIOS中是否包含相关字符串:
2、检测调试器:
3、检查是否含有SbieDll.dll,来判断当前是否在沙箱中运行:
4、判断磁盘大小:
5、检测系统名中是否包含“xp”:
判断当前执行路径是否在启动目录下,如果不是则将自身拷贝到启动目录下,文件名则随机从列表中选择。删除卷影:
列表如下:
并从Github上下载SharpExec:
用于横向移动:
结束相关进程:
通过RNGCryptoServiceProvider类生成强随机数,并进行base64加密:
通过PBKDF2算法生成AES的key:
PBKDF2算法的key:
通过AES算法对之前生成的base64值进行加密:
并生成用户ID,用户ID结构如下:
(加密base64的AES_IV的长度+加密base64的AES_IV+AES加密后的base64的值)
对其计算base64,结果即为用户ID。
之后开始遍历磁盘:
加密如下后缀的文件:
加密后的文件后缀为.crypted。
将之前生成的base64作为PBKDF2算法的Key。
salt如下:
AES的key和IV均是通过PBKDF2算法生成。
对文件进行加密:
拼接用户ID,生成勒索信:
并将本机IP、加密时间、加密文件数、用户ID,发送到远程FTP服务器:
从远程服务器下载JPG文件作为桌面背景:
并调用notepad打开勒索信:
最后自删除:
解密思路
该勒索可以被解密,目前奇安信已经公布解密工具,为了给社区做更多贡献,我们公布了相关解密思路:
解密文件需要获得AES的key和IV,由于AES的key和IV是通过PBKDF2算法生成的,PBKDF2的salt已知,而PBKDF2得key则是之前通过强随机数生成经过base64编码后的值,该值被另一套AES加密存到用户ID中了,而AES的key还是通过PBKDF2算法生成的,PBKDF2的key是硬编码在程序中的,salt是已知的,所以我们可以得到AES的key,而AES的IV并不是通过PBKDF2生成的,而是RijndaelManaged类默认生成的。但是IV被保存在了用户ID中,所以用户只要能够提供勒索信和加密后的文件就可以解密。
解密操作流程
将被加密的文件放置到同一个目录下,下载我们提供的解密工具:
打开命令行,输入:
Decode.exe <勒索信的全路径> <要解密的目录>
解密前文件数据:
解密后文件数据:
随后奇安信会推出官方整合版解密器,支持解密近百种勒索家族,敬请期待。
目前奇安信集团全线产品,包括天擎、天眼、SOC、态势感知、威胁情报平台,支持对涉及该报告相关的攻击活动检测。
IOC
文件MD5:
791f2cb92301fd5709e0bfee741cf6d1
Host:
hakbit.000webhostapp.com
213.190.6.99
hakbit.hostingerapp.com
勒索比特币钱包地址:12grtxACJZkgT2nGAvMesgoM4ADHJ6NTaW
联系邮箱:hakbit@protonmail.com
*本文作者:奇安信威胁情报中心,转载请注明来自FreeBuf.COM