Fareit,顶级恶意软件家族的套路与反套路

2017年8月17日 356点热度 0人点赞 0条评论

图片


我们生活在一个许多人越来越多的依赖个人电子设备发展关系的时代。这种趋势使保护这种连接免受威胁比以往任何时候都更重要。证书是我们的主要安全方法,因此这成为网络犯罪分子意图从这些关系中获利的主要攻击媒介。


不幸的是,人类行为是这些关系中最薄弱的环节。大多数人将安全的重要性降至最低。他们在创建密码时不会小心,从而暴露于暴力攻击。更糟糕的是,他们有时根本不保护自己,不设置或更改默认密码。这种行为引发了诸如“未来的僵尸网络”等攻击,我们在“迈克菲实验室2017年4月威胁报告”中强调了这一点。


渐渐地,云计算正在改变我们使用电脑的方式。消费者和企业越来越多地将重要的信息和服务存储在云端。然而,我们通常针对人类行为弱点发展认证计划来获得基于云的信息和服务。而且由于数据和计算是集中的,云对网络犯罪分子来说已经成为越来越有吸引力的目标。


正如我们在“迈克菲实验室2017威胁预测报告”中所遇见,目标是窃取盗窃信息烦人恶意软件将变得越来越重要,直到我们开发出更好的凭据方法。


使用密码窃取者进行凭证盗窃密码窃取者在几乎所有主要的高级持续威胁的早期阶段都被使用。这种恶意软件为整个攻击生命周期增加了经济价值。网络中的恶意软件横向移动主C要取决于密码窃取者收集的凭据。


新的密码窃取恶意软件变种增强了从银行凭证获取比特币和游戏货币的能力。Fareit,也被称为Pony,是目前用于窃取密码的顶级恶意软件家族之一;它可以从100多个应用程序中获取凭据,包括电子邮件、FTP、即时消息、VPN、Web浏览器等等。


下图显示了McAfee Labs在过去三年中收到的Fareit事件提交的数量。


图片

来源

Fareit是微软于2011年首次发现的。 Fareit的强大和健壮的功能使其成为五年来最受欢迎的密码窃取恶意软件。


下图显示了来自McAfee和Microsoft的Fareit检测,从2011-2017。


图片


以下热图显示了Fareit控制服务器在2017年第一季度的分布密度。


图片

最早追踪的Fareit版本是1.7版,其中包括2.2版本的大部分功能。


Fareit(我们将使用Fareit和Pony互换地引用这个恶意软件家族)是迄今开发的最成功的密码窃取软件之一。这个成功的故事导致其几乎用于所有主要意在窃取敏感信息的网络攻击。


在本报告中,我们将讨论Fareit的演变及其与不同平台上恶意软件的关联。我们还将解释在去年秋天对美国民主全国委员会(DNC)攻击中这种恶意软件的使用情况。

感染载体

Fareit通过诸如网络钓鱼/垃圾邮件,DNS投毒和攻击套件传播。


垃圾邮件

下图显示了垃圾邮件广告系列如何传播Fareit。 受害者收到包含Word文档,JavaScript或归档文件作为附件的恶意垃圾邮件。用户打开附件后,Fareit会感染系统。然后,它会根据当前行动下载其他恶意软件,并将被盗的凭据发送到控制服务器。

图片

DNS毒化

在这种技术中,恶意软件(如Rbrut)会通过暴力攻击获得路由器管理访问权限。 然后,它会更改主DNS设置,并将受感染的系统重定向到流氓DNS服务器。


流氓DNS服务器将用户重定向到提供Fareit的恶意网站。


图片

僵尸和控制服务器架构

与大多数僵尸网络不同的是,这些僵尸网络由特定的群组操作,并具有集中控制服务器,Pony可以在暗网上由任何有意愿的攻击者购买。 买者设置个人控制服务器以启动攻击或购买由另一个攻击者托管的控制面板服务。购买的面板提供窃取的凭证报告。


