全新“撒旦”Satan勒索病毒来袭 瑞星独家提供解密工具

2018-07-20   

近日,瑞星威胁情报平台发现多起国内用户感染“撒旦”Satan勒索病毒事件,据瑞星安全研究人员介绍,病毒运行后会加密受害者计算机文件,加密完成后会用中英韩三国语言索取1个比特币作为赎金。

近日,瑞星威胁情报平台发现多起国内用户感染“撒旦”Satan勒索病毒事件。据瑞星安全研究人员介绍,该病毒运行后会加密受害者计算机文件,加密完成后会用中英韩三国语言索取1个比特币作为赎金,并威胁三天内不支付将不予解密。与以往常见的勒索病毒不同,“撒旦”不仅会对感染病毒的电脑下手,同时病毒还会利用多个漏洞继续攻击其它电脑。目前,瑞星公司已开发出独家解密工具,如果用户电脑中的文件已被“撒旦”病毒加密,可尝试下载解密。(下载地址:http://download.rising.com.cn/for_down/satan/Satan3.x_Encrypt.exe

图:感染“撒旦”病毒后弹出的勒索窗口

瑞星安全研究人员对最新版本的“撒旦”Satan勒索病毒进行了分析,发现该病毒与以往勒索病毒有较大的不同,“撒旦”Satan勒索病毒不仅使用永恒之蓝漏洞攻击,还增加了其它的漏洞攻击。包括文件上传漏洞、tomcat弱口令漏洞、WebLogic WLS组件漏洞、JBOOS 反序列化漏洞等。

虽然永恒之蓝已经过去很久,但是国内很多用户出于各种原因依然没有打补丁,这导致很多企业存在极大的安全隐患。“撒旦”Satan勒索病毒可通过漏洞进行传播,所以不下载可疑程序并不能防止感染病毒,如果不打补丁,即使没有任何操作只要联网就有可能被攻击,因此及时更新补丁,排查web漏洞,提高服务器安全才能最大限度的防御此类病毒。

防范措施

➢ 更新永恒之蓝漏洞补丁。

➢ 及时更新web漏洞补丁,升级web组件。

➢ 开启防火墙关闭445端口。

➢ 安装杀毒软件保持监控开启。

➢ 安装瑞星之剑勒索防御软件。

由于“撒旦”Satan勒索病毒使用对称加密算法加密,密钥硬编码在病毒程序和被加密文件中,因此可以解密。目前,瑞星已经开发出了解密工具,如果用户中了此病毒可下载此工具恢复被加密文件,下载地址: http://download.rising.com.cn/for_down/satan/Satan3.x_Encrypt.exe

解密工具使用方法

1、查看勒索信息是否和报告中的相同。

2、判断被加密文件名是否为[dbger@protonmail.com]+原始文件名+.dbger,或者[satan_pro@mail.ru]+原始文件名+.satan。

3.运行解密工具

4. 匹配密钥,因为该勒索病毒变种较多,不同样本内置密钥可能不同,所以新版中新增匹配密钥功能,通过指定一个具有固定格式的文件,解密工具尝试用收集到的密钥去解密,如果解密成功,说明受害者机器上的勒索变种使用该密钥加密,以后在解密所有文件的过程中使用该密钥。特殊的文件格式支持:PDF、Rar、Zip、PNG、Doc/Docx、Xls/Xlsx、Ppt/Pptx

5. 如果密钥匹配成功,受害者机器上被加密的文件能够正常解密,指定要解密的文件夹路径,点击解密,该文件加下所有加密后的文件即可以正常解密出来。

可以看到同目录下生成了被解密的文件,但是加密的文件将会被保留,用户查看确定文件被完全解密后,可删除被加密文件。在不确定解密文件是否正确的情况下,不要轻易删除被加密文件,防止其它类型病毒变种加密的文件没有被解密。

6. 如果没有指定格式的加密文件或使用指定格式的加密文件测试后没有匹配到正确解密密钥,则受害者机器上被加密的文件可能不能够正确恢复,用户可以尝试使用默认的密钥进行解密,解密出来的文件可能不正确,但用户原始的加密文件不会损坏。

7. 目前最新版本可以解密,如遇到此病毒的其它变种无法解密,可联系瑞星公司。

病毒详细分析

病毒攻击流程如下:

图:病毒攻击流程

新版撒旦Satan勒索病毒运行后会创建一个互斥体 “SATAN_SCAN_APP”,如果已经存在则退出。

图:创建互斥体

如果不存在则开始执行恶意功能,从资源中释放需要用到的恶意模块到C:\\Users\\All Users 目录下,包括永恒之蓝攻击工具、加密模块、密码抓取工具Mimikatz。

释放永恒之蓝攻击工具,其中blue.exe 是永恒之蓝漏洞攻击工具,star.exe是脉冲双星后门植入工具,down64.dll 是漏洞攻击成功后植入被攻击机器的后门,功能是下载勒索病毒母体, 其它文件都是攻击工具需要用到的依赖库和配置文件。

图:释放永恒之蓝攻击工具

释放加密模块,负责加密受害者计算机中的文件,针对加密模块的分析详见下文“加密模块分析”部分。

图:释放加密模块

判断系统架构,释放不同版本的密码抓取工具Mimikatz 并运行,64位系统从资源MINI64释放,32位系统从资源MINI32释放,命名为mmkt.exe。

图:释放运行密码抓取工具

密码抓取模块运行后会将抓取到的用户名保存到病毒目录下的“uname”文件中,密码保存到“upass”文件中。运行加密勒索模块,加密本机文件。

图:运行加密模块

创建三个线程攻击网络中的其它机器。

图:创建线程攻击其它机器

线程1,获取本机IP地址。

图:获取本机IP

循环攻击本地局域网Local_IP/16,16位子网掩码的网段。例如192.168.1.1——192.168.255.255,覆盖65536台主机,而不是仅仅攻击255台主机,相对而言攻击范围更广。

创建线程传入要攻击的IP。

图:循环攻击局域网主机

只攻击指定IP的445端口。

图:线程1只攻击445端口

线程2,攻击局域网中除了445端口之外的其它硬编码的226个端口。创建线程,传入攻击IP和端口,与线程1不同,线程1只传入攻击IP,端口固定445。线程2在创建子线程的时候 传入了攻击IP和端口 。

图:使用web漏洞攻击局域网中的机器

和线程1相比,线程2增加了一个判断,如果传入的端口是445,则执行永恒之蓝漏洞攻击,否则执行web漏洞攻击,不过针对445端口的永恒之蓝攻击不会生效,因为硬编码的226个端口中不包含445端口,即使包含,上层函数也不会传递445端口。因为线程1就可以完成局域网的445端口攻击了,此处就不用再攻击了。此病毒旧版本的硬编码端口列表中包含445端口。新版本的端口列表修改了,但是这里的代码没有修改,因此这里的判断显得有些多余。

图:判断端口执行攻击

此外在执行web攻击之前会设置一个标志位,如果端口是443或8443则将标志位设置为1,目的是拼凑攻击报文时,区分http还是https。https服务默认443端口,tomcat的https服务需要8443端口。

图:拼凑攻击报文

之所以没有固定端口,对同一个IP使用不同的端口循环攻击226次,是因为网络中有些机器没有打补丁,但是会将各种web服务的默认端口号修改为其它端口号,作为漏洞缓解措施。攻击者通过这种方式绕过缓解措施。这也为我们提了个醒,缓解措施很有可能被绕过,把漏洞彻底修复才能更大限度的避免被攻击。

硬编码的内置端口列表:

图:硬编码的攻击端口列表

线程3和线程2的区别主要是线程2攻击的是局域网IP,线程3攻击的是内置的互联网IP,病毒内置了大量的IP段,循环随机选取攻击。

图:循环攻击内置的IP段

从内置的硬编码的IP中,随机选取将要攻击的IP地址段。

图:随机选取

图:循环攻击指定的IP端口

图:判断端口执行攻击

永恒之蓝攻击,漏洞触发后会将down64.dll植入到被攻击机器。

图:永恒之蓝攻击

down64.dll的功能是联网下载运行病毒母体,被攻击机器中毒后,又会循环同样的操作,加密本机文件勒索,攻击其它机器。

web攻击利用了多种漏洞,文件上传漏洞。

图:文件上传漏洞

tomcat弱口令攻击。

图:tomcat弱口令漏洞

CVE-2017-10271 WebLogic WLS组件漏洞。

图:WebLogic WLS组件漏洞

CVE-2017-12149 JBOOS 反序列化漏洞。

图:JBOOS 反序列化漏洞

加密模块分析,Satan勒索病毒主要针对数据文件进行加密,加密后追加文件后缀为 “.dbger”。

图:被加密文件的现象

勒索模块运行后,尝试对所有驱动器遍历文件,排除以下目录:

表:病毒排除的目录

图:病毒不加密的目录

当为如下后缀时,不会加密:

表:病毒排除的后缀

图:病毒不加密的文件类型

然后创建线程对遍历到的文件进行加密,病毒还会尝试关闭SQL相关服务防止文件被占用无法加密。

图:关闭SQL服务

加密后文件名:[dbger@protonmail.com]+原始文件名+.dbger。

图:被加密的文件 命名规则

把加密密钥上传到给远程服务器101.99.84.136。

图:访问控制服务器

病毒的加密算法,加密方式:使用CryptAPI进行加密,算法为RC4,密钥结构:[HardWareID]+k_str1+k_str2+k_str3+[PUBLIC]。

密钥示例如下:

图:密钥结构

使用Windows自带的CryptAPI进行加密,MD5算法哈希密钥,加密算法为RC4。

图:加密算法为RC4

硬编码了三个字符串,

k_str1:"dfsa#@FGDS!dsaKJiewiu*#&*))__=22121kD()@#(*#@#@!DSKL909*(!#!@AA"
k_str2:"*@#AdJJMLDML#SXAIO98390d&th2nfd%%u2j312&&dsjdAa"
k_str3:"@!FS#@DSKkop()(290#0^^^2920-((__!#*$gf4SAddAA"。

图:硬编码的字符串,作为密钥的一部分

HardWareID和PUBLIC都是是随机生成的。首先,它会尝试读取保存在C:\Windows\Temp\KSession中的HardWareID值,如果失败则随机生成0x40大小字符串(固定的,加密过程只生成一次),然后写入了KSession文件中。

图:生成HardWareID

图:HardWareID会被保存在KSession文件中

同样的方式生成长度为0x20大小的PUBLIC值(每加密一个文件生成一次)。

图:生成PUBLIC

从图中可以看到,每个文件的PUBLIC是不同的。

图:每个文件的PUBLIC不同

最终HardWareID和PUBLIC都会追加到,被加密文件的末尾。

图:可以在被加密的文件末尾看到HardWareID与PUBLIC的值

病毒为了加快加密速度,对不同大小,不同类型的文件采取不同的加密策略,重要的文档例如 word、excel文档全部加密。其它文档根据文件大小,加密文件约前二分之一 、前五分之一不等。

特殊后缀如下,主要是比较重要的办公文档、源代码文档的后缀名。

表:完全加密的特殊后缀

加密方式为如下几种:

1、小于等于100000000字节

(1)特殊后缀,完全加密。

(2)其它后缀,部分加密,加密大小的算法 CryptSize = (FileSize / 2000) *1000,约为文件的二分之一。

举个例子,文件小于等于100000000字节时,zip格式的压缩包就会被完全加密,而RAR格式的只会被加密大约二分之一,因为zip是病毒指定的特殊后缀,而RAR不在列表中。

2、大于100000000 字节的文件

(1)特殊后缀,完全加密。

(2)其它后缀,部分加密,加密大小的算法 CryptSize = (FileSize / 5000) *1000,约为文件的五分之一。

举个例子,文件大于100000000字节时,zip格式的压缩包就会被完全加密,而RAR格式的 只会被加密大约五分之一,因为zip是病毒指定的特殊后缀,而RAR不在列表中。

当加密完成后,病毒会打开勒索文本提示用户支付赎金。勒索信息提供三种语言英文、中文和韩文,威胁受害者在三天之内向作者支付1个比特币,否则文件无法解密,并且重要文件被公开。然而事实上文件可以解密,并且病毒作者也没有获取到受害者的文件。

比特币钱包:3EbN7FP8f8x9FPQQoJKXvyoHJgSkKmAHPY

邮箱:dbger@protonmail.com

图:弹出勒索信息

IOC

MD5

ECF5CABC81047B46977A4DF9D8D68797   病毒母体
C0150256A864E5C634380A53290C7649	加密模块

C&C

http://101.99.84.136
http://101.99.84.136/cab/sts.exe
http://101.99.84.136/cab/st.exe
http://101.99.84.136/data/token.php?status=ST&code=
http://101.99.84.136/data/token.php?status=BK&code=
http://101.99.84.136/data/token.php?status=DB&code=
http://101.99.84.136/data/token.php?status=ALL&code=
http://101.99.84.136/count.php?url=

[责任编辑:瑞瑞]