Satan勒索病毒 携带永恒之蓝的漏洞攻击

2018-10-25   

威胁等级:★★★★★
Satan勒索病毒自诞生以来持续对抗查杀,新版本除了使用永恒之蓝漏洞攻击之外,还增加了其它的漏洞攻击,该病毒运行后不仅加密受害者计算机文件进行勒索,还有可能在联网条件下攻击其他计算机。该病毒使用对称加密算法,密钥硬编码在病毒程序和被加密文件中,因此可以解密。

背景介绍

撒旦Satan勒索病毒,运行之后加密受害者计算机文件,勒索赎金。自诞生以来持续对抗查杀,近日又捕获到最新的版本,文件加密后缀为“dbger”,此版本除了使用永恒之蓝漏洞攻击之外,又增加了其它的漏洞攻击。病毒内置了大量的IP列表,中毒后也会继续攻击他人。此病毒的危害巨大,也给不打补丁的用户敲响了警钟。不下载可疑程序并不能防止此病毒,如果不打补丁,即使没有任何操作只要联网就有可能被攻击,因此及时更新补丁,排查web漏洞,提高服务器安全才能最大限度的防御此类病毒。幸运的是此病毒使用对称加密算法加密,密钥硬编码在病毒程序和被加密文件中,因此可以解密。我们已经开发出了解密工具,如果有用户中了此病毒可以联系瑞星解密。

图:勒索信息

病毒攻击流程图:

病毒攻击视频:

查杀病毒视频:

拦截病毒视频:

技术分析

病毒母体分析

新版病毒运行后会创建一个互斥体 “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

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

图:循环攻击内置的IP段

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

图:随机选取

线程3的攻击函数和线程2相同,攻击每个IP时,都会循环攻击硬编码的226个端口,同样由于内置的编码表中不含有445端口,攻击互联网的线程也无法对445端口发起永恒之蓝攻击,只会向指定的IP发起web攻击,

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

图:判断端口执行攻击

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

图:永恒之蓝攻击

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

web攻击利用了多种漏洞

文件上传漏洞

图:文件上传漏洞

tomcat弱口令攻击

图:tomcat弱口令漏洞

CVE-2017-10271 WebLogic WLS组件漏洞

图:WebLogic WLS组件漏洞

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

图:JBOOS 反序列化漏洞

加密模块分析

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

图:被加密文件的现象

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

Windows、python2、python3、microsoft games、boot、i386、intel、
dvd maker、recycle、jdk、lib、libs、all users、360rec、360sec、
360sand、favorites、common files、internet explorer、msbuild、
public、360downloads、windows defen、windows mail、windows media pl、
windows nt、windows photo viewer、windows sidebar、default user

病毒排除的目录

图:病毒不加密的目录

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

dbger、cab、pol、dll、msi、exe、lib、iso、bin、tmp、
log、ocx、chm、dat、sys、dic、myd、sdi、lnk、gho、pbk

病毒排除的后缀

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

然后创建线程对遍历到的文件进行加密

病毒还会尝试关闭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文档全部加密。其它文档 根据文件大小,加密文件约前二分之一 、前五分之一 不等

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

"sql" ,"zip" ,"php" ,"asp" ,"jsp" ,"cpp" ,"ini" ,"aspx" ,
"cs" ,"py" ,"h" ,"vbs","bat","conf","sh","inc","e","c",
"asm","pl","csv","doc","docx","xls","xlsx","ppt"

完全加密的特殊后缀

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

图:弹出勒索信息

防范措施

  1. 更新永恒之蓝漏洞补丁
  2. 及时更新web漏洞补丁,升级web组件
  3. 开启防火墙关闭445端口
  4. 安装杀毒软件保持监控开启
  5. 安装瑞星之剑勒索防御软件

解密工具

我们已经开发出了解密工具,如果有用户中了此病毒可以使用此工具解密。(下载地址: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、点击 “文件”按钮选中要解密的文件夹

5、点击“解密” 后 此文件夹中的被加密文件将会被解密

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

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

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=
编辑:瑞瑞 阅读: