隐蔽战术定义:恶意后门软件HAMMERTOSS利用Twitter作C&C
2019-08-04 01:13:09 Author: mp.weixin.qq.com(查看原文) 阅读量:108 收藏

摘要

这篇报告是火眼公司2015年7月发出的,但是至今仍然具有参考意义。

火眼公司持续监控着一个俄罗斯APT组织,被命名为APT29,疑似由俄罗斯政府赞助。火眼公司发现APT29设计了创新的方法来掩盖他们的行踪。

2015年初火眼公司发现了来自APT29的一个隐秘恶意软件——HAMMERTOSS。

HAMMERTOSS背后的开发人员使用了多种技术——从创建生成每日Twitter handle的算法到把命令嵌入图片,从而设计出了一种特别有效的工具。APT29试图通过增加混淆层和模仿合法用户的行为来削弱对恶意软件的检测。

HAMMERTOSS使用Twitter、GitHub和云存储服务来中继命令并从被入侵的网络中提取数据。

虽然这些策略都不是新的,但是这些策略的组合技术激起了我们的兴趣。这些思路对红队打造自己的武器、或者定义自己的隐蔽TTP或将有启示性意义。

背景介绍

HAMMERTOSS的工作原理:

  1. 通过合法的Web服务(如 Twitter和 GitHub)检索命令,或者使用被入侵的的Web服务器进行命令和控制(C&C)。

  2. 每天自动访问不同的Twitter handle。

  3. 在特定时间内活动——在特定日期后或仅在受害者的工作周期间进行通信。

  4. 通过包含隐藏命令的图像和加密数据获取命令。

  5. 从被入侵的网络中提取信息并将文件上传到云存储服务。

APT29:

APT29至少自2014年底以来一直以目前的形式运作。根据它所针对的组织和窃取的数据,疑似赞助者为俄罗斯政府。此外,APT29似乎在俄罗斯节假日停止运营,他们的工作时间几乎与UTC+3时区一致,该时区包括莫斯科和圣彼得堡等城市。

APT29具有强大的应对复杂环境的适应能力,能对网络防御者试图减少其活动或将其从受害者网络中清除的行为做出快速适应。例如,APT29几乎总是使用反取证技术,它们监视受害者的补救工作,以破坏这些补救。同样地,该组织似乎只使用其控制的沦陷主机作为C&C master节点,保证匿名性,从而提高其操作的安全性。该组织对其恶意软件保持一个快速的开发周期,通过修改工具来绕过检测。

以上这些方面使APT29成为火眼公司跟踪的最有能力的APT群体之一。

报告正文

介绍HAMMERTOSS:

火眼公司在2015年早期就发现了HAMMERTOSS。APT29可能使用 HAMMERTOSS作为两个主要后门的备份,用于在该组织的主要工具暴露之后进行执行命令和维护权限。火眼公司已经确定了两个HAMMERTOSS的变体,为APT29提供了与恶意软件通信的替代方式。开发人员似乎将这些变体命名为uploadertDiscoverer。这两个变体都是用C#编写的。每个变体使用不同的方法获取命令与控制指令,要么直接访问一个硬编码的网站,要么以Twitter为中介访问。

  • Uploader被预先配置为使用一个硬编码服务器作为其C&C。它会转到特定的URL以获取一个具有特定文件大小的图像。

  • tDiscoverer使用了一个额外的混淆层。这个混淆层的实现机制是:在访问URL以获取其目标图像之前,先通过Twitter获取一个C&C URL。

在这篇报道中将聚焦于tDiscoverer

HAMMERTOSS的五个阶段:

火眼公司将HAMMERTOSS的通信过程分解为五个阶段,以解释该工具如何运转、接收指令以及从受害者网络中提取信息。这些阶段包括关于APT29在被入侵的网络之外与HAMMERTOSS通信的信息,以及对该工具掩盖其活动的能力的简要评估。 

  1. HAMMERTOSS后门每天生成并寻找不同的Twitter handle。它使用一种算法来生成每日的handle,例如 "234Bob234",然后再尝试访问相应的Twitter页面。如果该威胁组织没有注册当天的handle,HAMMERTOSS会等到第二天,寻找另一个不同的handle。

  2. HAMMERTOSS访问关联的Twitter帐户,并查找带有一个URL和一个Hash标签的tweet,那个Hash标签指示了图像文件的位置和最小体积。

  3. HAMMERTOSS访问URL并获得一个图像。

  4. 该图像看起来正常,但实际上包含使用隐写术的隐藏加密数据。HAMMERTOSS解密隐藏的数据以获得命令。

  5. HAMMERTOSS会处理那些解密的命令,这些命令可能会指示该恶意软件进行侦察,通过PowerShell执行命令,或者将数据上传到云存储服务。

