一、攻击概况
360安全大脑监测到,Tellyouthepass勒索软件正在利用畅某通T+财务管理系统中存在的命令执行漏洞发起攻击,目前已监控到有千余台部署了该财务系统的服务器遭到攻击。
本轮所监控到的攻击最早发生于6月9日22时24分,在6月10日凌晨左右达到峰值后逐渐趋于平缓,此后一直持续到6月12日9时左右,本轮攻击才算是告一段落。结合攻击时间、类型以及规模看,本轮攻击很有可能是利用“6月8日被披露的该系统中存在的0day漏洞”进行的。
二、攻击过程
攻击者利用财务管理系统的命令执行漏洞入侵该系统,进而调用系统进程mshta.exe下载并执行远程服务器上的勒索脚本,脚本URL为:
hxxp://107.172.143[.]184/login.css。
下载回来的脚本通过Base64解码后,会得到其原本的Shellcode攻击代码,而该Shellcode会被作为一个.NET类动态加载进内存中执行。
被加载进内存的这段Shellcode,即为Tellyouthepass勒索软件用于加密的主体功能代码。该主体功能代码中主要包含以下几个功能函数。
(1) Destroy函数
该函数用于结束数据库进程,以确保要加密的文件不会因被其他程序占用而导致其加密失败。
(2) Run函数
该函数用于检测勒索软件是否已运行,并进行机器信息的上报。最后会调用后续的文件加密函RunEncProcessDirectory进行加密。
(3) RunEncProcessDirectory函数
该函数是真正意义上的加密功能主体代码。代码会按目录加密文件,加密目标包括:文档、音视频、数据库文件等447种不同文件类型。
而对于每一台受害机器,Tellyouthepass勒索软件都会在本地生成一组RSA算法的公私钥对。生成完成后,恶意代码会使用内置的RSA公钥加密生成密钥对中的私钥内容,并将其保存到show1.txt文件中,而公钥内容则会被原文保存到pubkey1.txt文件中,用于后续用户解密时作为唯一ID提供。
加密文件时,勒索软件生成一个16位的随机GUID作为加密密钥,通过AES算法加密文件内容。之后再使用此前生成的RSA公钥加密这个16位的GUID并存储于被加密文件中。一切完成后,被加密的文件后缀修改为.locked。
(4) WriteMsg函数
该函数用于在完成加密工作后生成勒索信息。这份勒索信息要求受害用户将0.1个BTC转到指定钱包中,钱包地址如下:
bc1ql8an5slxutu3yjyu9rvhsfcpv29tsfhv3j9lr4
此外,其还提供了一个联系邮箱用于“讨价还价”:
service@hellowinter[.]online。
值得一提的是,勒索信息中还建议受害用户去我国某知名网购平台,去联系数据恢复公司进行解密——这一点也从侧面证明了此次攻击的幕后策划者极有可能来自国内,且该团伙对国内的勒索软件解密行业较为熟悉。
三、安全建议
由于此类攻击是瞄准某一特定行业或特定平台展开的入侵行动,其本身就具有非常明确的指向性。故此,360建议部署了此款财务管理系统的政企用户尽快联系官方获取安全补丁。
其官网发布的补丁地址为
https://www.chanjetvip.com/product/goods/
同时,我们也建议用户使用360安全卫士、360企业安全云等安全产品抵御包括Tellyouthepass家族在内的各类勒索软件攻击,保障广大用户的设备及系统安全。