CoViper 是一个新的擦除型木马家族,利用 COVID-19危机进行攻击。根据我们在分析中所发现的情况,我们有理由相信它通过伪装成与冠状病毒相关的档案来吸引受害者。该擦除型木马通过重写计算机磁碟上的主引导记录
(MBR) 来破坏受感染计算机的启动操作。MBR 包含有关如何在 PC 上启动操作系统的宝贵资讯。如果 MBR 损坏,PC很可能无法正常运行,因为它无法像往常一样启动。一名熟练的用户可以重新安装 MBR 来恢复他们的 PC 和档案,或使用其他可启动的媒体设备。
这个特定的木马家族有时也被称为 “MBR 擦除器” 或甚至 “MBR 锁定器”。MBR锁定器通常与留言注册的勒索软体结合使用,在该情况下会向受害者显示赎金说明。然而,在这种情况下,MBR 只是被摧毁,并不要求赎金。CoViper有可能是木马的一个早期版本,后续可能会变成勒索软体,我们回头会进一步详细描述。
分析
CoViper 以用 PureBasic 编写的安装程式形式分发,所有有趣的档案作为资源打包。CoViper由几个二进制档和脚本组成。这些档案被放置在计算机的临时资料夹中(%TEMP%
,通常的绝对路径是
__C:\Users\<username>\AppData\Local\Temp\
),是使用 GetTempFileNameA
API 函数创建的。
我们稍后会描述这些档案的用途。以下是 CoViper 会在临时资料夹中放置的档案的简要总结:
coronavirus.bat
– 一个安装木马并确保其持久性的引导程序end.exe
– 一个用 Delphi 编写的擦除器。其目的是重写 MBR,有效阻止 PC 正常启动mainWindow.exe
– 启动一个带有 (冠状) 病毒图像的 GUIrun.exe
– 一个确保持久性的二进制档,启动mainWindow.exe
程序。这是通过一个叫做run.bat
的中介脚本来完成的Update.vbs
– 当前无功能(尚未完全实现)的脚本,推测是用来将病毒更新至新版本cursor.cur
– 一个光标档,设置为新的光标外观wallpaper.jpg
– 一个黑色桌布,设置为受害者 PC 的默认桌面背景
安装 – coronavirus.bat
这个简单的 coronavirus.bat 脚本用于将木马安装到受害者的计算机上。该脚本还将所有丢弃的档案从临时资料夹复制到用户主目录中的一个名为
COVID-19的新隐藏资料夹。此外,该脚本还更改注册表键以确保系统的持久性,并在脚本执行完成后以五秒延迟重新启动系统。如下代码所示,重新启动将有效执行三个档案:Update.vbs
、run.exe
和 end.exe
。
请注意,该脚本相对冗长,告诉用户 “冠状病毒安装程式” 正在运行,而在脚本完成后会显示 “冠状病毒成功安装” (并非我们的错字)和 “您的计算机将在 5秒内重新启动以完成安装 :)”。虽然加入微笑符号可能是为了舒缓接下来的痛苦,但我们认为这样过于多余。
以下是 coronavirus.bat
脚本的内容:
!
除了持久性和通过修改 EnableLUA
注册表键来禁用 UAC外,该木马还阻止用户启动任务管理器,这将在下一阶段变得“繁琐”,因为用户将失去终止木马进程的能力。然而,任务管理器是唯一被禁用的工具,因此使用例如
Process Explorer 是仍然可能的。
coronavirus.bat
脚本还更改用户鼠标光标的外观,并将桌面壁纸更改为黑色。它阻止用户将壁纸更改为任何其他图像(除非用户将注册表条目更改回来)。
!
显示 coronavirus.bat 成功安装的画面
首次重启
现在让我们专注于其他脚本和二进制档在首次重启后的行为。
Update.vbs
我们怀疑 Update.vbs
VisualBasic 脚本尚未完成,并且可能会作为未来版本 CoViper的更新机制。目前,该脚本仅包含两行代码,实际上什么都不做:
!
换句话说,它等待两分钟,然后显示一条消息,告诉用户联络其管理员或修复其网路连接。实际上,这仅表示更新机制尚未实施。
run.exe
run.exe
是一个 UPX 打包文件。解包该档案会显示它几乎与我们掌握的 PureBasic安装程式相同。不同之处在于,该档案不包含先前存在的脚本和二进制档,这些档案将在后续放置到磁碟上。相反,它执行一个 run.bat
脚本,该脚本对受害者的系统执行几个额外操作。
该脚本再次确保木马的持久性(有关更改的所有注册表键的完整列表可在本文的 IoC 部分末尾找到)。该 bat 脚本中的持久性与
coronavirus.bat
脚本相同,但在无限运行循环中,当用户关闭时,它会不断执行 mainWindow.exe
二进制档。正如之前提到的,用户无法使用任务管理器结束此进程,使其变得相当烦人。
以下是 run.bat
脚本中存在的无限运行循环:
!
mainWindow.exe
mainWindow.exe
是用 VisualBasic 编写的二进制档。它似乎没有其他目的,除了让用户感到厌烦。它显示一个带有 (冠状)
病毒的图像的窗口。此外,还提供两个按钮供用户使用, “帮助” 和 “移除病毒” 。帮助按钮显示一段相当“有用”的文字,告诉用户不要
“浪费他的时间”
(程序中同样出现的错字),并声称计算机已感染“冠状病毒”,无法停止。目前,“移除病毒”按钮的功能尚未实现。目前尚不清楚该木马未来是否可能会变成勒索软体,要求用户在点击此按钮后支付赎金,并提供一系列支付方式。
!
mainWindow.exe: 帮助按钮似乎是相当有帮助的
end.exe
有了这样一个特征明显的名称,“结局”即将来临,恶意过程也快要结束了。 end.exe
确实是 CoViper 的最后阶段,拥有擦除器的核心功能。它是用
Borland Delphi 编写的。
该过程的目的是用攻击者自己代码重写受感染计算机的 MBR。这导致无法正常启动,引发计算机无法正确启动。
不过,我们在组合码中发现了一些有趣的东西。也就是说,在 MBR 被取代之前,它的备份会被创建。这表明代码中可能实现了某种故障安全机制。
!
该备份会在新的 MBR 之后写入,即从 0x200
字节偏移开始。此外,我们可以看到在备份之后,还有一些有趣的内存字节(字符串)被复制,在
0x400
偏移处。
!
结果可以用这张图片来显示:
! 木马创建的 MBR数据结构示意图
取而代之的是标准 MBR,插入了这段代码:
!
尽管代码很简短,但它足以破坏常规启动机制(完整的 MBR 转储可以从
下载)。这段代码还在屏幕上打印出了两个字符串(见第二次重启部分的图片)。正如我们所怀疑的,以上的内存字符串复制,第一条字符串是作者的凭证签名:
“Created By Angel Castillo. Your Computer Has Been Trashed.”
第二条是可以让受害者联系作者的 Discord 伺服器:
Discord: Windows Vista#3294
执行 end.exe
后,将不会执行其他操作。用户会束手无策,悲剧的最后一幕则是用户的最后表现。
第二次重启
任务管理器是一个大多数用户都熟悉的“任务管理”工具,受害者很可能无法关闭 mainWindow.exe
进程。而我们都知道,解决任何 IT问题的明显解决方案就是关闭设备再开一次。然而,这会 “杀死” 受害者的计算机,让其无法使用,除非受害者技术娴熟且能重新安装 MBR。
重启 PC 后,受害者会看到以下讯息:
!
修改 MBR 的启动画面
故障保护
在进一步分析 MBR 后,我们有好消息!正如我们所怀疑的那样,作者确实在 MBR代码中实现了一种故障保护。我们推测这是实现在木马作者意外地在自己的计算机上执行了木马的情况下,或者在要求建议(在上述 Discord伺服器)时,例如在要求赎金的情况下。但这仅仅是一种推测。
!
从这段 MBR 组合码中,我们可以看到该程式在等待输入。预期的输入实际上是 CTRL+ALT+ESC
。经过这个键的组合,MBR 会被替换为原始的(从
end.exe
执行的备份),PC 可以正常重启并启动。
请记住,在重启后,木马会再次执行(即 end.exe
二进制档)。因此,用户至少应该首先删除自动运行设置,以免整个情境重演。
进一步调查
正如我们在前面的图片中所见,CoViper 的作者留给我们一条讯息。上述消息提供了一些线索——作者的暱称和一个在撰写时仍在线的 Discord 伺服器。
此外,我们还想提到,在调查 CoViper 的过程中,显然这个木马是通过互联网上免费公开的自制工具生成的。因为我们得出结论,这个工具的作者并不是
CoViper 本身的作者,所以我们不会透露他的名字。我们也不会透露该工具的名字,以免吸引更多的关注。关于这个主题和我们的调查的进一步信息,您可以随时通过
Twitter 与 @AvastThreatLabs 联系。
妨害指标 (IoC)
哈希 | 名称
—|—
4FD9B85EEC0B49548C462ACB9EC831A0728C0EF9E3DE70E772755834E38AA3B3 | coronavirus.bat
C3F11936FE43D62982160A876CC000F906CB34BB589F4E76E54D0A5589B2FDB9| end.exe
B780E24E14885C6AB836AAE84747AA0D975017F5FC5B7F031D51C7469793EABE|
mainWindow.exe
C46C3D2BEA1E42B628D6988063D247918F3F8B69B5A1C376028A2A0CADD53986| run.exe
A1A8D79508173CF16353E31A236D4A211BDCEDEF53791ACCE3CFBA600B51AAEC| Update.vbs
FE22DD2588666974CAE5B5BBDE2D763AFBD94BCCF72D350EC4E801F9354D103D| run.exe 解包
DF1F9777FE6BEDE9871E331C76286BAB82DA361B59E44D07C6D977319522BA91| run.bat
13C4423ED872E71990E703A21174847AB58DEC49501B186709B77B772CEEAB52| cursor.cur
4A17F58A8BF2B26ECE23B4D553D46B72E0CDA5E8668458A80CE8FE4E6D90C42D|
wallpaper.jpg
7AE5E2BE872510A0E2C01BCF61C2E2FB1E680CD9E54891D3751D41F53AC24F84| 新 MBR
已更改的注册表键
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /vdisabletaskmgr /t REG_DWORD /d 1 /f
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /tREG_DWORD /d 0 /f
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v wallpaper /tREG_SZ /d %homedrive%\COVID-19\wallpaper.jpg /f
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop /vNoChangingWallPaper /t REG_DWORD /d 1 /f
HKCU\Control Panel\Cursors /v Arrow /t REG_SZ /d
%homedrive%\COVID-19\cursor.cur /f
HKCU\Control Panel\Cursors /v AppStarting /t REG_SZ /d
%homedrive%\COVID-19\cursor.cur /f
HKCU\Control Panel\Cursors /v Hand /t REG_SZ /d
%homedrive%\COVID-19\cursor.cur /f
HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v CheckForUpdates /tREG_SZ /d %homedrive%\COVID-19\Update.vbs /f
HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v explorer.exe /t REG_SZ
/d %homedrive%\COVID-19\run.exe /f
HKLM\software\Microsoft\Windows\CurrentVersion\Run /v GoodbyePC! /t REG_SZ /d
%homedrive%\COVID-19\end.exe /f
标签为
,,
分享:XFacebook