Sodinokibi勒索病毒分析

百家 作者:Chamd5安全团队 2021-09-25 23:19:46

IOC

病毒名称Sodinokibi勒索病毒

样本名称CDHFUN.exe

MD5: ea4cae3d6d8150215a4d90593a4c30f2

SHA1: 8dcbcbefaedf5675b170af3fd44db93ad864894e

SHA256: 6a2bd52a5d68a7250d1de481dcce91a32f54824c1c540f0a040d05f757220cd3


一、行为概述

Sodinokibi 勒索病毒(又称为REvil),在 2019 年 11 月首次在 VT 上被上传,直到今年 月还在网络上活动。感染该病毒的主机会经历提权以及文件加密的过程,所有被加密的文件都会以随机生成的扩展名结尾,并会被要挟前往暗网向黑客缴纳赎金。

病毒运行后,会在每一个待加密的目录下生成一个缴纳赎金指导文件,文件名前部分是随机生成的,且会运用到被加密文件的后缀中,以及里面还会包含一个随机生成的用户密钥。


病毒会在其工作目录下生成一个 DBG_LOG.TXT 文本文件,用于记录病毒感染主机的工作进度以及输出信息。

病毒将随机生成的后缀名以及桌面图片存储到注册表中。

加密后的文件夹如下:

加密结束后,病毒会将主机的桌面背景替换。


二、分析

在结束一系列初始化后,程序通过查询配置中的”exp”键值从判断是否进行提权,提权使用的是 CVE-2018-8453 漏洞。这里我获得的样本配置”exp”键值为 false,也就是不进行提权。

所有的配置信息都通过 rc4 流加密,在病毒运行时动态解密出字符串。在程序刚开始运行时,首先在函数 0x40e74b 中解密配置信息,解密后的字符串以 json 格式存储,信息长度为 0x663b 个字节,如下图所示。

通过动态调试可以知道,.ycpc19 节区的前 32 个字节是 rc4 的密钥。

因为我的样本配置“exp” false,所以这里只是静态分析一下。在函数 0x 415752 中,通过 GetNativeSystemInfo 函数来区分操作系统是 32 位的还是 64 位,选择对应的 shellcode 来执行 rc4 解密后执行 shellcode 来提权。

进入到函数 0x412ece 中,当程序不是以管理员运行时,将会调用 ShellExecuteExW执行“runas exp”命令再启动一个自身实例,并结束当前进程。

在函数 0x4121a0 中,通过 OpenProcessToken 函数查询,判断程序是否以管理员权限运行。

在函数 0x412681 中,检查感染主机的语言环境是否为特定的语言(通过键盘标识符判断),如果是则返回 0。返回 时,加密文件等后续操作将不会进行,也就是说该病毒对部分国家或地区不进行感染。


可以参考 https://docs.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/windows-language-pack-default-values#span-idkeyboard_identifiersspanspan-idkeyboard_identifiersspanspan-idkeyboard_identifiersspankeyboard-identifiers 中提供的标志列表对照函数 0x41276B 中的值来查看哪些国家免疫。

在函数 0x4107AC 中,调用函数 0x4128d4,遍历进程列表查看是否存在黑名单中的服务,如果发现将会被强制终止。

在函数 0x 411EA2 中,通过 ShellExecuteExW 执行命令“powershell -e RwBlAHQALQBXAG0AaQBPAGIAagBlAGMAdAAgAFcAaQBuADMAMgBfAFMAaABhAGQAbwB3AGMAbwBwAHkAIAB8ACAARgBvAHIARQBhAGMAaAAtAE8AYgBqAGUAYwB0ACAAewAkAF8ALgBEAGUAbABlAHQAZQAoACkAOwB9AA==”base64解码后为“Get-WmiObject Win32_Shadowcopy | ForEach-Object {$_.Delete();}”)来删除 Windows 的操作系统的备份。
       
函数 0x414E3B 遍历本地驱动器上的所有文件夹及其文件。以白名单中的后缀结尾的文件不会被加密。配置中的“ext”键是后缀白名单,“fld”是文件夹白名单

白名单中的后缀:

白名单中的目录:

在加密文件夹前,先创建一个 txt 文件告知受害者缴纳赎金的方法。
经过分析反编译后的代码以及调试的结果,可以知道 sub_40FD4A 函数即是对文件进行加密。

sub_415F36 函数与 Salsa20 的核心函数相似度极高,以及出现的 个字的常数(即 个字为“ expa”“ nd 3”“ 2-by”“ te k”),所以判断文件加密使用的是 Salsa20 流加密

 

加密结束后,修改感染主机的桌面,提醒受害者知道自己被感染了。

 

三、总结

2019年,REvil 首次被发现时,它是通过利用 Oracle WebLogic 漏洞传送到目标的。从那时起,威胁实施者扩大了传播范围,包括恶意垃圾邮件活动、RDP 攻击和其他攻击媒介。另外,REvil 不包含使其能够在感染期间横向传播的蠕虫状特征。


如果有人不幸感染了该勒索病毒,可以通过链接 http://download.bitdefender.com/am/malware_removal/BDREvilDecryptor.exe 下载解密工具修复文件夹。

end


招新小广告

ChaMd5 Venom 招收大佬入圈

新成立组IOT+工控+样本分析 长期招新

欢迎联系admin@chamd5.org



关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接