一、 概述
昨天(12月1日)突发的"微信支付"勒索病毒,已被火绒安全团队成功破解。被该病毒感染的用户可以下载破解工具,还原被加密的文件。下载地址:https://www.huorong.cn/download/tools/HRDecrypter.exe
据火绒安全团队分析,该勒索病毒开始勒索前,会在本地生成加密、解密相关数据,火绒工程师根据这些数据成功提取到了密钥。
此外,该勒索病毒只加密用户的桌面文件,并会跳过一些指定名称开头的目录文件, 包括"腾讯游戏、英雄联盟、tmp、rtl、program",而且不会感染使用gif、exe、tmp等扩展名的文件。
值得一提的是,该病毒会利用带有腾讯签名的程序调用病毒代码,来躲避安全软件的查杀。
"火绒安全软件"已于昨天紧急升级,可拦截、查杀该病毒,广大用户如果遇到新情况,可通过火绒官方论坛、微博、微信公众号等渠道,随时向火绒安全团队反映或求助。
二、 样本分析
近期火绒接到用户反馈,使用微信二维码扫描进行勒索赎金支付的勒索病毒Bcrypt正在大范围传播。用户中毒重启电脑后,会弹出勒索信息提示窗口,让用户扫描微信二维码支付110元赎金进行文件解密。病毒作者谎骗用户称"因密钥数据较大如超出个这时间(即2天后)服务器会自动删除密钥,此解密程序将失效",但实际解密密钥存放在用户本地,在不访问病毒作者服务器的情况下,也完全可以成功解密。如下图所示:
勒索提示窗口
病毒代码依靠"白加黑"方式被调用,用于调用病毒代码的白文件带有有效的腾讯数字签名。由于该程序在调用动态库时,未检测被调用者的安全性,所以造成名为libcef.dll的病毒动态库被调用,最终执行恶意代码。被病毒利用的白文件数字签名信息,如下图所示:
被病毒利用的白文件数字签名信息
该病毒运行后,只会加密勒索当前用户桌面目录下所存放的数据文件,并且会对指定目录和扩展名文件进行排除,不进行加密勒索。被排除的目录名,如下图所示:
被排除的目录名
在病毒代码中,被排除的文件扩展名之间使用"-"进行分割,如:-dat-dll-,则不加密勒索后缀名为".dat"和".dll"的数据文件。相关数据,如下图所示:
被排除的文件扩展名
目录名和文件扩展名排除相关代码,如下图所示:
排除目录名
排除文件扩展名
值得注意的是,虽然病毒作者谎称自己使用的是DES加密算法,但是实则为简单异或加密,且解密密钥相关数据被存放在%user% \AppData\Roaming\unname_1989\dataFile\appCfg.cfg中。所以即使在不访问病毒作者服务器的情况下,也可以成功完成数据解密。病毒中的虚假说明信息,如下图所示:
病毒中的虚假说明信息
加密相关代码,如下图所示:
数据加密
在之前的用户反馈中,很多用户对勒索提示窗口中显示的感染病毒时间颇感困惑,因为该时间可能远早于实际中毒时间(如前文图中红框所示,2018-08-08 06:43:36)。实际上,这个时间是病毒作者用来谎骗用户,从而为造成来的虚假时间,是通过Windows安装时间戳 + 1440000再转换成日期格式得来,Windows安装时间戳通过查询注册表方式获取,注册表路径为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate。病毒作者使用这个虚假的中毒时间误导用户,让用户误以为病毒已经潜伏了较长时间。相关代码,如下图所示:
虚假感染时间显示相关代码