近日,360安全大脑监测到一个使用Go语言编写的勒索病毒正在攻击国内企业。该勒索病毒会通过“永恒之蓝”漏洞传播自身,同时加密计算机中的重要文件,将文件后缀修改为“.locked”,之后向受害用户索要赎金0.2BTC,我们根据其加密后缀将其称为“locked”勒索病毒。
0x1 传播分析
黑客通过“永恒之蓝”漏洞入侵企业中的一台计算机,并利用这台计算机作为跳板入侵企业内网中的其他计算机,具体传播流程如下图所示:
黑客成功入侵第一台计算机后从hxxp://193.56.28.231/wintime.rar下载勒索病毒加载器。勒索病毒加载器会释放两个模块。一个是“locked”勒索病毒,另一个则是“永恒之蓝”传播模块。“永恒之蓝”传播模块会将当前计算机作为FTP服务器,入侵内网其他计算机后通过FTP下载“locked”勒索病毒运行。“永恒之蓝”传播模块是由python语言编写并打包成exe的,关键代码如下图所示。
串行加密,locked勒索病毒原来是个单线程“生物”
0x2 勒索病毒分析
“locked”勒索病毒是由GO语言编写而成,其中重要的函数及其功能如下表所示:
在加密文件之前,“locked”勒索病毒会结束系统中运行的数据库相关的进程以确保勒索病毒能成功修改文件内容。
“locked”勒索病毒为每台计算机生成一对RSA密钥对。这对密钥对中的私钥会通过硬编码在勒索病毒程序文件中的一个RSA公钥进行加密并格式化后作为PersonID成的RSA密钥对中的公钥则用来加密为每个待加密文件生成的AES密钥,加密后的内容将直接存储在被加密的文件中,而这个AES密钥才是最终加密文件的密钥。密钥生成与使用流程如下图所示。
黑客接收到赎金后进行解密时,需要受害者提供勒索信息中的PersonID,并用手里的RSA私钥(这个私钥与硬编码在勒索病毒程序文件中的RSA公钥成对)从PersonID中解出对应于受害者计算机的RSA私钥(这个私钥就是main_Generate函数生成的)。之后用该私钥从被加密文件中解出每个文件加密时使用的AES密钥,之后解密文件。
文件加密函数main_encrypt以串行的形式存在,Locked勒索病毒在加密一个文件后才会加密另一个文件。相比较一些使用多线程加密文件的勒索病毒,Locked勒索病毒的加密效率较低,需要花较长的时间加密机器中的文件。关键加密流程如下图所示。
在加密文件类型的选择上,“locked”勒索病毒会加密包括办公文档、音视频、数据库文件在内的超过三百种文件类型。加密完成后,Locked勒索病毒会展示如下图所示的勒索信息,勒索金额为0.2BTC,勒索信息中的PersonID就是缴纳赎金时使用的凭证,黑客需要通过PersonID解密文件,除了勒索信息外,Locked勒索病毒还将PersonID保存在%USERPROFILE%目录下文件名为windows的文件中,以防止受害者误删勒索信息导致无法解密。
值得一提的是,“locked”勒索病毒会在运行过程中展示文件加密情况,笔者推测这可能只是“locked”勒索病毒的一个调试版本。
完成文件加密工作后,“locked”勒索病毒会向黑客服务器发送消息,服务器ip地址为193.56.28.231。目前该服务器已无法连接。
0x3 关联分析
通过与开源情报进行关联,我们发现此次传播的“locked”勒索病毒为今年3月在国外传播的“Tellyouthepass”勒索病毒变种。“Tellyouthepass”勒索病毒与此次传播的Locked勒索病毒拥有几乎完全相同的勒索信息,并且在函数命名上也几乎完全相同。下图是“Tellyouthepass”勒索病毒的函数名称,与上文表格中“locked”勒索病毒的函数名称基本一致。
两者唯二的区别在于BTC钱包地址以及联系邮箱地址,“Tellyouthepass”勒索病毒为1CLWBxbBKddQTUuhsUsn8izq2crUAgGYZ1和tellyouthepass@protonmail.com(Tellyouthepass”勒索病毒由此得名),而本次传播的l“locked”勒索病毒为1qopxAR7BuxnhK7UVFqcJtS2zGWZGWsC2和beautifulgirls@youknowmynameisbob.online。此外,“id-ransomware”还提供了另一组BTC钱包和联系邮箱地址,为1Db8Ho7YjSipgzjNcK4bdSGeg12JrnKSSc和coinmoney@cock.li。
经过溯源发现,“Tellyouthepass”勒索病毒在今年3月底曾经攻击过位于乌克兰的一家企业,攻击者通过“永恒之蓝”漏洞攻击武器入侵企业计算机之后,尝试通过PowerShell、certutil、bitsadmin等合法程序下载“Tellyouthepass”勒索病毒,下载ip地址为193.56.28.203与本次传播的Locked勒索病毒所连接的服务器ip地址193.56.28.231在一个网段下。攻击者入侵成功后执行的命令如下图所示。
除了使用“永恒之蓝”漏洞攻击企业服务器外,攻击者在今年四月份还通过Tomcat弱口令爆破入侵一台国内服务器,入侵后使用微软合法程序regsvr32执行hxxp://193.56.28.203/down.sct,最终下载并执行植入“Tellyouthepass”勒索病毒。
通过以上关联信息可以推断此次传播的locked勒索病毒为“Tellyouthepass”勒索病毒变种,勒索病毒背后的攻击团伙存在以下特征:
1.善于使用多种手段入侵服务器,没有特定的攻击目标,可能通过全网扫描寻找猎物;
2.偏爱无文件攻击手法;
3.黑客服务器位于193.56.28.0/24网段下。
0x4 防护建议
针对该病毒的攻击感染态势,我们已实现对该病毒的拦截查杀,为防止该病毒进一步感染蔓延,建议广大用户做好以下保护措施,防患于未然:
1.下载安装终端防病毒软件,拦截各类病毒木马攻击,保护个人隐私及财产安全;
2.多台机器不要使用相同的账号和口令,口令要有足够的长度和复杂性,并定期更换;
3.重要资料共享文件夹应设置访问权限控制,并定期备份;
4.定期检测系统和软件中的安全漏洞,及时打上补丁;
5.定期到服务器检查是否存在异常。查看范围包括:
a) 是否有新增账户
b) Guest是否被启用
c) Windows系统日志是否存在异常
d) 杀毒软件是否存在异常拦截情况
0x5 IOCs
5423d7935aa3cb0328eb6ce89fb052ca
9123fd863a203a6507665c8e89b5d75a
6bb97ae11af3200d69764ea6804e9f71
d4ec36d096ba761a1b2ee237d9a9865d
193.56.28.231
193.56.28.203
*本文作者:360安全,转载请注明来自FreeBuf.COM