警惕GarrantyDecrypt勒索病毒最新变种NOSTRO,加密全部文件
- 2019-01-16 18:46:47
近期360互联网安全中心监控到一款GarrantyDecrypt勒索病毒的新变种开始在国内传播。该勒索病毒通过RSA结合salsa20对文件进行加密,被加密的文件后缀会被修改为NOSTRO,加密过程也非常规范,密钥使用完成会被马上销毁,加密文件实行"一次一密"。该勒索病毒也是我们见到的最丧心病狂的勒索病毒之一——不区分文件类型,加密几乎所有类型的文件。根据360互联网安全中心的监测,该勒索病毒主要通过爆破远程桌面弱口令,登录远程后手动投毒进行传播。
样本分析
前期准备
该勒索病毒在加密文件之前,会先做下面4项准备:
1. 判断当前进程权限,如果权限较低,则重新提权启动。
2. 判断当前系统语言环境,避开斯拉夫语系的环境。这一点和之前很多勒索病毒一样(例如Hermes、Locky等勒索病毒),都避开了俄罗斯、乌克兰、哈萨克斯坦几个地区。
3. 删除系统卷影,破坏Windows系统的系统恢复功能。
4. 结束系统中运行的一些挖矿程序,由这点也可以看出:勒索病毒和挖矿攻击的目标经常是重叠的。
密钥处理
该勒索病毒采用的微软提供的Crypto系列函数,随机生成一对当前客户端使用的RSA密钥对,在获取到该密钥对后,立即销毁了内存中密钥对。
在获取到RSA密钥对后,又对私钥进行了一些处理,之后使用样本内嵌的作者的RSA公钥对这个处理后的密钥进行了加密,最后连同生成的RSA公钥一并写入到%appdata%/_uninstalling_.png文件中。
文件加密
在处理好密钥数据后,该勒索病毒创建了两个线程来加密文件:其中一个线程用来遍历网络资源文件,而另一个线程用来遍历本地文件。
常见的勒索病毒,通常会指定一个文件类型的范围,只对范围内的文件进行加密。而该勒索病毒则没有做这个判断——它会将所有类型的普通文件都进行加密。排除列表只包括5个目录和病毒自己产生的一些文件,同时还排除了一些被占用的和系统属性的文件:
· // Windows
· // Program Files
· // Program Files(x86)
· // $Recycle.bin
· // System Volume Information
· .NOSTRO
· #RECOVERY_FILES#.txt
· _uninstalling_.png
该勒索病毒制造者在加密文件这块做的也非常用心,每次加密一个文件之前,都会使用CryptGenRandom接口生成一个随机数做为密钥,这样就保证了一个文件一个密钥。同时在加密文件后该勒索病毒会立即销毁内存中的密钥信息,避免用户在中毒后通过从内存中dump出密钥信息来解密文件。
此外,在这一阶段,勒索病毒还会检查被加密文件的扩展名,如果扩展名在指定的列表范围内,则会对其进行全文加密,否则在后续的加密过程中只会进行一轮的加密循环——即只加密文件的头部1024字节内容。该逻辑我们认为是作者希望在保证勒索病毒破坏力的前提下,尽可能的对加密速度进行优化,这一点在文件加密算法的选择上也得到了印证。
而当前,该勒索病毒所定义的"需要被全文加密"的文件扩展名,则仅有".txt"一个。即,只有.txt文件需要被全文加密,其他扩展名的文件则均只加密前1024个字节的内容:
该勒索病毒在加密文件时,是用CryptGenRandom函数产生的随机数作为salsa20加密算法的密钥来加密文件。并在加密完文件后,将0xD3ADBE3F标记和被用RSA加密后的文件加密密钥添加到被加密文件的末尾。
以下是被加密文件末尾的格式。有4个字节是写入的标记0xD3ADBE3F,最末尾的48个字节是写入的被RSA加密的当前文件的加密密钥。
收尾
在完成一个文件夹的加密之后,会在这个文件夹下创建#RECOVERY_FILES#.txt文件,留下勒索信息,要求用户联系对方。
总结:
针对服务器的勒索病毒攻击依然是当下勒索病毒的一个主要方向,企业需要加强自身的信息安全管理能力——尤其是弱口令、漏洞、文件共享和远程桌面的管理,以应对勒索病毒的威胁,在此我们给各位管理员一些建议:
1. 多台机器,不要使用相同的账号和口令
2. 登录口令要有足够的长度和复杂性,并定期更换登录口令
3. 重要资料的共享文件夹应设置访问权限控制,并进行定期备份
4. 定期检测系统和软件中的安全漏洞,及时打上补丁。
5. 定期到服务器检查是否存在异常。查看范围包括:
a) 是否有新增账户
b) Guest是否被启用
c) Windows系统日志是否存在异常
d) 杀毒软件是否存在异常拦截情况