预警编号:NS-2018-0038
2018-11-29
TAG: | Satan、勒索病毒、.lucky |
---|---|
危害等级: | 高,Satan勒索病毒出现变种,已在国内出现感染案例,请相关用户关注。 |
版本: | 1.0 |
1
风险概述
近日,国内出现Satan最新变种勒索病毒感染案例,被加密的文件都会被修改为.lucky后缀。该勒索病毒同时具有传播能力,其传播模块与Satan勒索病毒类似,利用多个应用漏洞进行传播。并且该病毒具有多平台感染的特点,恶意文件可在Windows和Linux系统下执行并传播。
目前黑客的C&C服务器仍然存活,不排除有大面积感染的风险,请相关用户引起关注,及时做好防护措施,相关的IoC信息可参考附录。
该病毒拥有专门的传播模块,并利用多种漏洞进行传播,主要利用的漏洞如下:
- JBoss反序列化漏洞(CVE-2013-4810)
- JBoss默认配置漏洞(CVE-2010-0738)
- Tomcat任意文件上传漏洞(CVE-2017-12615)
- Tomcat web管理后台弱口令爆破
- Weblogic WLS 组件漏洞(CVE-2017-10271)
- Windows SMB远程代码执行漏洞MS17-010
- Apache Struts2远程代码执行漏洞S2-045
- Apache Struts2远程代码执行漏洞S2-057
- Weblogic任意文件上传漏洞(CVE-2018-2894)
- Spring Data Commons远程代码执行漏洞(CVE-2018-1273)
SEE MORE →
2安全建议
1
产品防护
绿盟科技入侵防护产品(IPS)可对有效的阻断此病毒的传播,请部署有IPS的用户及时更新防护规则,对应规则编号如下:
漏洞 | IPS规则编号 |
---|---|
JBoss反序列化漏洞(CVE-2013-4810) | 67542 |
JBoss默认配置漏洞(CVE-2010-0738) | 674406744167442 |
Tomcat任意文件上传漏洞(CVE-2017-12615) | 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 |
Weblogic任意文件上传漏洞(CVE-2018-2894) | 24286 |
Spring Data Commons远程代码执行漏洞(CVE-2018-1273) | 24257 |
最新的IPS产品规则可到下面的链接下载:
- 入侵防护系统(IPS)http://update.nsfocus.com/update/listIps
2
禁用Tomcat Web登录
由于该病毒会通过Tomcat爆破的方式进行传播,因此建议用户直接登录服务器进行应用部署,禁用Web管理页面的登录功能。
在Tomcat配置文件中,删除类似如下的配置项,即可禁用Web端登录:
3
临时防护建议
- 定期对重要数据进行备份。
- 检查crontab和rc.local文件,删除该病毒相关的启动信息。
- 检查/etc/rc6.d/S20loop文件指向的位置,删除该目录下相关的样本程序文件,包括.loop,.conn32/64,.cry32/64,最后删除/etc/rc6.d/S20loop文件。
- 为操作系统和相关应用设置复杂的登录口令。
- 及时更新相关应用的版本,或安装安全补丁来修复应用漏洞。
3技术细节分析
在黑客的C&C服务器上,我们发现了支持Windows和Linux的勒索样本,经过对比,样本在加密模块上具有相似性:
由于加密流程相似,以下的分析过程均以Windows的样本为例,样本首先通过文件后缀名筛选进行加密的文件类型:
选择加密文件的后缀列表如下:
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, 360sand/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密钥。
根据绿盟科技安全研究团队的研究结果,该勒索软件依赖于AES算法对文件进行加密,然而通过分析样本代码可以看出,样本内存在较严重的内存空间浪费和野指针问题,这一点在该家族的windows版本中尤为突出,成为该勒索软件的致命缺点,直到样本退出时,原始的AES密钥依旧留在内存中没有擦除。因此如能在样本完成加密后第一时间对物理内存进行取证分析,即可从物理内存中提取出密钥字符串对加密文件进行解密。
样本首先申请一段空间用于保存生成的随机字符串:
然后取前32位作为真正的密钥:
使用此密钥作为参数编写AES_ECB算法,每次取16字节对加密文件进行解密即可将加密文件还原:
想要恢复文件必须在病毒感染的第一时间进行内存取证,如果机器没有重启或者该机器上没有频繁的业务交互,即保存密钥的内存块可能没有被重新分配或清除,密钥信息仍然可以从内存中提取:
附录AIoC
C&C:
111.90.158.225111.90.158.225/d/ft32107.179.65.195/d/ft3223.247.83.135/d/ft32111.90.158.224/d/ft32 |
---|
Hash:
34CDBBDA5F7C02CA179A366232ADBB9684DDEE0187C61D8EB4348E939DA5A36636E34E763A527F3AD43E9C30ACD276FFD1AC4B74EE538DAB998085E0DFAA5E8DA8CAB7C48D687B510FB8EAF053BD57227FCD8A6C72C06D1892132D5E1D793B4B8D3C8045DF750419911C6E1BF493C747E145264CFFA3C01A93871B27A4F569CC3D659FC3561E94051998D11381A00BBD226B25F47DD6C62077CF52AEB5A759E7161090CAC8C73B249E8B9A939AB4B665 |
---|
END
作者:绿盟科技安全服务部
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。