Pony项目分为三个部分:


  • PonyBuilder(PonyBuilder.exe):一套用于创建使用masm32编译器构建的编译客户端“Pony Bot”的程序,它包含在包中。

  • Pony Bot:客户端必须下载到目标系统,用于收集和发送密码到控制服务器。

  • 一组服务端PHP脚本:包括管理面板和脚本网关(gate.php),向其发送窃取密码

图片


Pony编译器:这个工具允许攻击者创建自己的Pony僵尸网络。他们可以指定窃取的凭据和其他僵尸网络发送数据的服务器地址。


图片

图52 Pony的源文件

图片

图53 Pony的用户界面

Pony 僵尸网络

这是网络犯罪分子用来窃取受害者密码的恶意软件程序。 Pony Bot有几个功能:


  • 窃取密码

  • 下载并执行任意恶意软件

  • 执行DDoS攻击

  • 窃取加密电子钱包

  • 窃取FTP凭据


Pony Bot主要以汇编语言编写,可以以DLL或EXE格式发布。这为Fareit提供变种和服务于各种目的的灵活性。


Pony Bot使用非标准方法收集密码。当客户端启动时,它会自动收集被盗密码和必要的数据,打包成称为报告的特殊容器文件,并将其传输到服务器,并将其解密。每个报告可以包含数十甚至数百个密码,以及其他支持信息。


Pony Bot客户端不包含任何解密算法,只有读取文件和注册表数据的简单函数。所有密码解密都由Web服务器执行。这不是一个资源密集的操作,因为大多数加密算法是已知弱点的。处理包含密码的报告的服务器解密时长平均少于10ms。


图片

图54 PonyBot客户端的不同模块

图片

图55 这些模块包含Pony Bot需要成功编译的必要代码


许多行动发起者将Fareit纳入其攻击方法。例如,我们看到Andromeda僵尸网络(也称为Gamarue)的作者将Fareit称为“泰坦尼克号奇迹工作”,当有人要求他为Andromeda创建密码窃取器时。Andromeda作者展示了如何让Pony成为Andromeda僵尸网络的一项插件。Pony变种有不同的目的。 稍后我们将讨论Pony如何为DNC攻击而定制,只需要包装代码以窃取用户和FTP密码。

内部工作

Fareitbot于每个模块开始执行反-反汇编和反-反仿真技术。然后初始化API地址后各种操作。Fareit尝试通过获取当前执行帐户的本地用户令牌来模拟特权进程。在稍后阶段执行的暴力程序中忽略该用户。接下来,Fareit暴力破解用于受害者系统上的其他可用用户的存储列表。一旦解密完成,它将在当前用户的上下文中启动ScanAndSend窃取程序,并将所有被盗的凭据发送到控制服务器。之后,它运行僵尸加载组件来下载并执行更多的恶意软件,这可能是其每次安装付费活动的一部分。


接下来,Fareit终止其当前的冒充,并尝试冒充受害者系统上的其他用户。为了达到此目的,Fareit尝试使用“用户名:用户名”对,“用户名:小写用户名”对登录帐户,最后将解密后的列表作为该用户名的密码。一旦登录成功并且Fareit进程冒充已登录的用户,它将再次在该附加用户的上下文下执行ScanAndSend。


图片

图56 部分暴力攻击本地用户的字典

窃取行为

Fareit尝试从浏览器窃取已保存的密码。它还尝试从以下FTP客户端或云存储程序中窃取存储的帐户信息,如服务器名称,端口号,登录ID和密码。


图片


Fareit执行流


图片

控制面板

Pony控制面板能够使攻击者查看和管理僵尸网络传送过来的消息。


图片

图57 控制面板配有访问Pony Bot收集的不同信息和统计信息的标签


选项卡执行以下功能


  • 主页:关于服务器正在进行的工作的一般信息。

  • FTP列表:下载或清除FTP / SFTP获取的列表。

  • HTTP密码:下载或清除通过HTTP获取的密码列表。

  • 其他:下载或清除收到的证书清单。

  • 统计:收集的数据上的当前数字。 (清除FTP列表将重置统计信息报告。)

  • 域:为辅助功能的操作测试添加备份域抓取器。

  • 日志:请参阅关键错误和通知服务器。

  • 报告:当前密码列表。

  • 管理:服务器设置和帐户管理。

  • 帮助:显示机器人和控制面板提供的各种功能。

  • 注销:从管理面板退出。

