摘要
这篇报告是火眼公司2015年7月发出的,但是至今仍然具有参考意义。
火眼公司持续监控着一个俄罗斯APT组织,被命名为APT29,疑似由俄罗斯政府赞助。火眼公司发现APT29设计了创新的方法来掩盖他们的行踪。
2015年初火眼公司发现了来自APT29的一个隐秘恶意软件——HAMMERTOSS。
HAMMERTOSS背后的开发人员使用了多种技术——从创建生成每日Twitter handle的算法到把命令嵌入图片,从而设计出了一种特别有效的工具。APT29试图通过增加混淆层和模仿合法用户的行为来削弱对恶意软件的检测。
HAMMERTOSS使用Twitter、GitHub和云存储服务来中继命令并从被入侵的网络中提取数据。
虽然这些策略都不是新的,但是这些策略的组合技术激起了我们的兴趣。这些思路对红队打造自己的武器、或者定义自己的隐蔽TTP或将有启示性意义。
背景介绍
HAMMERTOSS的工作原理:
通过合法的Web服务(如 Twitter和 GitHub)检索命令,或者使用被入侵的的Web服务器进行命令和控制(C&C)。
每天自动访问不同的Twitter handle。
在特定时间内活动——在特定日期后或仅在受害者的工作周期间进行通信。
通过包含隐藏命令的图像和加密数据获取命令。
从被入侵的网络中提取信息并将文件上传到云存储服务。
APT29:
APT29至少自2014年底以来一直以目前的形式运作。根据它所针对的组织和窃取的数据,疑似赞助者为俄罗斯政府。此外,APT29似乎在俄罗斯节假日停止运营,他们的工作时间几乎与UTC+3时区一致,该时区包括莫斯科和圣彼得堡等城市。
APT29具有强大的应对复杂环境的适应能力,能对网络防御者试图减少其活动或将其从受害者网络中清除的行为做出快速适应。例如,APT29几乎总是使用反取证技术,它们监视受害者的补救工作,以破坏这些补救。同样地,该组织似乎只使用其控制的沦陷主机作为C&C master节点,保证匿名性,从而提高其操作的安全性。该组织对其恶意软件保持一个快速的开发周期,通过修改工具来绕过检测。
以上这些方面使APT29成为火眼公司跟踪的最有能力的APT群体之一。
报告正文
介绍HAMMERTOSS:
火眼公司在2015年早期就发现了HAMMERTOSS。APT29可能使用 HAMMERTOSS作为两个主要后门的备份,用于在该组织的主要工具暴露之后进行执行命令和维护权限。火眼公司已经确定了两个HAMMERTOSS的变体,为APT29提供了与恶意软件通信的替代方式。开发人员似乎将这些变体命名为uploader和tDiscoverer。这两个变体都是用C#编写的。每个变体使用不同的方法获取命令与控制指令,要么直接访问一个硬编码的网站,要么以Twitter为中介访问。
Uploader被预先配置为使用一个硬编码服务器作为其C&C。它会转到特定的URL以获取一个具有特定文件大小的图像。
tDiscoverer使用了一个额外的混淆层。这个混淆层的实现机制是:在访问URL以获取其目标图像之前,先通过Twitter获取一个C&C URL。
在这篇报道中将聚焦于tDiscoverer。
HAMMERTOSS的五个阶段:
火眼公司将HAMMERTOSS的通信过程分解为五个阶段,以解释该工具如何运转、接收指令以及从受害者网络中提取信息。这些阶段包括关于APT29在被入侵的网络之外与HAMMERTOSS通信的信息,以及对该工具掩盖其活动的能力的简要评估。
HAMMERTOSS后门每天生成并寻找不同的Twitter handle。它使用一种算法来生成每日的handle,例如 "234Bob234",然后再尝试访问相应的Twitter页面。如果该威胁组织没有注册当天的handle,HAMMERTOSS会等到第二天,寻找另一个不同的handle。
HAMMERTOSS访问关联的Twitter帐户,并查找带有一个URL和一个Hash标签的tweet,那个Hash标签指示了图像文件的位置和最小体积。
HAMMERTOSS访问URL并获得一个图像。
该图像看起来正常,但实际上包含使用隐写术的隐藏加密数据。HAMMERTOSS解密隐藏的数据以获得命令。
HAMMERTOSS会处理那些解密的命令,这些命令可能会指示该恶意软件进行侦察,通过PowerShell执行命令,或者将数据上传到云存储服务。
注:
上面的图片为库存照片,该组织并未使用。
"tDiscoverer"变体最初名为"tDiscoverer.exe","Uploader"变体的调试路径包含"uploader.pdb"。
第一阶段: 通信过程从Twitter开始
HAMMERTOSS包含一个生成Twitter账号的算法,该算法会让恶意软件在特定的一天去访问一个特定的Twitter账号。一个Twitter账号是一个用户名,并且带有一个对应的Twitter网站的URL。比如,火眼的 Twitter账号用户名为@FireEye,有一个对应的Twitter URL: https://www.twitter.com/fireeye。HAMMERTOSS算法生成Twitter 用户名的机制为:使用一个基础名字,比如 “Bob”,然后基于当前日期追加和前置三个CRC32值。例如, "1abBob52b",该账号会有一个对应的URL:hxxps://www. twitter.com/1abBob52b。
APT29组织的人员会在预期的通信之前使用同样的算法去注册特定某天的 Twitter 用户名。
有两种情况:a) APT29的操作员已经注册了该账号。于是HAMMERTOSS去Twitter 页面寻找一个提供了流程的下一阶段的命令的tweet。b) APT29的操作员未注册该账号。HAMMERTOSS等到第二天来再次开始这个过程。
第二阶段: 发送一个URL、最小文件大小的图片和部分加密密钥到Twitter 上
如果APT29的操作员已注册特定某天的账号,他会在Twitter上发布一个URL还有Hash标签。
图 2:了解URL、图片大小和加密密钥
URL:在上面的例子中,这条tweet指示HAMMERTOSS下载特定URL上的内容,包括页面上的任何图像。在我们后 面将会讨论的例子中,那条tweet包含了一个GitHub上的URL。
Hash标签:该推文还包含一个Hash标签,标签中包含允许HAMMERTOSS从一个图像文件中提取加密指令的信息。这个Hash标签指示隐藏数据被偏移101个字节到图像文件中,并且用于解密的字符是docto。
如果APT29已经注册了当天的Twitter账号,他们会在Twitter上发布一个URL和一个Hash标签。该URL指引HAMMERTOSS访问一个带有一张或多张图片的网页。那个Hash标签提供了一个数字,表示图像文件中的一个位置和附加到 加密密钥的字符,用于解密图像中的指令。
在图2中一个HAMMERTOSS tweet的模型中,标签是#101docto,表示加密数据从进入图像文件的101字节的偏移量开始,并且应该将字符docto添加到加密密钥中以解密数据。
使用Twitter作为中介向HAMMERTOSS传达第二阶段的C&C,允许APT29动态地指导该工具。
在图3中是HAMMERTOSS tDiscoverer变体的一个样本,以及它生成的一个Twitter帐户页面的相应快照。在本文公布时,使用VirusTotal对一个公开可用的HAMMERTOSS样本进行检测,只有5种杀软报毒。那个Twitter账户是活跃的,包含一个网站链接。
图3:样本d3109c83e07dd5d7fe032dc80c581d08
图:样本d3109c83e07dd5d7fe032dc80c581d08的Twitter页面
隐藏在未注册的Twitter账户中
HAMMERTOSS使用一种算法每年生成数百个Twitter账号作为可能的C&C。其中许多是未注册的,因为APT29只在预期的HAMMERTOSS beacon之前根据需要选择性的注册特定日期的账号。这少量的注册帐户使该组织能够维持较小的足迹。
其他使用Twitter来传递指令的工具包括:
MiniDuke,一个基于Windows的后门,被怀疑是俄罗斯工具
Sninfs 僵尸网络
Flashback,一个基于Mac的后门
第三阶段: 访问GitHub来下载图片
图4:tweet 中指定的URL(在本例中为 Github 页面)包含一个带有附加数据和加密数据的图像
第四阶段: APT29采用了基本的隐写技术
HAMMERTOSS从指定的URL下载图像,从Internet Explorer的浏览器缓存检索图像,以及开始解密的流程。
虽然图像看起来正常,但它包含附加和加密的内容。
图 5:附加在FF D9 JPEG文件结束标记后面的加密数据
3. HAMMERTOSS使用一个硬编码的密钥来解密图像,该密钥带有从第2阶段的tweet中获得的字符。
APT29增加了隐写术作为另一层混淆
第五阶段: 执行命令并上传受害者数据
HAMMERTOSS可能会发出其他后续命令:powershell -ExecutionPolicy bypass -WindowStyle hidden -encodedCommand...
HAMMERTOSS有能力将受害者数据上传到一 个云存储服务。
图6:执行命令并删除数据
结论:难以识别 Twitter 帐户、区分合法流量和恶意流量以及定位 Payload
识别每天潜在的Twitter账号需要网络防御者能够访问相关的HAMMERTOSS二进制文件,并对其进行逆向,以识别其用于创建潜在账户的基本名称和算法。监控来自这些帐户的恶意tweet是困难的,因为每个样本每年都能够生成数百个潜在的Twitter帐号,而APT29可能只为C&C注册其中的一小部分帐号。
使用公司的网络中广泛允许的合法Web服务(其中一些使用SSL连接,确保通信被加密)会使网络维护者更难区分恶意通信和合法通信。
使用隐写术和改变图片大小来制造目标payload——图片包含附加的、经过编码的命令,因而更加难以预测。即使网络防御者能够预测或识别目标payload,他们也需要相关的HAMMERTOSS样本和包含相关加密密钥信息的相关 tweet(推 文)来解密内容。
APT29:一个适应性强、纪律严明的威胁组织