注: 

  1. 上面的图片为库存照片,该组织并未使用。

  2. "tDiscoverer"变体最初名为"tDiscoverer.exe","Uploader"变体的调试路径包含"uploader.pdb"。

第一阶段: 通信过程从Twitter开始

  1. 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。

  2. APT29组织的人员会在预期的通信之前使用同样的算法去注册特定某天的 Twitter 用户名。

  3. 有两种情况:a) APT29的操作员已经注册了该账号。于是HAMMERTOSS去Twitter 页面寻找一个提供了流程的下一阶段的命令的tweet。b) APT29的操作员未注册该账号。HAMMERTOSS等到第二天来再次开始这个过程。

图1:HAMMERTOSS调用一个Twitter账号
HAMMERTOSS首先在Twitter上寻找操作指令。该恶意软件包含一个生成每日Twitter账号(一个账户的用户ID)的算法。每个HAMMERTOSS样本每天都会创建一个不同的Twitter账号。
APT29知道用于生成Twitter账号的算法,并选择注册一个Twitter账号,并在恶意软件试图查询该账号之前向该账号的URL发送经过混淆的指令。如果某一天的账号没有注册,并且没有找到该天的URL,那么HAMMERTOSS将等到第二天再尝试与另一个账号进行通信。
APT29通常将HAMMERTOSS配置为在特定的限制范围内进行通信,例如仅在工作日或指定的开始日期之后检查Twitter账号。这允许恶意软件在受害者的工作周期间混入到"正常"流量中,或者在激活前保持一段时间的休眠状态。

第二阶段: 发送一个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的后门

MiniDuke的行为与 HAMMERTOSS类似,不仅将Twitter用于C&C,还可以下载包含加密附加内容的图像文件。

第三阶段: 访问GitHub来下载图片

APT29 的操作员注册一个GitHub页面并上传一张图片。
HAMMERTOSS使用InternetExplorer.Application COM Object来访问URL和获取图像。

图4:tweet 中指定的URL(在本例中为 Github 页面)包含一个带有附加数据和加密数据的图像

然后HAMMERTOSS使用InternetExplorer.Application COM Object访问一个特定tweet里面的URL。
我们观察到URL指向特定的GitHub帐户或被入侵的网站。
我们将在下一部分的示例中使用GitHub。一旦HAMMERTOSS从其每日Twitter帐户获得GitHub URL,它就会访问该URL并下载页面内容,包括任何图像文件。

第四阶段: APT29采用了基本的隐写技术

HAMMERTOSS将网站的内容下载到Internet Explorer的浏览器缓存中,并在缓存中搜索至少与第2阶段的tweet中指定的偏移量一样大的任何图像。
虽然图像看起来正常,但它实际上包含了隐写数据。隐写术是将一条消息、图像或文件隐藏在另一条消息、图像或文件中的一种做法。在这种情况下,图像包含附加的和加密的数据,HAMMERTOSS将对这些数据进行解密和执行。
数据可能包括命令或者将受害者的数据上载到云存储服务的登录凭据。HAMMERTOSS将加密数据定位到在第2阶段中tweet中指定的偏移量。它使用一个密钥解密数据,该密钥由恶意软件二进制文件中的硬编码数据组成,并附加来自tweet的字符。
  1. HAMMERTOSS从指定的URL下载图像,从Internet Explorer的浏览器缓存检索图像,以及开始解密的流程。

  2. 虽然图像看起来正常,但它包含附加和加密的内容。

图 5:附加在FF D9 JPEG文件结束标记后面的加密数据

    3. HAMMERTOSS使用一个硬编码的密钥来解密图像,该密钥带有从第2阶段的tweet中获得的字符。

APT29增加了隐写术作为另一层混淆 

