新出现的HavanaCrypt 勒索软件冒充谷歌软件更新应用程序传播
2022-7-23 11:45:0 Author: www.4hou.com(查看原文) 阅读量:17 收藏

导语:研究人员最近发现了一个新的勒索软件家族,研究人员称之为HavanaCrypt,它伪装成一个谷歌软件更新应用程序,并使用一个微软的网络托管服务IP地址作为它的命令和控制服务器来规避检测。

研究人员最近发现了一个新的勒索软件家族,研究人员称之为HavanaCrypt,它伪装成一个谷歌软件更新应用程序,并使用一个微软的网络托管服务IP地址作为它的命令和控制服务器来规避检测。

根据趋势科技智能防护网络的数据,研究人员在2022年第一季度通过电子邮件、URL和文件层检测和阻止了超过440万勒索软件威胁,比2021年第四季增加了37%。

勒索软件之所以如此普遍,还在于它的进化能力:它使用不断变化的策略和计划来欺骗不知情的受害者,并成功地渗透到环境中。例如,今年就有报道称,一些勒索软件冒充Windows 10、Google Chrome 和 Microsoft Exchange 更新的形式传播,以欺骗潜在的受害者下载恶意文件。

最近,趋势科技的研究人员发现了一个全新的勒索软件家族,它采用了一个类似的方案:它把自己伪装成一个谷歌软件更新应用程序,并使用一个微软网络托管服务IP地址作为它的命令和控制(C&C)服务器来规避检测。研究人员的调查还显示,该勒索软件在其文件加密例程中使用了 QueueUserWorkItem 函数、一个 .NET System.Threading 命名空间方法,该函数将方法排队等待执行,以及开源密码管理器 KeePass Password Safe 的模块。

在这篇文章中,研究人员对这个新的勒索软件家族(研究人员称之为HavanaCrypt)的感染技术进行了深入的技术分析。

HavanaCrypt是假冒的谷歌软件更新应用程序。

Fig1_HavanaCrypt%20Ransomware.webp.jpg

HavanaCrypt二进制文件的文件描述

该恶意软件是一个 .NET 编译的应用程序,受 Obfuscar 保护,Obfuscar 是一种开源 .NET 混淆器,用于帮助保护 .NET 程序集中的代码。

Fig%202_HavanaCrypt%20Ransomware.webp.jpg

Detect It Easy 工具中显示的 HavanaCrypt 二进制文件的属性,该工具用于确定文件类型

该恶意软件还具有多种反虚拟化技术,帮助它在虚拟机中执行时避免动态分析。为了分析示例并生成去混淆代码,研究人员使用了de4dot和DeObfuscar等工具。

Fig%203_HavanaCrypt%20Ransomware.webp.jpg

混淆的 HavanaCrypt 勒索软件代码示例

4.png

去除混淆的HavanaCrypt勒索软件代码样本

执行后,HavanaCrypt 使用带有参数 0 (SW_HIDE) 的 ShowWindow 函数隐藏其窗口。

Fig%205_HavanaCrypt%20Ransomware.webp.jpg

HavanaCrypt使用的ShowWindow函数

HavanaCrypt 然后检查 AutoRun 注册表以查看是否存在“GoogleUpdate”注册表。如果注册表不存在,恶意软件将继续执行其恶意程序。

6.png

包含 HavanaCrypt 在检查注册表项时使用的参数的函数

然后,它继续执行反虚拟化例程,如果发现系统运行在虚拟机环境中,它会自行终止。

反虚拟化

HavanaCrypt有四个阶段来检查受感染的计算机是否在虚拟化环境中运行。

Fig%207_HavanaCrypt%20Ransomware.webp.jpg

HavanaCrypt 用于实现其反虚拟化机制的函数

Fig%208_HavanaCrypt%20Ransomware.webp.jpg

HavanaCrypt的整个反虚拟化程序

首先,它会检查 VMWare Tools 和 vmmouse 等虚拟机使用的服务。

9.png

HavanaCrypt 检查的服务

其次,它检查与虚拟机应用程序相关的常用文件。

10.png

HavanaCrypt 检查的虚拟机文件

它检查虚拟机为其可执行文件使用的文件名:

11.png

HavanaCrypt 检查的虚拟机可执行文件

最后,它检查计算机的MAC地址,并将其与虚拟机通常使用的组织唯一标识符(OUI)前缀进行比较。

12.png

HavanaCrypt正在检查OUI前缀

13.png

虚拟机的OUI范围或前缀