图片


Pony控制面板有管理员和用户模式,允许Pony僵尸网络作为服务交付。


管理员模式可以完成所有操作:删除或添加新用户、更改服务器设置(包括报告密码)、更改其他用户的特权或密码、清除带有密码的列表。只能有一个管理员。


其他用户,根据自己的权限,可以查看数据(user_ view_only),或浏览和清洁FTP/SFTP列表,报告和日志。用户还可以更改他们的密码。用户不能只看到管理员可用的功能。


图片

图片

图61-62 两个在售Pony软件的控制面板示例


Fareit报告内容被盗的凭据包含在加密的报告文件中。每个报告还包含其他信息:


  • 操作系统:Windows版本。

  • IP:发件人地址。

  • HWID:不改变的唯一用户标识符。使用此ID,您可以找到来自特定系统的所有报告。

  • 权限:Pony Bot进程启动的权限(用户或管理员)。

  • 架构:Pony.exe启动的CPU的x86和32/64位架构。

  • 版本:Pony Bot客户端版本。

图片

图63 对报告文件攻击者的视角,信息被从感染系统中窃取。这些包括FTP凭据,浏览器保存的密码,电子邮件密码等。

进化

2011年底,微软检测并命名了新的密码窃取者PWS:Win32 / Fareit。我们认为Fareit当时不完整,可能正处于发展的测试阶段。

图片

图片

图 64-65 2011被检测到的Fareit恶意软件截图显示从被感染的端点盗取的信息。


FareitV1.7发现后不久,其作者在许多地下论坛上出售。它加入了强大的功能导致快速增长。

免杀

随着Fareit的发展,恶意软件的作者实施了许多反-反汇编和反调试技术,以防止被轻松分析。


除了Fareit的作者所执行的基本检测逃避机制外,个体所有者还可以添加封装程序,如ASProtect以及定制封隔器,以防止反恶意软件的签名检测。


反-反汇编:以下是反-反汇编技术的一个例子,它试图迷惑一个递归反汇编算法,该算法试图跟踪程序控制流程,并在特定位置反汇编指令。


在这个片段中,“jb”指令将控制传送到地址0x41062e。反汇编器假定此位置包含代码,并尝试将其反汇编。攻击者有时会放置在该代码位置无法反汇编的垃圾字节,导致反汇编失败。


代码中的实际控制跳转分别通过0x00410625和0x0041062d的“push和“retn”指令进行。


图片


反-仿真:


Fareit还采用反仿真来绕过许多反恶意软件启发式检测机制。该技术通过输入大量循环消耗仿真周期。前一循环执行计算机启动后经过的毫秒数除以10而不是5。由于获得5作为余数的概率较小,循环将持续很长时间,因此停止执行。


图片


包装器:


我们已经看到使用独特存根生成(USG)密码的样本来加密Pony Bot可执行文件,并使用AsProtect和自定义打包程序进一步打包它们。(自定义打包程序可以使用许多编译器来生成可执行文件,常见的编译器包括VB和.Net)。我们还看到使用AutoIt脚本编译的Pony Bot可执行文件。


图片

图66 我们发现USG crypter新用户费用45美元,每月25美元的续订

DNC 攻击

美国民主党全国委员会在2016年的违规行为被归咎于一个名为GrizzlySteppe的恶意软件。


GrizzlySteppe针对政府组织,关键基础设施公司,智囊团,政治组织和世界各地的公司。它使用诸如缩短URL,鱼叉式钓鱼,横向移动以及权限提升等手段来感染系统和网络策略。


根据公布的报告,GrizzlySteppe运动分为两个阶段。在2015年,它执行了一个钓鱼网络钓鱼活动,发送恶意链接重定向到恶意软件下载。 然后在2016年,它欺骗了人们通过伪造的域名更改密码。从受害者系统中盗取证件和其他信息(包括电子邮件),并在公网上公布。


