背景
2019年3月17日,360威胁情报中心截获了首个利用WinRAR漏洞(CVE-2018-20250[4])传播未知恶意勒索软件的ACE文件[1]。该恶意压缩文件名为vk_4221345.rar,当受害者在本地计算机上通过WinRAR解压该文件后便会触发漏洞,漏洞利用成功后会将内置的勒索软件写入到用户计算机启动项目录中,当用户重启或登录系统都会执行该勒索软件从而导致重要资料被加密。
由于该勒索软件执行后并没有保存生成的RSA公私钥,也没有通过其他渠道将公私钥信息发送给攻击者,所以即便受害者向勒索软件作者支付相应的赎金也不可能解密文件。360威胁情报中心提醒用户,如遇到类似的勒索软件攻击,切忌支付赎金。并再次提醒广大用户务必对此高危漏洞做好十足的防护措施。
该勒索软件会加密指定文件后缀的文件,并修改文件后缀为.Jnec。故360威胁情报中心将该未知勒索软件命名为JNEC勒索软件并进行分析。
JNEC勒索软件在VirusTotal上的检测情况
样本分析
360威胁情报中心针对该利用WinRAR漏洞进行传播的勒索软件样本进行了分析,相关分析如下。
利用受损图片诱导解压
MD5 | 9ebe2ee958ddd61c93400293d6903ab0 |
文件名 | vk_4221345.rar |
该恶意压缩文件包含一张图片,当在WinRAR中双击打开后会看到一张看似破损并不完整的女性图片:
并且还会弹出疑似图片解压错误的提示框,而该解压出错提示框疑为攻击者故意为之,压缩包的CRC校验值疑似攻击者故意修改以致打开压缩包中的图片文件后会弹出错误框,以此来诱导用户通过解压后查看图片文件:
出于好奇,用户则可能通过解压后查看疑似受损的图片文件,而这样的操作正好会触发WinRAR漏洞,从而释放内置的勒索软件到用户启动目录中:
当用户重新启动计算机或登录系统后将执行释放的恶意勒索软件GoogleUpdate.exe。
勒索软件分析(GoogleUpdate.exe)
文件名 | GoogleUpdate.exe |
MD5 | 35f050c384154c4ae23e02b3fce79847 |
SHA256 | d3f74955d9a69678b0fabb4cc0e298fb0909a96ea68865871364578d99cd8025 |
壳信息 | ConfuserEx |
GoogleUpdate.exe采用ConfuserEx混淆,Exeinfo工具截图如下:
去混淆后可以看到,样本运行后将解密并加载名为koi的模块:
核心模块分析(Koi.exe)
文件名 | Koi.exe |
MD5 | 46de4ba92d3030c030494c7b6937f037 |
SHA256 | 28a5fa2687f8f5923e9724fd40fe093c7fda05fb61a3ff987b394b1d712d3d12 |
壳信息 | ConfuserEx |
Koi.exe同样使用ConfuserEx混淆,如下图:
去混淆后入口截图如下:
勒索功能分析
1. 进程运行环境检测
勒索功能部分首先会创建一个任务用于检测虚拟机、沙箱及任务管理器进程。虚拟机检测的相关代码如下:
检测沙盒的相关代码如下:
检测任务管理器进程相关代码如下:
2. 生成加解密密钥
入口代码接下来生成RSA-2048密钥对,虽然程序会将公私钥以十六进制的形式保存到变量pubKeyHex和priKeyHex中,但这两个变量在之后的代码中均没有被使用。该样本只是用RSA公钥来加密随机生成的字符串,加密后的数据将被用于生成在文件加密阶段所需的AES密钥:
生成及导出RSA密钥函数代码:
生成随机字符串函数代码:
使用RSA公钥加密、编码随机字符串的函数相关代码如下:
最后通过定时器启动加密任务:
3. 加密过程分析
加密任务创建后首先会调用GetLastInputInfo函数检测是否被调试:
然后创建两个线程分别用于搜索磁盘中的文件以及把待加密文件路径写入到日志文件中:
加密的文件后缀包括txt、doc、docx、dat、xls、xlsx、ppt、pptx、odt、jpg、jpeg、png、csv、xml、psd和sef:
待文件搜索结束后,执行加密文件的任务:
函数从日志文件中读取待加密文件列表,并依次加密每个文件:
文件加密函数将会计算之前随机字符串经RSA加密、编码处理后的SHA256值,并用做AES加密文件的密钥:
最后通过加盐AES实现文件加密:
待文件加密完成后将弹出对话框展示勒索信息:
最后在桌面生成勒索信息文件:
勒索信息中包含随机生成的12个字符的Gmail邮箱:
以下是勒索软件的README信息,大致意思是让受害者向比特币钱包地址1JK1gnn4KEQRf8n7pHZiNvmV8WXTfq7kVa支付0.05 BTC,并注册JSOqxz4E1cYL@gmail.com邮箱,随后将在邮箱中收到解密密钥:
无法解密成因分析
由于勒索软件自身设计的原因,亦或者勒索软件作者根本未想过要替受害者解密文件,即便受害者向勒索软件作者支付相应的赎金也无法从攻击者那里拿到相应的解密密钥,相关原理如下:
- 勒索软件作者并没有保存生成的RSA公私钥,更没有回传公私钥信息。
- 邮箱是随机生成的,但是并没有通过网络发送给勒索软件作者。因此即使受害者注册了对应的邮箱,勒索软件作者也不知道该邮箱的存在,更不会向它发送解密密钥。
总结
正如我们的预测,利用WinRAR漏洞(CVE-2018-20250)传播恶意程序的攻击行为正处在爆发阶段,360威胁情报中心除了观察到多个利用此漏洞进行的APT攻击活动外,还首次截获了利用该漏洞传播恶意勒索软件的病毒,攻击者企图制造更广泛的危害。由于从设计上看被加密的文件事实无法再被解密,所以目前无法排除这是一起勒索掩盖下的定向破坏攻击活动。360威胁情报中心再次提醒各用户及时做好该漏洞防护措施。(见“缓解措施”一节)
缓解措施
1、 软件厂商已经发布了最新的WinRAR版本,360威胁情报中心建议用户及时更新升级WinRAR(5.70 beta 1)到最新版本,下载地址如下:
32 位:http://win-rar.com/fileadmin/winrar-versions/wrar57b1.exe
64 位:http://win-rar.com/fileadmin/winrar-versions/winrar-x64-57b1.exe
2、 如暂时无法安装补丁,可以直接删除漏洞的DLL(UNACEV2.DLL),这样不影响一般的使用,但是遇到ACE的文件会报错。
目前,基于360威胁情报中心的威胁情报数据的全线产品,包括360威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、360 NGSOC等,都已经支持对此类攻击的精确检测。
IOCs
恶意ACE文件MD5 |
9ebe2ee958ddd61c93400293d6903ab0 |
JNEC勒索软件MD5 |
35f050c384154c4ae23e02b3fce79847 |
攻击者比特币钱包地址 |
1JK1gnn4KEQRf8n7pHZiNvmV8WXTfq7kVa |
参考链接
[1]. https://twitter.com/360TIC/status/1099987939818299392
[3]. 警惕!WinRAR漏洞利用升级:社工、加密、无文件后门
[4]. https://research.checkpoint.com/extracting-code-execution-from-winrar/
[5]. https://ti.360.net/advisory/articles/360ti-sv-2019-0009-winrar-rce/
声明:本文来自奇安信威胁情报中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。