东欧

开箱 Anubis:探索 FIN7 最新后门的隐秘策略

在高级持续性威胁 (APT) 不断发展的形势下,臭名昭著的金融网络犯罪集团 FIN7 又为其武器库添加了另一个复杂的工具。我们最近发现一种新的基于 Python 的后门,称为“AnubisBackdoor”,正在他们最新的活动中部署。


FIN7 自 2015 年起便活跃起来,已成为技术最为精湛的犯罪集团之一,主要针对金融和酒店业。FIN7 以其定制恶意软件开发能力和创新的社会工程策略而闻名,曾在全球范围内造成数十亿美元的损失。

初始检测覆盖范围

首次在 VirusTotal 上看到时,感兴趣的文件(conf.py 和 backdoor.py)的检测次数较低。这表明最初的混淆和加密策略对威胁行为者有效,可以防止防病毒供应商自动检测。

[VirusTotal 分析的屏幕截图显示,一个名为“backdoor.py”的文件已被 64 家防病毒供应商扫描,但没有一家将其标记为恶意软件。该分析是在 16 小时前进行的,所有安全供应商都将该文件标记为“未检测到”。]

VirusTotal 上对 backdoor.py 脚本的检测

[VirusTotal 分析的屏幕截图显示,一个名为“conf.py”的文件已被 64 家防病毒供应商扫描,但没有一家将其标记为恶意软件。该分析是在 16 小时前进行的,所有安全供应商都将该文件标记为“未检测到”。]

VirusTotal 上 conf.py 脚本的检测

第一阶段

初始感染媒介涉及一个看似无害的 ZIP 存档,其中包含多个 Python 文件,重点是名为“conf.py”的脚本。该 zip 存档通过网络钓鱼活动进行传播。

混淆与加密

对 conf.py 文件的分析证实了利用 Python 部署 Anubis 后门的多阶段攻击。该脚本包含一个名为 WD 的解密类,它使用带填充的 CBC 模式 AES 加密。该实现包括标准加密元素,例如:

  • SHA-256 哈希
  • 初始化向量(IV)管理
  • 用于数据处理的 Base64 编码
[该图片中包含一个名为load(obfcode)的Python函数,该函数对经过混淆的代码字符串进行拆分和解码,解密后写入临时文件,并使用subprocess.Popen()执行,执行完成后删除该文件。] conf.py中load函数的实现

load函数揭示了核心执行机制:

  1. 该函数使用分隔符(_pKo_JX_重复5次)拆分混淆的字符串
  2. 经过分隔符处理后的第一个段被提取作为加密密钥
  3. 使用提取的密钥解密剩余的段
  4. 解密后的代码被写入临时文件
  5. 调用 Python 解释器来执行此临时文件
  6. 完成后,临时文件立即被删除

该技术最大限度地减少了恶意软件在磁盘上的占用空间,并使检测和取证分析变得复杂。

[该图显示了对 load() 函数的调用,该函数以一长串模糊字符串作为参数。该字符串似乎是经过编码或加密的数据,可能用于在 load() 函数中解密和执行。] conf.py 中混淆后的有效载荷的一部分

有效载荷本身采用了多层混淆:

  1. 用于分隔有效载荷的字符串分隔符
  2. 加密内容的 Base64 编码
  3. 实际恶意代码的 AES 加密
  4. 临时文件的使用几乎不留下任何痕迹

FIN7 的运作方式采用多层结构。该恶意软件故意使用多种合法编程技术来掩盖其恶意意图,使恶意软件分析师的静态分析变得更加困难。

FIN7 的实施表明,他们从早期的攻击活动中不断演变。通过使用 Python(一种在许多环境中都能找到的合法脚本语言),该组织创建了一个与正常系统操作融合在一起的后门。加密、混淆和反取证技术的结合,表明他们对现代安全控制及其绕过方法有着深刻的理解。

FIN7 Python 后门分析

对 conf.py 加载程序的初步分析发现,存在使用 Python 部署 Anubis 后门的多阶段攻击。检查混淆和反混淆的有效负载可以深入了解此后门的功能。

第二阶段:混淆的 Anubis 后门

第二阶段payload采用双层混淆策略:

  1. 诱饵类结构:代码的初始部分由多个类定义组成,这些类定义的名称毫无意义(llIIlIIIlII、lIllIIIIlIIIlllIl 等),没有任何功能用途。这些类包含以循环模式相互调用的方法,从而形成了一个不相关代码的迷宫。
  2. 视觉上令人困惑的命名:在整个代码中,变量和函数使用视觉上相似的字符组合(“l”,“I”),使得分析师难以区分标识符。

在诱饵类之后,文件过渡到实际的后门实现。虽然仍使用模糊的变量名,但此部分包含实际的后门功能,包括网络通信、命令处理和系统操纵功能。

[该图片包含经过混淆的 Python 代码,其中类名、函数名和变量由大写字母“I”和小写字母“l”组成。这种技术通常用于使代码难以阅读和分析,可能是为了混淆或反分析的目的。] 混淆的 Anubis 后门

第三阶段:Anubis 后门核心功能