我们已经观察到只有一小部分的APT组织使用隐写术。HAMMERTOSS通过在图像的文件结束标记后向图像文件追加数据来使用隐写术。如果有人在检查,这项技术将很容易被发现。但是,附加的数据是加密的,因此即使被检测到,如果没有来自恶意软件二进制和当前tweet这两个来源的密钥材料,调查人员就无法解密数据。
按照APT29组织纪律的指示,该组织会确保如果网络防御者发现了这些图像,防御者仍然需要恶意软件样本、相应的Twitter账号,以及带有额外密钥材料的tweet(推文)来解密该工具的指令。我们观察到的所有样本都使用不同的加密密钥来解密附加的内容。

第五阶段: 执行命令并上传受害者数据

APT29的操作员创建云存储帐户,并可以从云存储服务中获取受害者的数据。
  1. HAMMERTOSS可能会发出其他后续命令:powershell -ExecutionPolicy bypass -WindowStyle hidden -encodedCommand...

  2. HAMMERTOSS有能力将受害者数据上传到一 个云存储服务。

图6:执行命令并删除数据

图片中的加密数据可能包括以下多种指令:通过PowerShell执行命令、执行一个直接的命令或文件,或将可执行文件保存到磁盘并执行。在一些情况下,这些命令指示HAMMERTOSS使用在第四阶段收到的登录凭证从受害者的网络上传信息到云存储服务的账号。
在我们的GitHub示例中,解密的数据指示后门获取正在运行任务的列表——在受害者网络上进行侦察并使用登录凭据将其上传到一个云存储服务上的特定帐户。然后,APT29可以方便地从云存储服务中获取提取的信息。

结论:难以识别 Twitter 帐户、区分合法流量和恶意流量以及定位 Payload

HAMMERTOSS削弱了网络防御者的这些能力:识别用于C&C的Twitter帐户、把恶意流量和合法的网络流量进行区分,并定位恶意软件下载的恶意 payload的能力。 
  • 识别每天潜在的Twitter账号需要网络防御者能够访问相关的HAMMERTOSS二进制文件,并对其进行逆向,以识别其用于创建潜在账户的基本名称和算法。监控来自这些帐户的恶意tweet是困难的,因为每个样本每年都能够生成数百个潜在的Twitter帐号,而APT29可能只为C&C注册其中的一小部分帐号。

  • 使用公司的网络中广泛允许的合法Web服务(其中一些使用SSL连接,确保通信被加密)会使网络维护者更难区分恶意通信和合法通信。

  • 使用隐写术和改变图片大小来制造目标payload——图片包含附加的、经过编码的命令,因而更加难以预测。即使网络防御者能够预测或识别目标payload,他们也需要相关的HAMMERTOSS样本和包含相关加密密钥信息的相关 tweet(推 文)来解密内容。

APT29:一个适应性强、纪律严明的威胁组织 

HAMMERTOSS说明了APT29在操作过程中快速适应的能力,以避免检测和删除。
例如,如果一个公司封锁了对GitHub的访问,APT29可以很容易地重定向HAMMERTOSS,从另一个网站下载带有加密指令的图片。类似地,如果一个公司开始监控其网络上的Twitter活动,APT29可以很容易地切换到使用HAMMERTOSS的Uploader变体,它不使用Twitter,直接与指定的URL通信。如果一个公司破解了Twitter账号生成算法并尝试搜索旧的Twitter帐户、tweet(推文)或中继URL,APT29可以轻松地删除以前使用的帐户或存储图像的位置。
虽然HAMMERTOSS中的每一种技术都不是新的,但APT29已经将它们组合成了一个单一的恶意软件。每一种技术都为威胁组织的活动提供了某种程度的迷惑性。
这些技术结合在一起,使得防御者非常难以去:识别HAMMERTOSS或发现恶意网络流量;确定二进制文件的性质和目的;识别恶意软件的命令与控制方法并预测其C&C帐户;捕捉和解密第二级的C&C信息;并查明和解密包含恶意软件命令的图像文件。这使得HAMMERTOSS成为一个我们观察到的最有能力的APT组织之一的强大后门。
注:获取报告原文请点击左下角「阅读原文」

文章来源: https://mp.weixin.qq.com/s/XGL8xdstlooaxnhzHpkqIg
如有侵权请联系:admin#unsafe.sh