警惕GarrantyDecrypt勒索病毒最新变种NOSTRO

2019-01-18 67046人围观 网络安全

近期360互联网安全中心监控到一款GarrantyDecrypt勒索病毒的新变种开始在国内传播。该勒索病毒通过RSA结合salsa20对文件进行加密,被加密的文件后缀会被修改为NOSTRO,加密过程也非常规范,密钥使用完成会被马上销毁,加密文件实行“一次一密“。该勒索病毒也是我们见到的最丧心病狂的勒索病毒之一——不区分文件类型,加密几乎所有类型的文件。根据360互联网安全中心的监测,该勒索病毒主要通过爆破远程桌面弱口令,登录远程后手动投毒进行传播。

样本分析

前期准备

该勒索病毒在加密文件之前,会先做下面4项准备:

1.判断当前进程权限,如果权限较低,则重新提权启动。

2.判断当前系统语言环境,避开斯拉夫语系的环境。这一点和之前很多勒索病毒一样(例如Hermes、Locky等勒索病毒),都避开了俄罗斯、乌克兰、哈萨克斯坦几个地区。

3.删除系统卷影,破坏Windows系统的系统恢复功能。

4.结束系统中运行的一些挖矿程序,由这点也可以看出:勒索病毒和挖矿攻击的目标经常是重叠的

image.png

图1.前期准备

密钥处理

该勒索病毒采用的微软提供的Crypto系列函数,随机生成一对当前客户端使用的RSA密钥对,在获取到该密钥对后,立即销毁了内存中密钥对。

image.png

图2.RSA密钥对

在获取到RSA密钥对后,又对私钥进行了一些处理,之后使用样本内嵌的作者的RSA公钥对这个处理后的密钥进行了加密,最后连同生成的RSA公钥一并写入到%appdata%/_uninstalling_.png文件中。

image.png

图3. 密钥处理

文件加密

在处理好密钥数据后,该勒索病毒创建了两个线程来加密文件:其中一个线程用来遍历网络资源文件,而另一个线程用来遍历本地文件。

image.png

图4.加密文件线程

常见的勒索病毒,通常会指定一个文件类型的范围,只对范围内的文件进行加密。而该勒索病毒则没有做这个判断——它会将所有类型的普通文件都进行加密。排除列表只包括5个目录和病毒自己产生的一些文件,同时还排除了一些被占用的和系统属性的文件:

l  // Windows

l  // Program Files

l  // Program Files(x86)

l  // $Recycle.bin

l  // System Volume Information

l  .NOSTRO

l  #RECOVERY_FILES#.txt

l  _uninstalling_.png

image.png

图5.排除在外的目录和文件

该勒索病毒制造者在加密文件这块做的也非常用心,每次加密一个文件之前,都会使用CryptGenRandom接口生成一个随机数做为密钥,这样就保证了一个文件一个密钥。同时在加密文件后该勒索病毒会立即销毁内存中的密钥信息,避免用户在中毒后通过从内存中dump出密钥信息来解密文件。

image.png

图6.获取随机数

此外,在这一阶段,勒索病毒还会检查被加密文件的扩展名,如果扩展名在指定的列表范围内,则会对其进行全文加密,否则在后续的加密过程中只会进行一轮的加密循环——即只加密文件的头部1024字节内容。该逻辑我们认为是作者希望在保证勒索病毒破坏力的前提下,尽可能的对加密速度进行优化,这一点在文件加密算法的选择上也得到了印证。

image.png

图7.判断文件是否需要被全文加密

而当前,该勒索病毒所定义的“需要被全文加密”的文件扩展名,则仅有“.txt”一个。即,只有.txt文件需要被全文加密,其他扩展名的文件则均只加密前1024个字节的内容:

image.png

图8.需要被全文加密的文件扩展名列表

该勒索病毒在加密文件时,是用CryptGenRandom函数产生的随机数作为salsa20加密算法的密钥来加密文件。并在加密完文件后,将0xD3ADBE3F标记和被用RSA加密后的文件加密密钥添加到被加密文件的末尾。

image.png

图9.加密文件

以下是被加密文件末尾的格式。有4个字节是写入的标记0xD3ADBE3F,最末尾的48个字节是写入的被RSA加密的当前文件的加密密钥。

image.png

图10.被加密文件格式

收尾

在完成一个文件夹的加密之后,会在这个文件夹下创建#RECOVERY_FILES#.txt文件,留下勒索信息,要求用户联系对方。

image.png

图11.勒索信息

总结

针对服务器的勒索病毒攻击依然是当下勒索病毒的一个主要方向,企业需要加强自身的信息安全管理能力——尤其是弱口令、漏洞、文件共享和远程桌面的管理,以应对勒索病毒的威胁,在此我们给各位管理员一些建议:

1.多台机器,不要使用相同的账号和口令;

2.登录口令要有足够的长度和复杂性,并定期更换登录口令;

3.重要资料的共享文件夹应设置访问权限控制,并进行定期备份;

4.定期检测系统和软件中的安全漏洞,及时打上补丁;

5.定期到服务器检查是否存在异常。查看范围包括:

a)是否有新增账户;

b)Guest是否被启用;

c)Windows系统日志是否存在异常;

d)杀毒软件是否存在异常拦截情况。

image.png

*本文作者:360安全卫士,转载请注明来自FreeBuf.COM

取消
Loading...

特别推荐

推荐关注

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php