过节也不消停——TellYouThePass的“端午攻势”
- 2024-06-12 09:59:37
概述
随着端午节假期的结束,大家也都逐步回到了日常的工作生活当中。而360安全大脑则监控到,就在端午节假期期间,一个熟悉的勒索病毒家族再度开启了新一轮的“攻势”。
根据监控记录,本轮攻击最早见于2024年6月8日15时左右。而随着时间的推移,本轮的整体攻击态势则在缓步升温,虽然暂未呈“爆发”态势,但依旧不容忽视。
图1. TellYouThePass借助CVE-2024-4577漏洞的新一轮传播
而促成这一轮新的勒索软件传播的原因,当然不是端午节假期。根据监控数据推测,引发本轮传播的一个重要原因是CVE-2024-4577漏洞的PoC代码在6月7日时被首度发布到了公开网络上。
图2. CVE-2024-4577漏洞的PoC运行录屏
漏洞与传播
CVE-2024-4577漏洞
结合目前的监控数据来看,本轮攻击的源头是来自于一个针对PHP-CGI的参数注入攻击漏洞,漏洞的CVE编号为“CVE-2024-4577”。根据CVE官方的记述,在带有该漏洞的环境中,PHP-CGI模块可能会将Windows系统传入的参数误识别为PHP的配置选项传递给正在运行的PHP程序,进而可能被恶意攻击者利用来实现“任意代码执行”的操作。
而目前已知受到该漏洞影响的操作系统仅为Winows系统,而受影响的PHP版本则为:
l 版本号小于8.1.29的所有8.1版PHP
l 版本号小于8.2.20的所有8.2版PHP
l 版本号小于8.3.8的所有8.2版PHP
图3. CVE官方给出的受该漏洞影响的环境
在野攻击传播勒索软件
而在6月8日时,360安全大脑便监控到了该漏洞的在野攻击。在实际触发的在野攻击中,系统中的HTTP守护进程会将可触发漏洞的参数传递给php-cgi程序,进而导致php-cgi.exe调起系统的cmd命令行工具运行mshta解释器来获取在线的远程hta脚本(实际为vbs脚本)到本地并运行。
图4. 360安全大脑监控到的在野攻击进程关系树
而最终执行的脚本,则会释放其中经过编码过的恶意程序并运。这个最终被释放到本地并被运行起来的恶意程序,便是我们阴魂不散的“老朋友”,TellYouThePass勒索软件。至此,TellYouThePass借助这个新公开的PHP漏洞展开了又一轮的攻击。
样本分析
hta脚本分析
攻击者通过漏洞成功进行参数注入后,会调用系统的mshta解释器加载在线的hta脚本到本地执行。而经分析,该hta脚本的内容实际就是一个包裹在hta外壳下的vbs脚本。
图5. 分析所用的dd3.hta脚本代码片段
该脚本会对其内置的编码字符串先进行Base64解码,再进行反序列化等一系列操作,最终得到一个完整的.NET程序代码,并调用该程序中一个名称为“U”的类来执行其勒索功能。
勒索软件主体样本分析
如前文所述,勒索软件主体是一个.NET程序,而其用于实现勒索功能的主体代码则是汇总在一个名为“U”的类中。
图6. 勒索功能类“U”
勒索软件执行后,会遍历磁盘中所有文件。其中,勒索软件会比对扫描到的目录名称,并比对内置的列表中存在的35个目录名。发现在内置列表中则会跳过这些目录而不加密其中的文件。
图7. 勒索软件内置的35个“不加密”目录名
而在其他目录中,勒索软件还会识别具体文件的扩展名。如果文件扩展名不在其内置的列表中,则会直接跳过而不进行加密。不过这个列表的覆盖面却是非常广泛——共有426个待加密的扩展名。
图8. 勒索软件内置的426个“待加密”文件扩展名
勒索软件对文件实施加密使用的则是较为传统的AES加密算法。
图9. 勒索软件调用RijndaelManaged(AES算法)进行加密
当然,用于加密AES密钥的,AES作为一个对称加密算法,其密钥自然也是需要被再次加密的。而加密AES密钥的手法也同样传统——使用了内置的RSA公钥进行加密。
图10. 勒索软件调用RSA公钥对AES密钥进行加密
安全提醒
目前,360反勒索服务中心尚未接到来自于360客户端用户关于TellYouThePass本轮攻击的反勒索申诉。
但依然提示广大网民应确保系统中的安全防护软件正常运行,且确保其勒索防护功能处于正常开启状态。
而尤其需要注意的是Windows系统中运行有PHP 8.*版本客户端的用户,建议立即将正在使用的PHP客户端更新至PHP官方于6月6日发布的最新版本:8.1.29、8.2.20或8.3.8。
图11. PHP官方发布的三个最新版本客户端的公告