在 2017 年 6 月 27 日,一款勒索软件开始在欧洲大范围传播。我们注意到攻击从乌克兰开始,超过 12,500 台机器遭到威胁。随后勒索软件传播超过 64 个国家,包括比利时,德国,俄罗斯和美国。
这款新的勒索软件具备蠕虫特性,使得它可以通过网络对外传播。基于我们的研究,这款新的勒索软件是
的一个变种,较之前的版本更加附加和强大。
- Ransom:Win32/Petya
为了保护用户,我们发布了更新补丁,用户可以到 Malware Protection Center 去下载。
最初的攻击起源于乌克兰的一家名为 M.E.Doc 的公司,微软根据相关证据证明勒索软件的下载安装使用了 "
" 方式。
- 软件供应链攻击
我们检测到 MEDoc 软件的更新程序 EzVit.exe 执行了一个命令行命令,在 6 月 27 日 10:30 左右。下图演示了执行流程,但是 EzVit.exe 执行恶意命令的原因目前还未知。
这个勒索软件,起初只感染了一台电脑,然后通过网络对外传播。它使用的到的基本技术包括:
. 窃取凭证或者重用当前会话 \
. 通过文件共享在内网传播恶意文件 \
. 通过合法途径执行负载,或者利用 SMB 漏洞(未打补丁的机器)
下面我们深入了解下这些技术的细节。
勒索软件释放一个和 Mimikatz 类似的 dumping 工具(通常是放到 %Temp% 文件夹下的一个. tmp 文件),区分 32 位和 64 位版本。因为用户通常使用具有本地管理员权限的账号登录电脑,并且和内网内多台机器保持通讯连接,被窃取的凭据很可能具有其他电脑上同样用户的访问级别。一旦勒索软件获取了有效的凭证,它会扫描局域网,并尝试通过 139 和 445 端口和其他电脑建立连接。对于域控制账号或者域服务器具有一个特殊的行为:勒索软件尝试调用 DhcpEnumSubnets() 方法,在扫描 tcp/139 和 tcp/445 端口之前,先枚举所有 DHCP 子网内的主机( to enumerate DCP subnets all hosts on all DHCP subnets before scanning for tcp/139 and tcp/445 services)。如果得到相应,勒索软件使用窃取到的凭据尝试向其他主机传输一个二进制文件,通过常规的文件传输方法。
之后它尝试通过 PSEXEC 或 WMIC 工具执行拷贝到远程主机上的恶意程序。
这个勒索软件试图从软件内嵌的资源中释放一个 psexec.exe 文件(通常会重命名为 dllhost.dat)。然后它扫描局域网内 admin$ 分享文件夹,通过网络拷贝自身到远程主机,并通过 psexec.exe 执行拷贝到远程主机的二进制文件。
为了凭据窃取,勒索软件尝试通过调用
方法获取所有其他用户存储在机器上的凭据。如果一个凭据的名称以 "TERMSRV/" 开头并且类型设置为 1,这个凭据会被用来在整个网络内传播。
- CredEnumerateW
勒索软件也使用 Windows Management Instrumentation Command-line (WMIC) 来寻找共享文件夹(NetEnum/NetAdd)从而传播自己。如果当前主机和远程主机存在链接,它会使用当前活跃链接的 token 进行数据传输,如果没有连接,会通过用户名密码的方式建立连接。
这款勒索软件也通过对 CVE-2017-0144 (also known as EternalBlue) 的漏洞攻击直接传播。另外,它还使用第二个漏洞攻击 CVE-2017-0145。
我们已经发现该勒索软件通过构造 SMBv1 数据包 全部是 XOR 0xCC 加密) 来触发漏洞,代码分析如下:
这两个漏洞是 Shadow Brokers 泄漏出来的,微软已经在 4 月 14 日发布了补丁。用户可以通过安装补丁 security update MS17-010 或者禁用 SMBV1 来抵御此种类型的攻击。有关这两个漏洞的更多信息可以参考我们的博客。
该勒索软件的加密行为依赖于它获取的权限和在目标机器上运行的进程的权限。它对进程名称进行简单的 XOR-based 哈希,然后通过哈希值进行行为决策。
.0x2E214B44-- 如果一个进程名的 hash 值是这个值的话,软件不会去感染 MBR。
.0x6403527E 或者 0x651B3005 -- 如果这两个 hash 值被发现,勒索软件不会进行任何网络活动(比如攻击 SMBv1 漏洞)
如果没有异常情况,软件会向 MBR 写入启动数据,然后重启电脑。它建了一个定时任务,在至少十分钟后关闭电脑。实际时间是随机的 (GetTickCount())。例如:
- schtasks /Create /SC once /TN "" /TR "<system folder>\shutdown.exe /r /f" /ST 14:23
如果写入 MBR 成功,它会显示如下虚假的操作系统信息,提醒你设备错误,正在进行检查:
然后会显示勒索信息:
只有在勒索软件获取足够高的权限的时候,它才会尝试覆盖 MBR。
恶意软件尝试加密所有除 C:\Windows 文件夹之外的文件:
它使用 file mapping APIs 而不是常规的 ReadFile()/WriteFile() API 来加密文件:
和其他勒索软件不同,它没有添加一个新的文件扩展名到被加密的文件,而是覆盖了原文件。
它为每台机器生成一个 AES 秘钥,使用内置的 800-bit RSA 公钥对其进行加密。
唯一的用于加密的 AES Key 以加密的形式被添加到 README.TXT 文件中,写在 "Your personal installation key:" 一节下面。
除了加密文件,这个勒索软件同时尝试重写 MBR 的第一个节——VBR。如果它以 SeShutdownPrivilege 或者 SeDebugPrivilege 或者 SeTcbPrivilege 权限运行,就会重写 MBR,同时直接访问 drive0 \\.\PhysicalDrive0。
MBR overwrite pseudo code:
Overwriting the first sector of VBR:
加密之后,它释放一个 README.TXT 文件:
最后勒索软件会清理 System, Setup, Security, Application event logs,删除 NTFS 卷信息。
无需安装更新,使用 Windows Defender 的高级防御功能就能进行防御..
(此处略过,感兴趣的可以查看原文)
及时更新你系统。
尽量下载使用应用商店内的应用。
安装 MS17-010 补丁。
如果未安装补丁,请按文档 Microsoft Knowledge Base Article 2696547 和 recommended previously 禁用 SMBv1 服务。 在路由器添加对 445 端口的阻止规则。关闭 139 和 445 端口,禁用远程 WMI 服务和文件共享。
最后还是推荐使用 Windows Defender 监控网络,企业用户使用 Device Guard 进行防御。
来源: http://www.cnblogs.com/xuanhun/p/7092827.html