恶魔化身:新型勒索BlackMatter Windows和Linux通吃

2021-09-15 17,096

自今年第二季度开始,DarkSide和REvil先后在美犯下大乱,在美俄联手下,纷纷偃旗息鼓,REvil更是一度关闭了相关网站和服务器。而在7月,一款名为BlackMatter的新型勒索病毒横空出世,本以为是”平平无奇“的新人,但是经过海内外安全人员分析确认,该新型勒索竟与REvil和DarkSide有着很强的关联性。

图片15.png

/深信服千里目实验室曾对这个病毒家族做过跟踪报道/


根据深信服终端安全团队的调查发现,此勒索病毒的开发团队为BlackMatter开发了windows版本和linux版本。Windows版本针对的是windows server以及windows7+。而linux版本针对的是Vmware esx服务器,并且也依旧能在Ubuntu、CentOs、Debian等操作系统上正常进行加密。安全团队成员对Windows版本与linux版本的Blackmatter勒索病毒都进行分析,分析内容如下:

图片16.png

/Windows版本勒索文本/

Win32

BlackMatter2.0版本的编译时间是在不久之前:

图片17.png

整体流程:

BlackMatter的整体工作调用操作如下:

图片18.png

动态加载:

BlackMatter在运行过程中调用windows API的方式是动态调用的,且需要使用到的Dll是通过遍历system32目录来手动加载的:

图片19.png


2.0版本的blackmatter将所有需要的API重定向到了自己的调用区段中,获取地址的方式是通过遍历Dll的ENT表,通过字符串hash比对后,利用导出索引指针和EAT表计算出函数地址的:

图片20.png


计算出地址以后才为自身调用区段布置opcode,病毒执行的过程中需要调用API的时候会进入自身的调用区段,由调用区段调用API,跳转的方式都为jmp eax,机器码为0xE0FF:

图片21.png

 

解密数据:

Blackmatter利用计算机的注册表HKLM\SOFTWARE\Microsoft\Cryptography下的MachineGuid的键值来base64生成加密后缀:

图片22.png

解密出恶意站点:

图片23.png

加密过程:

BlackMatter为执行加密过程创建了多个分支,分别有对应单参数模式,双参数模式以及无参数模式,可见BlackMatter的开发团队为各种不同的攻击情况都做好了准备:

图片24.png


安全团队针对无参数模式进行了分析,其执行勒索的流程如下:

图片25.png


病毒会关闭如下服务:

图片26.png


还会关闭可能影响到文件读写的进程:

图片27.png


病毒上传受害者信息的时候是单独创建一个线程来完成的,它将会上传以下信息到恶意服务器:

 图片28.png


Blackmatter勒索团伙对自己的作品十分自信,曾在网上透露过BlackMatter的加密效率十分高效,通过安全团队分析,其高效加密可能与其采用多线程加密有关。

BlackMatter会根据获取到的CPU数量来创建相应数量的线程:

图片29.png


BlackMatter使用了IO完成端口以及原子锁来确保异步IO的逻辑不会发生错误,先创建读写线程来阻塞等待端口中传来的读写请求,然后创建扫描文件线程,在扫描出文件后会向端口中投递读写请求,然后读写线程就可以开始进行加密,以这种方式来高效地多线程加密磁盘文件。

加密之后:

在完成加密之后,生成勒索字符串:

图片30.png


使用GDI对象将字符串绘制成勒索桌面的bmp图,存储在C:\\ProgramData目录下,并通过设置注册表中Control Panel\Desktop目录中Wallpaper键的值来改变桌面:

图片31.png

图片32.png


勒索桌面:

图片33.png

Linux

BlackMatter的开发团队还编写了以Vmware Esx服务器为目标的Linux版本。深信服安全团队对其也进行了分析,得出了此病毒在linux系统上运行并加密文件的关键步骤:

创建Daemon

图片34.png


病毒会通过创建daemon来试图干扰调试器的工作。

执行esxcli命令:

为了给加密文件做好准备,病毒会通过系统上的esxcli来执行一系列恶意命令,并将这些恶意命令封装成了以下的函数:

图片35.png


这些函数将利用esxcli的操作命令完成其代表的功能。

例如:关闭服务器防火墙的命令:

Network firewall set --enabled false

图片36.png


利用world-id来关闭运行的虚拟机:

Vm process kill --type=force --world-id=

图片37.png

 

以及利用vm process list来获取当前的虚拟机列表:

图片38.png

生成RSA秘钥:

勒索病毒的加密方法使用的是开源的CryptoPP库,把密钥生成以及加密过程静态编译到了病毒文件中。

图片39.png

扫描文件:

此勒索病毒在完成RSA秘钥生成之后就会开始扫描磁盘上的文件:

图片40.png


这个函数中将会再调用一个递归函数来扫描磁盘上的文件:

图片41.png

 

加密过程:

扫描完成之后病毒会根据CPU信息为加密过程选择多线程加密或单线程加密,并且还会计算需要加密的文件的总大小,然后调用加密函数对文件进行加密:

图片42.png


在完成对文件的加密之后会对文件进行重命名的操作:

图片43.png


对文件的加密算法采用CBC模式的AES加密算法,以下是生成CryptoPP Chipher::AES的过程。

图片44.png


在完成加密准备之后,病毒会读取文件数据,开始进行加密过程,将文件数据加密之后,再写回文件:

图片45.png


勒索文本是在运行的过程中动态生成的:

图片46.png

加固建议:

1.日常生活工作中的重要的数据文件资料设置相应的访问权限,关闭不必要的文件共享功能并且定期进行非本地备份;

2.使用高强度的主机密码,并避免多台设备使用相同密码,不要对外网直接映射3389等端口,防止暴力破解;

3.避免打开来历不明的邮件、链接和网址附件等,尽量不要在非官方渠道下载非正版的应用软件,发现文件类型与图标不相符时应先使用安全软件对文件进行查杀;

4.定期检测系统漏洞并且及时进行补丁修复。

本文作者:Further_eye

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/165648.html

Tags:
评论  (0)
快来写下你的想法吧!

Further_eye

文章数:319 积分: 2105

深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号