剖析Mamba-磁盘加密型勒索软件。另一个新的勒索软件已经加入文件加密的潮流中。只是这一次不是选择一些类型的文件加密,它直接用一个开源的工具DiskCryptor加密整个磁盘。
这个不是第一次出现磁盘加密类型的勒索软件。在早年,Petya勒索软件通过加密磁盘主文件表(MFT)恶意破环,使用户无权访问文件。不像之前的攻击,这个新的勒索软件完全加密整个磁盘,包括数据。除非支付勒索金否则系统完全不能用。为了匹配它的能力,他被命名为有毒的射的名字,曼巴。
本文调查了这个恶意程序的功能和技术。
0x01 DiskCryptor安装
深入到磁盘权限和加密将会非常的复杂。因此,直接写代码加密磁盘将很容易产生一个噩梦。因为这个原因,一个实用的方案是用一个第三方工具实现加密磁盘,实现简单,可靠的解密保护。幸运又不幸的是,有一个叫DiskCryptor的工具,这个工具提供了勒索软件需要的功能。它是一种偷懒的方案,但是很聪明。
安装的组件是该工具的gui版本。这个工具号称多种加密算法实现多层保护。
图1 DiskCryptor主界面和支持的加密算法
主程序没有参数(一个密码)不能完全执行。这个需要另一个组件来生成密码,但是我们还没有发现。因此在本文中用了一个假的密码测试。
一旦合适的密码被提供,Mamba通过安装DiskCryptor(安装在C:\DC22\)组件能很好的兼容32位和64位版本的环境。
图2 安装组件
为了持续性,可执行程被安装成一个“DefragmentService”的服务,password为参数。
图3 Mamba用一个测试密码把自己安装成一个服务
0x02 在映射的网络磁盘上加密文件
在全盘加密前,它也会加密所有映射的网络磁盘,进一步加大了破环程度。
显然,在比较老版本的系统上用“net use”命令枚举映射的网络磁盘。
图4 检查系统版本
对于新版的操作系统(Vista及之后的),有UAC特性。这个恶意程序通过计划任务运行“net use”命令。这样就能在管理员和普通用户上下文下能更精确的映射的网络磁盘。为了访问密码保护的网络磁盘,可以使用一个免费工具(Netpass)。这个工具用来恢复存储在系统中网络密码。磁盘和网络密码列表被存储在“netuse.txt”和“netpass.txt”。
图5 在新老系统中执行“net use”
图6 以管理员和计划任务运行“net use”
图7 Netpass GUI模式
用之前创建的管理员账户提升权限执行mount.exe组件加密文件。这时,它用一个包含一系列异或和左移操作的自定义算法。提供给主程序的密钥是password的一部分。密钥的MD5哈希值在将它转化为字符串之前用微软的CryptoAPI来获得。为了增加复杂性,只有字符串的一半被用来加密。
图8 提权执行Mount.exe
图9MD5 string
图10文件加密过程
图11在映射的网络磁盘上加密文件