freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

恶魔化身:新型勒索BlackMatter Windows和Linux通吃
2021-09-01 18:14:23

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

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

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

/Windows版本勒索文本/

Win32

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

整体流程:

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

动态加载:

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

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

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

解密数据:

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

解密出恶意站点:

加密过程:

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

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

病毒会关闭如下服务:

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

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

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

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

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

加密之后:

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

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

勒索桌面:

Linux

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

创建Daemon

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

执行esxcli命令:

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

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

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

Network firewall set --enabled false

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

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

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

生成RSA秘钥:

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

扫描文件:

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

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

加密过程:

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

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

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

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

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

安全防护

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

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

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

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

# 系统安全 # 勒索病毒 # BlackMatter
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录