反混淆后门的核心功能包括几个组件:

网络通信

  • 通过 HTTP 端口 (80/443) 自定义实现 C2 通信
  • 可定制的服务器列表存储在 Windows 注册表中以确保持久性
  • 使用自定义字母替换进行 Base64 编码,以实现流量混淆
  • 循环通过多个 C2 服务器的服务器故障转移机制

系统访问

  • 通过 Python 的 subprocess 模块执行命令
  • 文件操作(上传、下载、目录遍历)
  • 环境变量侦察
  • 注册表操作以实现配置持久性

反分析功能

  • 后门执行基本的环境检查
  • 无需重新部署的动态配置更新
  • 通过内存加载实现无文件执行
  • 自行报告进程 ID 和 IP 地址以供跟踪
[该图片包含一个 Python 脚本片段,用于定义联网代理的静态配置设置,该代理可能是命令与控制 (C2) 系统的一部分。它指定了代理 ID、C2 服务器 IP 地址、通信端口 (80、443)、Windows 注册表项路径和 Base64 字符集,表明可能用于恶意软件或远程管理。]

Anubis 后门的静态配置

命令集和协议分析

Anubis Backdoor 实现了精简的命令协议,具有以下功能:

命令 描述
退出 立即终止后门进程
知识产权 报告受害者的本地 IP 地址
cd [路径] 更改当前工作目录
gt [路径] 检索文件或 zip 文件并检索整个目录
上传 [文件名];[数据] 上传文件到指定路径
环境:[变量] 检索指定环境变量的值
环境:列表 列出系统上的所有环境变量
!cf![加密数据] 使用加密服务器列表更新 C2 服务器配置
!tcf![加密数据] 无需更新即可测试与加密服务器列表的连接
[任何其他输入] 在受害者的系统上作为 shell 命令执行

每个命令响应都带有状态指示符([+] 表示成功,[-] 表示失败),并使用自定义协议进行格式化,其中包括:

  1. 代理标识符
  2. 长度元数据
  3. 实际响应数据
  4. 带有字母替换的自定义 Base64 编码
[该图显示了一个 Python 脚本,用于处理各种命令,包括检索系统信息、更改目录、上传文件、执行 shell 命令和处理配置。该脚本将命令处理为字节字符串并执行相应的函数,表示远程控制功能。]

Anubis 后门代码中的命令处理程序

文件上传功能

Anubis Backdoor 具有精简的文件上传机制,允许攻击者向受感染的系统提供其他工具和恶意软件。上传功能包括:

  • 命令解析:在处理“up”命令时,后门通过搜索将目标文件名与文件内容分隔的分号分隔符来解析数据流
  • 文件写入过程:代码从命令中提取目标路径,并将二进制内容直接写入磁盘的指定位置
  • 操作灵活性:上传功能使攻击者能够通过部署自定义工具来扩大立足点,通过附加机制建立持久性,或引入更高级的恶意软件
  • 错误处理:实施包括全面的错误处理,以确保可靠的文件传输,同时向 C2 服务器提供状态指示

此功能显著增强了威胁行为者在获得目标系统的初始访问权后调整其攻击策略的能力。

[该图显示了一个名为 upload_file(data) 的 Python 函数,该函数处理字节序列以提取文件名并将剩余数据写入文件。如果文件名缺失,它会返回错误消息;否则,它会尝试写入数据,处理可能发生的任何异常。]

Anubis Backdoor 中的文件上传功能

持久性机制

后门通过存储其 C2 配置,通过 Windows 注册表保持持久性。它将存储在 HKEY_CURRENT_USER\Software\ 下,后面跟着两个随机单词(此示例中使用了“FormidableHandlers”,但不同示例之间有所不同)。仅在成功接收并处理来自其 C2 服务器的配置更新命令 (!cf!) 后,才会存储配置。数据使用 AES-CBC 加密,密钥来自代理 ID 和受害者的计算机名称的组合,使每次感染都是独一无二的,并且在不了解特定环境的情况下难以解密。

安全影响

Anubis 后门为 FIN7 提供了灵活的基于 Python 的远程访问工具,该工具可在 Windows 环境中运行。其设计表明 FIN7 在开发与合法网络流量相融合的隐蔽通信渠道方面不断进步。

多层混淆、加密和模块化命令结构的结合为威胁行为者提供了强大的能力,包括:

  1. 获得对受感染系统的完全 shell 访问权限
  2. 文件渗透功能
  3. C2基础设施的动态控制
  4. 操作安全功能可阻碍分析和检测

国际石油公司

03a160127cce3a96bfa602456046cc443816af7179d771e300fec80c5ab9f00f
5203f2667ab71d154499906d24f27f94e3ebdca4bba7fe55fe490b336bad8919
96b9f84cc7bf11bdc3ce56c81cca550753790b3021aa70ec63b38d84b0b50f89
e5255d5f476784fcef97f9c41b12665004c1b961e35ad445ed41e0d6dbbc4f8e

IP/C2

38[.]134[.]148[.]20
5[.]252[.]177[.]249

相关文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部按钮