网盾科技IT教育,只培训技术精英
全国免费咨询电话: 15827351614
HawkEye恶意软件新变体分析

背景

FortiGuard Labs最近捕获了一个由网络钓鱼邮件进行传播的恶意软件,经分析后发现它是HawkEye恶意软件的新变种。

HawkEye是一种键盘记录和窃取凭据的恶意软件。在过去几年经常能看到它隐藏在Word、Excel、PowerPoint、RTF等各类MS文件中,通过钓鱼邮件大肆传播的身影。在本文中,我将概述此HawkEye新变体功能上的演变。

分发和下载

下图是电子邮件内容,通过伪装成机票确认函,诱导目标受害者点击链接。

HawkEye恶意软件新变体分析

图1.电子邮件内容

图1所示的链接处包含一个7z格式的压缩文件,实际为HawkEye新变种。

我在初始分析时,发现URL不可用,浏览器中显示“404 Not Found”的消息。

浏览其主页面后发现,这原来是一个FTP服务,包含钓鱼活动的几个网络文件夹,其中大多数都有相同的恶意软件样本(图2)。

HawkEye恶意软件新变体分析

图2.主页面截图

7z文件解压后,检索到的EXE文件“TICKET%2083992883992AIR8389494VERVED37783PDF.exe”为HawkEye的新变种。

HawkEye启动

HawkEye启动后会从Microsoft .Net框架安装目录中生成一个挂起的子进程“RegAsm.exe”,这是一个用于程序集注册的工具。同时,HawkEye将PE文件解压到其内存中,然后将PE文件移动到“RegAsm.exe”中。动态提取的PE文件是HawkEye的主程序,我们将其命名为“HawkEye_RegAsm”用于区分。在“RegAsm.exe”恢复运行后,HawkEye_RegAsm才开始运行。

HawkEye_RegAsm是一个.Net编写的程序,由ConfuserEx v1.0.0封装保护。这给分析人员阅读和分析代码带来了很大的挑战,代码实际上是完全混淆的,如图3所示。

HawkEye恶意软件新变体分析

图3. HawkEye_RegAsm的模糊输入功能

睡眠10秒后,HawkEye_RegAsm开始在受害者的系统上工作。通过目前的分析,它似乎主要执行以下功能:

1.设置剪贴板记录器

2.设置键盘记录器

3.从.Net框架目录中生成另外两个子进程“vbc.exe”。

4.不时通过SMTP将收集的数据发送到电子邮件地址(每10分钟)。

HawkEye_RegAsm会启动一个线程来执行上述任务,每隔10分钟将其收集的信息发送到Yandex电子邮件地址。

HawkEye_RegAsm使用windows原生api(如SetWindowsHookEx、SetClipboardViewer等)设置剪贴板和键盘记录器,它的本地函数可以记录受害者在键盘上键入时的行为以及将数据复制到系统剪贴板时的行为。

图4显示了HawkEye_RegAsm从其键盘和剪贴板记录器收集的信息示例,以及事件发生时的软件标题。

HawkEye恶意软件新变体分析

图4.收集的剪贴板和键盘数据的示例

收集凭据

HawkEye_RegAsm执行的任务与RegAsm.exe类似,它产生两个挂起的子进程“vbc.exe”,子进程与RegAsm.exe位于同一目录中。HawkEye能动态地将两个PE文件提取到其内存中,然后将其复制到“vbc.exe”,再通过修改ThreadContext数据(调用API,SetThreadContext)并使其入口指向传输的PE文件。当“vbc.exe”恢复运行时HawkEye就能执行。这是恶意软件经常在正常进程后伪装自身的技巧。

两个“vbc.exe”进程负责从受害者的系统收集凭据——一个用于收集浏览器的凭据,另一个侧重于从电子邮件客户端和IM客户端窃取凭据和配置文件。注入“vbc.exe”的两个PE文件都具有相同的代码框架,它们首先调用函数来收集凭据并将其保存在内存中,接着读取收集的数据并对其进行格式化,再将其从命令行参数保存到tmp文件中。

图5显示了HawkEye调用CreateProcess API来启动“vbc.exe”进程的案例,其参数如下所示在“Locals”子选项卡中。可以看到“vbc.exe”的完整路径,“/ stext”“C: Users ********* AppData Local Temp tmpBE3D.tmp”“”是传递给它的参数。tmp文件名是随机的,它不同于两个“vbc.exe”进程,会暂时保存收集的凭据。

HawkEye恶意软件新变体分析

图5.调用CreateProcess启动“vbc.exe”时中断

