前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何逆向破解HawkEye keylogger键盘记录器,进入攻击者邮箱?

如何逆向破解HawkEye keylogger键盘记录器,进入攻击者邮箱?

作者头像
FB客服
发布2018-02-08 13:49:15
1.4K0
发布2018-02-08 13:49:15
举报
文章被收录于专栏:FreeBufFreeBuf

这一切要从一次恶意邮件攻击活动开始。下图为我们最近监测到的一个以恶意文件为发送附件的邮件攻击,请注意邮件信息中的英语写作水平是多么差劲,其实,这也是恶意邮件的一个特点,还请收件人提高警惕。

邮件样本

在这封邮件中其附件以“.doc”文件扩展名结尾,但其实这是一个RTF(富文本)格式文件,文件被嵌入了一个精心构造的cve-2010-3333漏洞利用脚本。

漏洞产生原因为微软office文件格式转换器在处理RTF文件“pfragments”参数属性时存在栈缓冲区溢出,远程攻击者可以借助特制的RTF数据执行任意代码,该漏洞又名”RTF栈缓冲区溢出漏洞”,但微软官方已在5年前就已修复了漏洞。

被加密混淆的RTF文件

在上图中你可以看到,漏洞利用代码中的shellcode字段被模糊变形以避免杀毒软件的检测,在经过代码提取、清理和解密之后,我确定了漏洞利用代码的shellcode将会从一个未知域名volafile.io下载并执行某些文件。

shellcode 的16进制字符串

漏洞攻击负载

下载的可执行文件

经过分析,从volafile.io 下载的文件是一个.NET可执行文件,通过十六进制文件分析之后可以得到一个有趣的线索,编码中出现了“HawkEyekeylogger”字段。

Hawkeye 键盘记录的主体

通过GOOGLE搜索技巧,最终我找到了开发该Keylogger软件的网站,在网站上,他们声称并列出了所有“HawkEyekeylogger”具备的“牛X的功能”。

HawkEye Keylogger 功能列表

在我的动态分析中发现,该Keylogger在一个名为%appdata%的文件夹下释放自身副本,启动一个名为windowsupdate.exe的程序为运行进程,并设置进程启动信息为随机自启动,实现与系统同时启动。

Keylogger’的例行程序

同时,该Keylogger也在受感染的系统中释放以下文件:

%Temp%\sysinfo.txt–恶意程序的执行路径 %Appdata%\pid.txt–恶意进程ID %Appdata%\pidloc.txt–恶意程序可执行文件的位置

之后,我想通过观察Keylogger的网络外联活动以获取其远程管理控制IP地址

受感染主机的网络包

一段时间之后,被Keylogger感染的主机就开始向攻击者邮箱发送信息了

被感染keylogger的主机向攻击者远程控制管理邮件发送本机相关信息

这些信息包括:

计算机名称(或CPU信息) 本地日期和时间 系统语言 安装的操作系统 系统开发平台 操作系统版本 系统内存 开发框架 系统权限 默认浏览器 安装的防火墙 内部IP地址 外部IP地址 电子邮件密码和相关设置 浏览器设置和FTP密码

如前所述,该Keylogger软件是利用.NET框架编写的,所以接下来我用.NET 编译器ILSpy来完成这项任务。

Hawkeye keylogger 反编译代码

我把“HawkEye keylogger”开发网站上声称具备的“牛X的功能”,与反编译源代码时认真对照,可以肯定的是其功能确实很厉害。这以下就是其具备的功能:

键盘记录:

键盘记录程序

剪贴板操作记录:

剪贴板操作例行程序

窃取浏览器、邮件客户端、FTP密码,它还试图窃取密码管理器凭据和系统密码:

还有一个将keylogger通过USB传播感染到其它系统主机的蠕虫程序:

USB 感染程序

它还针对在线游戏平台Steam用户,通过删除电脑上储存的游戏配置数据和登录信息,强制用户再次登录,然后利用键盘记录程序窃取用户的登录密码。

Steam游戏平台感染程序

另外,HawkEye keylogger还通过邮件反弹和FTP方式窃取被感染系统的桌面截屏,以确定其程序是否被正确配置。

邮件发送程序

攻击者也可以配置键盘记录软件,通过HTTP通道上传被盗信息至一个PHP主机,但这部分代码似乎是空的。

最有趣的是我在反编译代码中发现了一个名为form1()的C#构造函数,这就是HawkEye keylogger软件的配置存储函数,但攻击者使用了base64对远程控制和管理的电子邮件和FTP信息进行了加密隐藏。

keylogger配置信息

但是,这些加密的数据并不总是安全的,特别是当反编译源代码中就可以看出解密程序来时

解密函数调用

下图就是解密函数,它包含两个字符串参数encrypted bytes和secretkey,密钥字符串是固定的硬编码hawkspysoftwares

解密程序

同时,HawkEye keylogger使用者还使用了Unicode字符串 “099u787978786″对密码字符串进行加盐处理

keylogger 使用的加密方法

出于好奇,我复制了代码的解密部分,并进行了相应修改,在MS VisualStudio程序下编译,最终解密成功,包含了邮件和FTP账户密码(对不起,我需要对解密信息进行模糊处理)

经过解密的攻击者的远程控制邮箱和FTP信息

当然,最终我还是好奇地登录了攻击者的远程控制管理邮箱。

攻击者的远程控制管理邮箱登录界面

在攻击者的控制管理邮箱里,我发现了受害者被窃取的电子邮件信息,并尝试进行了登录,让人惊讶的是,受害者的电子邮件系统中被设置了邮件转发功能,受害者所有的收发邮件被自动转发到了攻击者的另外一个邮箱seemaexport3@gmail.com。

受害者邮箱系统被设置了自动转发功能

在对此次攻击分析之后,我们又发现了另外一个包含CVE-2012-0158漏洞利用代码的RTF邮件攻击。虽然这两个漏洞都比较过时了,但仍然被广泛用于邮件攻击中。

(后记:在2015年被发现的“海德薇”(Hedwig)APT网络攻击中,HawkEyekeylogger被用作窃密木马)

*原文地址:trustwave,clouds编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档