我们在美国政府在GrizzlySteppe报告中公布的劫持清单指标中发现了Fareit hash。


图片


Fareit很可能用在DNC攻击等技术的结合窃取电子邮件、FTP和其他重要的凭据来进行进一步的攻击。


我们怀疑Fareit也被用来将APT威胁(如OnionDuke和Vawtrak)下载到受害者的系统上进行进一步的攻击。我们发现以下被Fareit装载器组件用于下载和执行的URL:


  • hxxp//one2shoppee.com/system/logs/xtool.exe

  • hxxp://insta.reduct.ru/system/logs/xtool.exe

  • hxxp://editprod.waterfilter.in.ua/system/logs/xtool.exe


在分析中我们发现,确定Fareit恶意软件释放恶意的Word文档用于特定DNC攻击。 这些文件通过网络钓鱼邮件广告系列传播。


以下代码显示了在DNC攻击中可能使用的在Fareit示例中发现的凭据窃取子例程或模块。 该示例中的凭证模块数量明显低于大多数Fareit样本。攻击者明白有些模块与这次攻击无关。


图片

图67 可能在DNC攻击中使用的Fareit凭证窃取模块的硬编码地址

图片

图68 发现的证书窃取模块

图片

图69 此代码调用的所有凭据窃取子程序如图63所示。此代码不是特定于DNC攻击中可能使用的Fareit示例,但在其他Fareit示例中很常见

网络活动中的DNC攻击

我们来看看可能在DNC攻击中使用的Fareit样本的两个代码片段。 在一个循环中调用每个控制服务器地址。它检查控制服务器响应中的“STATUS-IMPORT-OK”字符串。 如果没有收到此响应,循环下一个URL。


图片

图70 在DNC攻击中可能使用的Fareit示例,在其中发现子例程负责连接到不同的控制服务器,以防当前URL无响应。


在DNC攻击中使用的Fareit恶意软件引用了Fareit样本中不常见的多个控制服务器地址:


  • hxxp://wilcarobbe.com/zapoy/gate.php

  • hxxp://littjohnwilhap.ru/zapoy/gate.php

  • hxxp://ritsoperrol.ru/zapoy/gate.php

图片

图71 在DNC攻击中使用的Fareit样本中发现的子例程可用于下载其他恶意软件


DNC攻击中使用的Fareit样本可以从以下位置下载其他恶意软件:


  • hxxp://one2shoppee.com/system/logs/xtool.exe

  • hxxp://insta.reduct.ru/system/logs/xtool.exe

  • hxxp://editprod.waterfilter.in.ua/system/logs/xtool.exe

策略和过程

采取以下几个步骤,以避免诸如Fareit等威胁的感染。


  • 创建强密码并定期更改密码。密码越长越多,包含数字,大小写字母和特殊字符,越强。我们还建议每年更改密码两到三次,并在任何违规之后立即进行。如果这听起来像操作太多,请考虑使用密码管理工具。

  • 为每个帐户或服务使用不同的密码。即使一个帐户遭到入侵,也可以防止其他帐户和服务被访问。

  • 采用多因素身份验证。在遭到入侵的帐户中,攻击者直到通过下一个身份验证将无法访问帐户。

  • 不要将公用计算机用于需要密码的任何东西。避免在咖啡店,图书馆或其他公共Wi-Fi网络上使用系统,因为这些网络容易受到键盘记录软件和其他类型的恶意软件的攻击。

  • 打开电子邮件附件时要格外小心。这是非常重要的!不要打开任何奇怪的附件或点击可疑的未知发件人的链接。即使从朋友收到附件或链接,请确保在点击电子邮件或社交网络讯息之前不会出现问题。这个人的帐户可能已经被劫持了。

  • 在所有设备上安装全面的安全软件。实行基本的安全卫生,如保持安全软件是最新的。这个简单的步骤显着降低了感染Fareit或其他恶意软件的机会。

图片

本文由看雪翻译小组 wangrin 编译,来源@macafee

转载请注明来自看雪社区


图片

热门阅读

52740Fareit,顶级恶意软件家族的套路与反套路

这个人很懒,什么都没留下

文章评论