这两个PE文件不受封装程序保护,也不是.Net编写的程序。

第一个“vbs.exe”从受害者的浏览器和IE的系统凭据管理器收集凭据。

在此案例中,HawkEye变体涉及以下浏览器:Microsoft Internet Explorer,Google Chrome,Apple Safari,Opera,Mozilla Sunbird,Mozilla Firefox,Mozilla Portable Thunderbird,Mozilla SeaMonkey,YandexBrowser,Vivaldi等。

图6显示了HawkEye恶意软件想要从浏览器的ASM代码中收集凭证的一些字符串。

然后,收集的凭据将从其命令行参数保存到tmp文件中。HawkEye_RegAsm会不断检查这个tmp文件,直到凭证收集完成。再之后HawkEye_RegAsm将此tmp文件的整个数据读入其内存并立即删除。

HawkEye恶意软件新变体分析

图6.第一个PE文件中定义的浏览器信息

“vbc.exe”中的第二个PE文件则是收集安装在受害者计算机上的电子邮件和IM软件客户端的配置文件及凭据信息。

目标包括:Qualcomm Eudora,Mozilla Thunderbird,MS Office Outlook,IncrediMail,Groupmail,MSNMessenger,Yahoo!Pager / Yahoo!Messenger和Windows Mail。

以下是HawkEye从我的测试机器上的Chrome浏览器中窃取的列表示例,包括:登录URL,浏览器名称,用户名,密码,创建时间以及提供信息的文件的完整路径。

HawkEye恶意软件新变体分析

HawkEye恶意软件新变体分析

图7.“vbc.exe”将收集的服务器地址信息保存到tmp文件

“vbc.exe”中的第二个PE文件不仅收集客户端的登录用户名和密码,还会收集配置文件信息,例如配方服务器地址、收件人服务器端口、协议类型(POP3)、SMTP服务器、SMTP端口等。 图7显示了当“vbc.exe”即将收集的收件人服务器地址写入其tmp文件时Ollydbg的屏幕截图。它一次只写一行。HawkEye_RegAsm最终读取相同的tmp文件,然后进行删除。

在测试机器上,我只安装了一个帐户的MS Outlook。最后显示测试帐户和服务器配置文件被收集并放入下图所示的结构中,然后被发送到攻击者的电子邮箱。

HawkEye恶意软件新变体分析

数据传输

现在让我们回到HawkEye_RegAsm的主进程,它控制着HawkEye的所有任务并发送受害者的凭证。在主程序中,它调用Thread.Sleep(600000),并在收集凭证时每10分钟暂停一次。也就是说,它每隔10分钟向攻击者报告一次收集到的数据。

它首先发送一个HTTP请求来询问机器的公共IP。这是一种确保受害者的机器能够访问互联网的方法。如果公共IP没有回复,则会停止收集数据的发送过程。此外,IP出现在电子邮件主题中,以便识别受害者。

攻击者的电子邮件属于Yandex.mail中,当通过Yandex SMTP服务器发送收集到的数据时,将使用其电子邮件帐户和密码。这就是为什么我能够在跟踪主程序的同时获得攻击者的电子邮件凭证。在调试时,你可以看到图8中的屏幕截图。

HawkEye恶意软件新变体分析

图8.将收集的数据发送到攻击者的电子邮箱

每隔十分钟,它就会发送如图9所示的数据包,告诉攻击者用户使用的键盘记录器、剪贴板、浏览器凭证、IM、电子邮件客户端凭证和概要文件。

HawkEye恶意软件新变体分析

图9.通过SMTP将收集到的数据发送到攻击者的Yandex电子邮件地址

HawkEye恶意软件新变体分析

图10.攻击者的收获情况

访问攻击者的帐户,我们可以看到攻击者已经获得了什么信息,如图10所示。

解决方案

电子邮件中的原始URL已被FortiGuard Web过滤服务评为“恶意网站”;解压后的exe文件被FortiGuard Antivirus服务检测为“AutoIt / Injector.EAH!tr”。

样本SHA256

[TICKET%2083992883992AIR8389494VERVED37783PDF.exe]

3E7AD2A554F89B2A5E52E5C4843111342182DA4409A038CF800570B65A13F875

[Ticketmasterconfirmation3883948383948394.7z]

BBB46F812126FAEB543B02D143EF450887A043185AF98210D8F827924B31CF7A

[TKT8839483993993fligh booking ticket confirmationupdate.7z]

F2B921726D728037F9BA0C63FB6C31F77983C3A6E3938B46C411E80C218A2E84