IOC
病毒名称:Sodinokibi勒索病毒
样本名称:CDHFUN.exe
MD5: ea4cae3d6d8150215a4d90593a4c30f2
SHA1: 8dcbcbefaedf5675b170af3fd44db93ad864894e
SHA256: 6a2bd52a5d68a7250d1de481dcce91a32f54824c1c540f0a040d05f757220cd3
Sodinokibi 勒索病毒(又称为REvil),在 2019 年 11 月首次在 VT 上被上传,直到今年 8 月还在网络上活动。感染该病毒的主机会经历提权以及文件加密的过程,所有被加密的文件都会以随机生成的扩展名结尾,并会被要挟前往暗网向黑客缴纳赎金。
病毒运行后,会在每一个待加密的目录下生成一个缴纳赎金指导文件,文件名前部分是随机生成的,且会运用到被加密文件的后缀中,以及里面还会包含一个随机生成的用户密钥。
![]()
病毒会在其工作目录下生成一个 DBG_LOG.TXT 文本文件,用于记录病毒感染主机的工作进度以及输出信息。
![Sodinokibi勒索病毒分析]()
病毒将随机生成的后缀名以及桌面图片存储到注册表中。
加密后的文件夹如下:
在结束一系列初始化后,程序通过查询配置中的”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。返回 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”是文件夹白名单
![Sodinokibi勒索病毒分析]()
![Sodinokibi勒索病毒分析]()
白名单中的后缀:
![Sodinokibi勒索病毒分析]()
白名单中的目录:
![]()
在加密文件夹前,先创建一个 txt 文件告知受害者缴纳赎金的方法。
经过分析反编译后的代码以及调试的结果,可以知道 sub_40FD4A 函数即是对文件进行加密。
sub_415F36 函数与 Salsa20 的核心函数相似度极高,以及出现的 4 个字的常数(即 4 个字为“ expa”,“ nd 3”,“ 2-by”和“ te k”),所以判断文件加密使用的是 Salsa20 流加密。
![]()
![]()
加密结束后,修改感染主机的桌面,提醒受害者知道自己被感染了。
2019年,REvil 首次被发现时,它是通过利用 Oracle WebLogic 漏洞传送到目标的。从那时起,威胁实施者扩大了传播范围,包括恶意垃圾邮件活动、RDP 攻击和其他攻击媒介。另外,REvil 不包含使其能够在感染期间横向传播的蠕虫状特征。
如果有人不幸感染了该勒索病毒,可以通过链接 http://download.bitdefender.com/am/malware_removal/BDREvilDecryptor.exe 下载解密工具修复文件夹。
![Sodinokibi勒索病毒分析]()
相关推荐: 九月红队考核 ack123靶场第一篇
暗月九月红队考核ack123靶场第一篇 暗月渗透测试培训出师靶场的第一篇九月出师人数共七人 共七篇文章 目前第一篇 1 主要考点 1.站库分离 外网打点2.过360全家桶3.过windwos defender4.过火绒5.内网漫游6.多层网络渗透7.…
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/552344.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论