在验证受害计算机没有在虚拟机中运行后,HavanaCrypt 从 20[.]227[.]128[.]33(Microsoft Web 托管服务 IP 地址)下载名为“2.txt”的文件并保存作为批处理 (.bat) 文件,其文件名包含 20 到 25 个随机字符。

14.png

Microsoft Web 托管服务 IP 地址的详细信息

然后,它使用带有“/c start”参数的 cmd.exe 继续执行批处理文件。批处理文件包含用于配置 Windows Defender 扫描首选项的命令,以允许在“%Windows%”和“%User%”目录中检测到任何威胁。

15.png

包含下载和执行批处理文件的函数

16.png

在Microsoft web托管服务IP地址上看到的base64编码的2.txt文件

17.png

从 Microsoft Web 托管服务 IP 地址下载的解码批处理文件

HavanaCrypt还会终止计算机中运行的某些进程:

agntsvc
axlbridge
ccevtmgr
ccsetmgr
contoso1
culserver
culture
dbeng50
dbeng8
dbsnmp
dbsrv12
defwatch
encsvc
excel
fdlauncher
firefoxconfig
httpd
infopath
isqlplussvc
msaccess
msdtc
msdtsrvr
msftesql
msmdsrv
mspub
mssql
mssqlserver
mydesktopqos
mydesktopservice
mysqld
mysqld-nt
mysqld-opt
ocautoupds
ocomm
ocssd
onenote
oracle
outlook
powerpnt
qbcfmonitorservice
qbdbmgr
qbidpservice
qbupdate
qbw32
quickboooks.fcs
ragui
rtvscan
savroam
sqbcoreservice
sqladhlp
sqlagent
sqlbrowser
sqlserv
sqlserveragent
sqlservr
sqlwriter
steam
supervise
synctime
tbirdconfig
thebat
thebat64
thunderbird
tomcat6
vds
visio
vmware-converter
vmware-usbarbitator64
winword
word
wordpad
wrapper
wxserver
wxserverview
xfssvccon
zhudongfangyu
zhundongfangyu

18.png

HavanaCrypt终止的进程

需要注意的是,这个列表包括与数据库相关的应用程序(如Microsoft SQL Server和MySQL)的进程。Microsoft Office和Steam等桌面应用程序也被终止。

在它终止所有相关进程之后,HavanaCrypt查询所有可用的磁盘驱动器,并继续删除影子副本,并将最大存储空间大小调整为401 MB。

19.png

HavanaCrypt 删除卷影副本并将可用驱动器的最大存储空间调整为 401 MB

它还通过Windows Management Instrumentation (WMI)检查系统恢复示例,并通过使用SRRemoveRestorePoint函数继续删除它们。

20.png

HavanaCrypt通过WMI删除系统恢复示例

然后,它以可执行文件(.exe)的形式在%ProgramData%和%StartUp%文件夹中删除自己的副本,这些文件的文件名包含10到15个随机字符。然后它们的属性被设置为“隐藏”和“系统文件”。

21.png

HavanaCrypt在%ProgramData%和%StartUp%文件夹中删除自己的副本

22.png

HavanaCrypt将删除的文件设置为“隐藏”和“系统文件”

HavanaCrypt还将名为“vallo.bat”的文件放到%User Startup%上,其中包含可以禁用任务管理器的函数。

23.png

HavanaCrypt 将 vallo.bat 放到 %User Startup%

24.png

vallo.bat的内容

收集计算机信息

HavanaCrypt使用QueueUserWorkItem函数为其其他有效负载和加密线程实现线程池。此函数用于在线程池变为可用时执行任务。

25.png

HavanaCrypt使用的QueueUserWorkItem函数

它还使用DebuggerStepThrough属性,该属性使它在调试期间逐步遍历代码,而不是进入代码。在分析函数内部之前,必须删除此属性。

26.png

HavanaCrypt使用的DebuggerStepThrough属性

在继续其加密程序之前,HavanaCrypt 收集某些信息并将它们发送到其 C&C 服务器 20[.]227[.]128[.]33/index.php。这些是唯一标识符 (UID) 以及令牌和日期。

UID

UID包含计算机的系统指纹。HavanaCrypt收集计算机信息片段,并通过将它们附加到另一个来组合它们,然后将信息转换为其格式的 SHA-256 哈希:

27.png

HavanaCrypt用于收集计算机信息的功能

28.png

HavanaCrypt将收集到的计算机信息转换成SHA-256哈希

HavanaCrypt收集的计算机信息包括:

The number of processor cores
The processor ID
The processor name
The socket designation
The motherboard manufacturer
The motherboard name
The BIOS version
The product number

令牌和日期

HavanaCrypt将字符串" index.php "替换为" ham.php ",以" Havana/1.0 "作为用户代理向其C&C服务器(hxxp[:]//20[.]227[.]128[.]33/ham.php)发送GET请求。

30.png

HavanaCrypt 用于向其 C&C 服务器发送 GET 请求的函数

31.png

研究人员通过Fiddler(一个web应用程序调试工具)获得的来自20[.]227[.]128[.]33/ham.php的响应

HavanaCrypt在Base64中解码ham.php的响应,并使用以下参数通过AES解密算法解密:

32.png

HavanaCrypt然后将输出存储在两个不同的数组中,以“-”作为分隔符。第一个数组用作标记,而第二个数组用作日期。

33.png

HavanaCrypt在AES解密中使用的参数的初始化

34.png

HavanaCrypt通过AES解密

使用CyberChef(一个提供编码和加密等操作的web应用程序),研究人员使用20[.]227[.]128[.]33/ham.php的响应复制了HavanaCrypt的解密程序:

35.png

研究人员用CyberChef软件复制了HavanaCrypt的解密程序

在收集所有必要的计算机信息后,HavanaCrypt使用" Havana/1.0 "作为用户代理,通过POST请求发送到hxxp://20[.]227[.]128[.]33/index.php。

36.png

研究使用 Fiddler 获得的 HavanaCrypt 对 hxxp[:]20[.]227[.]128[.]33/index[.]php 的 POST 请求

如果请求成功,HavanaCrypt将收到一个包含加密密钥、秘密密钥和其他详细信息的响应。

37.png

研究人员使用 Fiddler 获得的来自 hxxp[:]20[.]227[.]128[.]33/index[.]php 的响应

HavanaCrypt检查“%AppDataLocal%/Google/Google Software Update/1.0.0.0”中是否已经存在hava.info。如果它没有找到该文件,它将删除hava.info文件,该文件包含HavanaCrypt使用RSACryptoServiceProvider函数生成的RSA密钥。

38.png

研究人员使用控制台十六进制编辑器HIEW获得的hava.info的内容

39.png

HavanaCrypt使用RSACryptoServiceProvider函数生成的RSA密钥

加密程序

研究人员已经注意到HavanaCrypt在其加密程序中使用了KeePass Password Safe模块。特别是,它使用CryptoRandom函数来生成加密所需的随机密钥。HavanaCrypt所使用的功能和GitHub上的KeePass密码安全模块之间的相似性是显而易见的。

40.png

HavanaCrypt用于生成随机字节的函数

41.png

来自 GitHub 的 KeePass Password Safe 代码片段

HavanaCrypt 加密文件并附加“.Havana”作为文件扩展名。

42.png

HavanaCrypt的加密程序

它避免加密具有某些扩展名的文件,包括已经附加了“.Havana”扩展名的文件。

43.png

HavanaCrypt用来避免某些文件扩展名的函数

44.png

HavanaCrypt避免加密的文件扩展名文件

HavanaCrypt还避免对某些目录中的文件进行加密。

45.png

HavanaCrypt避免加密文件的目录

46.png

HavanaCrypt用来避开某些目录的函数

47.png

一些被HavanaCrypt加密的文件

在加密过程中,HavanaCrypt创建一个名为“foo.txt”的文本文件,该文件记录了包含加密文件的所有目录。

48.png

foo.txt 文本文件,其中包含包含加密文件的目录日志

结论

HavanaCrypt勒索软件将自己伪装成谷歌软件更新应用程序,目的是诱骗潜在的受害者执行恶意二进制文件。该恶意软件还通过检查与虚拟机应用程序相关的进程、文件和服务来实现许多反虚拟化技术。

勒索软件使用C&C服务器是微软网络托管服务的一部分,可能被用作网络托管服务以避免检测,这种情况并不常见。除了不同寻常的C&C服务器,HavanaCrypt还在加密阶段使用KeePass密码安全的合法模块。

该勒索软件的作者极有可能计划通过Tor浏览器进行通信,因为Tor是该软件避免加密文件的目录之一。需要注意的是,HavanaCrypt还加密了文本文件foo.txt,并没有放弃赎金通知。这可能表明HavanaCrypt仍处于开发阶段。

本文翻译自:https://www.trendmicro.com/en_us/research/22/g/brand-new-havanacrypt-ransomware-poses-as-google-software-update.html如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/nJz7
如有侵权请联系:admin#unsafe.sh