前情提要
近日,一款被命名为“Petya”的勒索软件开始在全球范围内蔓延,受害者众多,国内外众多安全厂商都紧急响应,提供了相应的解决方案。
文章目录:
概述
传送和安装
横向传播技术
盗窃或假冒用户凭据进行横向传播
利用 EternalBlue 和 EternalRomance 漏洞进行横向传播
加密机制
修复建议
概 述
2017年6月27日 道, “ Petya ” 勒索软件开始在欧洲地区蔓延。我们在乌克兰地区第一次检测到这类 “ Petya ”新型变种的感染事件,超过12,500台机器受到了威胁。之后,该勒索软件蔓延至其他46个国家,包括比利时、巴西、德国、俄罗斯和美国等。(注:据某些媒体 道,国内已发生相关案例)
这款勒索软件具有蠕虫的功能,可以在被感染的 络内横向传播。根据我们的调查,这款新型的恶意软件很可能是 Ransom:Win32/Petya的一种更为复杂的新变种。
为了保护用户,微软发布了云端防护更新,并对签名定义包进行了更新,这些更新会被自动传递到所有微软的免费的反恶意软件产品,包括 Windows Defender Antivirus 和 Microsoft Security Essentials。用户可以在恶意软件保护中心手动下载这些文件的最新版本。
下载地址:https://www.microsoft.com/security/portal/definitions/adl.aspx
Windows Defender Advanced Threat Protection (ATP) 无需更新即可自动地检测这个新型勒索软件变体的任何行为。
传送和安装
首次发现这款勒索软件的感染事件,牵涉到乌克兰一家名为 M.E.Doc 的软件供应商公司,该公司开发一款名为“MEDoc”的税务会计软件。尽管新闻媒体、安全研究人员,包括乌克兰国家的 络警察都对这一载体有过推测,但目前也只是一些间接的证据。微软现在有了一些新的证据可以证明勒索软件开始于MEDoc 合法的更新进程。正如我们之前强调的,供应链攻击是新近流行的一种危险的攻击方式,防护此类攻击需要更为先进的安全策略。
我们观测到 MEDoc 软件的更新进程 (EzVit.exe) 执行了一个恶意命令,与6月27日 10:30 分(GTM时间)观测到的精准的攻击模型相匹配。
基本上可以确定 EzVit.exe 进程来自于 MEDoc ,原因不明,其会在某一时刻执行了如下命令:
C:Windowssystem32rundll32.exe” ”C:ProgramDataperfc.dat”,#1 30
勒索软件的安装示意图,如下所示:
相同的攻击载体,也在乌克兰 络警察公布的 IOCs 列表中出现了。
横向传播技术
这种新型的勒索软件具有横向传播能力,只需要感染一台主机,就能够向该机器所处的 络进一步地蔓延。这里使用了多种技术来实现其拓展功能:
窃取凭证或再次利用现有的活动会话;
使用文件共享功能,向同一 络的其他主机传播恶意文件;
使用现有的合法功能执行有效载荷,或者在未打补丁的机器上滥用SMS漏洞。
接下来,我们将深入研究每种技术的细节。
盗窃或假冒用户凭据进行横向传播
这款勒索软件下发一个凭证复用工具(通常是 %Temp% 文件夹下的 .tmp 文件,其代码与 windows 密码抓取工具 Mimikatz 有相似之处,适用于 32 位和 64 位的windows系统。由于用户经常使用本地管理员权限的账户进行登录,并在多个机器上打开活动会话,因此,被窃取的凭据对应的账 可能在其他机器上具有相同级别的访问权限。一旦勒索软件掌握了有效的凭据,它会扫描本地 络,试图与 络内开放 TCP 139和TCP/445 端口的机器建立有效连接。域控制器或服务器记录了一个特殊的行为:在扫描TCP/139和TCP / 445服之前, 勒索软件会尝试调用 DhcpEnumSubnets() 方法去枚举 所有DHCP 子 的所有主机信息。如果得到了响应,恶意软件就会尝试使用常规的文件传输功能将被盗凭据的副本传输到远程机器上。
之后,使用 PSEXEC 或 WMIC 工具试图远程执行恶意软件。
勒索软件尝试从自身已嵌入的资源中投放一个合法的 psexec.exe 程序(通常被重命名为 “ dllhost.dat ” )。然后扫描局域 内开启了 admin$ 共享的主机,通过 络进行复制传播,使用 psexec.exe 远程执行新生成的恶意软件二进制文件。
除了凭证复用之外,恶意软件还试图使用 CredEnumerateW 的功能窃取存储在凭据库中的其他用户凭据。如果凭据以 “TERMSRV/” 的开头命名,且其类型被设置为 “ 1 ”(一般情况下都是如此),恶意软件就可以通过 络传播该凭据。
代码示意如下:
这种勒索软件也使用 windows设备管理命令行(WMIC)工具寻找远程共享(使用 NetEnum/NetAdd 函数)进而传播自身。传播过程中要么使用当前的用户凭据(现有连接),要么使用一组用户名/密码组合(通过合法的工具进行传播)。
利用WMIC 启动远程机器上的恶意软件的代码截图如下:
利用 EternalBlue 和 EternalRomance 漏洞进行横向传播
这种新型的勒索软件能够利用先前修补的一个SMB漏洞( CVE-2017-0144 也被称为EternalBlue)进行传播,这个漏洞也被 WannaCrypt 利用过。此外,Petya 也使用了另外一个漏洞:CVE-2017-0145 (被称为“EternalRomance”,与EternalBlue一同被修复)。
触发这些漏洞的恶意代码如下所示:
EternalBlue 和 EternalRomance这两个漏洞是被一个名为 “Shadow Brokers” 的黑客组织泄漏出来的,然而,需要注意的是,这两个漏洞在2017年3月14日已经被微软修复了。
补丁下载地址: https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
在 Windows 和 Windows Server 中启用和禁用 SMBv1、SMBv2 和 SMBv3的使用说明:
https://support.microsoft.com/zh-cn/help/2696547/how-to-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and-windows
windows主机如果及时打补丁或禁用 SMBv1,则可以避免遭受此类攻击的影响。
加密机制
这款勒索软件的加密行为依赖于恶意程序进程的特权级别和受害主机上正在运行中的进程。它对主机上运行的进程的名称执行一个基于XOR的哈希算法,并根据散列值作为下一步行动的判断依据:
0x2E214B44:如果进程名的哈希值是这个,那么勒索软件不会传染 MBR;
0x6403527E 或 0x651B3005:如果进程名的哈希值是这两种,勒索软件不会进行任何 络相关的行为(比如尝试利用 SMBv1 漏洞)
然后,这种勒索软件对主引导记录(MBR)执行写操作,设施系统重启。它设置了任务调度,在当前时间至少10分钟后关闭机器,确切的时间是随机的(GetTickCount()),比如:
schtasks /Create /SC once /TN “” /TR “<system folder>shutdown.exe /r /f” /ST 14:23
成功修改MBR后,它会显示一条虚假的系统消息,提示用户的驱动器包含错误,并显示一个虚假的完整性检查结果:
然后,用户就会看到它的显示赎金的界面:
如果恶意软件运行时拥有最高权限(比如启用了 SeDebugPrivilege),它会试图重写 MBR 代码。
这种勒索软件试图加密硬盘分区上所有以下列名称为扩展名的文件,除了C:Windows 文件夹:
它使用了 FileMapping 的APIs,而非通常的 ReadFile()/WriteFile() APIs,相关代码截图如下:
与其他勒索软件不同的是,这个勒索软件不在加密文件上追加新的文件扩展名,而是覆盖上述文件。
它为每个机器生成一个 AES 密钥,攻击者使用一个内嵌的 800-bit 的 RSA 公钥来对生成的私钥进行导出和加密。
内嵌的 RSA 公钥如下图所示:
使用 RSA 公钥对每个机器上的 128 bits的私钥进行导出和加密的过程,如下所示:
这个用于加密文件的独特的密钥,被加密后追加到 README.TXT 文件中的““Your personal installation key:”部分。
除了加密文件之外,这个勒索软件也试图重写 MBR 和 VBR 的首部。如果恶意软件运行时拥有 SeShutdownPrivilege/SeDebugPrivilege /SeTcbPrivilege 权限,那么它会覆盖受害者主机的MBR,直接访问 drive0 .PhysicalDrive0。
重写 MBR 的伪代码如下所示:
重写 VBR 头部的伪代码如下所示:
加密完成后,它会释放一个名为 README.TXT 的文件,文件内容如下所示:
这种勒索软件也能够清除系统、安装、安全、应用程序日志,删除 NTFS 日志信息。
修复建议
关于如何防治这种新的勒索软件的攻击,微软方面给出以下建议:
保持您的系统及时更新到Windows 10 的最新版本,这样能够使用系统的最新功能和内置的主动防护措施。
另外,Windows 10 只允许运行来自Windows Store的应用程序,Window 10 用户可以被进一步保护,免受此类威胁。
建议尚未安装 MS17-010 补丁的用户尽快安装并应用相关补丁,另外也推荐采用以下两种方法来减少攻击面:
禁用 SMBv1 ,详情参见【更多资料】;
建议在路由器或防火墙上添加一条规则来阻止 445 端口传入的SMB 流量;
由于威胁目标是 139 和 445 端口,你可以阻止这两个端口上的任何通信;您还可以禁用远程 WMI 和文件共享功能。这样做可能会影响到 络的使用,但在评估影响和应用安全更新期间,可以作为临时的缓解措施。
【更多资料】
https://support.microsoft.com/zh-cn/help/2696547/how-to-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and-windows
https://support.microsoft.com/zh-cn/help/2696547/how-to-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and-windows
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!