“绝地求生”:深信服EDR让新型勒索病毒Signer“落地成盒”
2021-10-15 15:21:38 Author: www.secpulse.com(查看原文) 阅读量:35 收藏

背景概述

深信服终端安全团队捕获了一个新型的勒索病毒样本,被加密的文档后缀为.decaf。此勒索病毒的开发者为这个病毒做了伪造的数字签名,其目的可能是试图以此来躲过杀毒软件的查杀,因此安全专家将此新的勒索病毒命名为Signer。

图片1.png 

勒索信内容如下,其中第一句是“WINNER WINNER CHICKEN DINNER”,让人不禁联想到“绝地求生”这款游戏,玩家常把取得第一名称为“吃鸡”。

图片2.png 

样本分析

样本情况

勒索病毒样本本身是一个使用UPX压缩的Go语言编写的可执行文件,只针对64位操作系统进行加密。

图片3.png 

文本生成

病毒在被运行起来之后会首先生成勒索文本的字符串并放入内存,后续的目录扫描过程中会在每一个被认为是可加密的目录下放置勒索文本README.txt:

图片4.png 

枚举盘符

勒索病毒将加密每一个逻辑磁盘,它首先会枚举出计算机的所有盘符,然后将对应逻辑磁盘信息放入一个结构体中: 

图片5.png

然后对枚举出的每一个逻辑磁盘创建一个协程,此协程来负责完成该逻辑磁盘的加密:

图片6.png

扫描文件原理

此勒索病毒为了提高加密效率,将扫描的磁盘文件的协程与读取加密文件的协程分开来,并使用Channel实现通信前者只需要持续地递归遍历磁盘下每一个目录和文件,并筛选出要加密的文件,将文件名以字符串的形式送到读取加密文件的协程。

创建Channel:

图片7.png 

对于处理每一个磁盘的协程,在运行的过程中又会创建四个协程来读取文件数据,并执行加密过程,再创建完读取加密文件的协程之后,会调用扫描文件的函数。

图片8.png 

加密文件的协程与执行加密过程的函数:

图片9.png 

通过receive操作符来获取到Channel传入的文件名字符串,然后调用加密文件函数,开始对文件完成打开,读取,以及加密等一系列操作。

读取文件大小:

图片10.png

读取并扩展到16个字节的文件内容,并放入栈中:

图片11.png

加密数据的方式按照十六个字节来进行的,加密后的数据存于内存中中,等到全部加密数据被计算出以后才一起写入*.decaf的文件,最后再将原来的文件删除。

扫描文件的时候,此勒索病毒会指定一些特定目录和文件后缀不做加密,通过对目录名和文件后缀名进行哈希匹配来确定不加密的目录和指定后缀的文件:

图片12.png 

目前看来,病毒不会加密后缀为exe、dll、sys的文件,也不会加密以下目录:

图片13.png

加密流程

病毒使用AES加密算法对文件进行加密,每加密一个文件之前会获取32个字节的随机数值,前16个字节用于与文件内容异或,后16个字节当作AES的密钥对文件进行加密,并将AES加密后的内容参与到下一轮异或中。最后将异或密钥、加密后的随机字符、加密后的文件填充到新生成的加密文件中。

生成32个字节的随机字符:

图片14.png 

对随机字符进行加密

图片15.png

使用aeskeygenassist指令生成AES轮回秘钥,AES密钥为随机生成的后16个字节:

图片16.png 

使用随机生成的前16个字节与文件内容进行异或:

图片17.png 

使用aesenc指令对异或后的内容进行加密,并将加密后的内容参与到下一轮异或:

图片18.png 

最终填充至新文件,文件第二行是异或密钥,随后是加密后的随机字符,最后是加密后的文件内容:

 图片19.png

安全加固

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

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

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

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

本文作者:Further_eye

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


文章来源: https://www.secpulse.com/archives/167038.html
如有侵权请联系:admin#unsafe.sh