近日,安全厂商 G-Data 发布报告说,发现了一种新的敲诈类木马 Petya 。此木马的特点是首先修改系统 MBR 引导扇区,强制重启后执行引导扇区中的恶意代码,加密硬盘数据后显示敲诈信息,通过 Tor 匿名网络索取比特币。这是第一个将敲诈和修改 MBR 合二为一的恶意木马。哈勃分析系统获取到了木马样本,重现了敲诈流程。
此木马的传播途径是通过邮件进行传播,邮件伪装成求职简历,目标是公司 HR 部门。木马通过链接的方式加入邮件中,链接指向 dropbox 上的一个共享文件。
从 dropbox 上下载文件后,可以发现文件的名称也是简历相关,图标则伪装为自解压文件。
此木马的恶意代码并未保存在可执行节中,而是运行后在内存中进行解压,然后再执行。这段代码的主要目的是改写磁盘 MBR ,然后强制重启。写 MBR 的方式是将“ //./PhysicalDrive0 ”这个路径作为文件打开,然后向其中写入数据。
大部分写入内容是 512 字节(标准扇区大小)的无效数据,“ 7777 ……”。
真正有效的数据分为 3 段,以下简称 S1 、 S2 和 S3 。
S1 是标准的 MBR 扇区,可以看到其末尾的标志位 55 AA ,此数据被写入磁盘 0 扇区,作为系统重启后的引导程序。此引导程序会将存放于第 34 扇区的 S2 数据读入内存 8000H 基址处,然后跳转继续执行。
S2 数据的长度为 0×2000 字节,是进行加密和敲诈的恶意代码。此代码执行后,首先显示一个虚假的提示,让受害者以为系统正在进行磁盘扫描修复,实际上此时正在进行的是磁盘加密的程序。
一旦加密完毕,此木马就开始露出它的狰容,有一个骷髅头在受害者屏幕上闪烁:
按任意键后,屏幕上会显示敲诈文本,以及付款途径。同最近爆发的其它敲诈类木马一样,此木马要求在 Tor 匿名网络下,通过比特币支付赎金换取解密密码。在这段文字中,木马自称 PETYA ,这也是这类木马命名的由来。
需要指出的是,这个页面上的文字,大部分是编码在 S2 的数据中,但与付款相关的部分,是从 S3 中动态读取的。
这两个部分可以从先前 S3 保存的数据中找到。
由此就可以弄明白木马写入的三段数据的关系: S1 是引导程序, S2 是恶意代码, S3 相当于配置文件,可以在不修改 S2 的情况下调整执行参数,甚至包括加密密钥等。
总的来看,自从木马作者从去年开始爆发的敲诈木马中尝到甜头以后,各种不同类型的敲诈木马开始大量涌现。除了利用邮件社工传播和利用匿名网络 + 比特币支付赎金这两个共同的特点之外,木马作者开始尝试将各种不同的技术融合进木马之中,以增强反检测能力。像这次修改 MBR 的技术是比较传统的一种病毒恶意手法,之前还只是用于玩笑程序等简单的尝试,而这次则是与敲诈流程串在一起,又发挥了新的用途。敲诈木马的这类演化趋势值得我们持续关注和警惕。