恶意软件配置解析器-DC3-MWCP

admin 2024年2月17日01:12:55评论7 views字数 6226阅读20分45秒阅读模式

大多数威胁行为者购买和使用商品恶意软件。为了根据自己的需要定制此恶意软件,他们使用恶意软件配置设置来决定其行为方式。解析此数据是任何威胁搜寻器或检测工程师的一项基本技能

恶意软件配置分析允许您关联入侵、跟踪活动、丰富威胁搜寻、改进事件响应以及编写更好的检测规则。由于其技术要求,这是一项经常被忽视的技能,但使用恶意软件配置解析工具,您可以将这种改变游戏规则的肛门技能添加到您的武器库中。

本文将向您展示如何操作。您将了解为什么恶意软件配置解析对防御者至关重要、可用的不同解析选项以及您将面临的挑战。你还将看到有关如何分析 PowerShell 恶意软件的实际示例。让我们开始吧!

155

恶意软件配置简要指南

每年大约有 55 亿次恶意软件(恶意软件)攻击。它用于获得初始访问权限、在网络中移动、自动利用漏洞、勒索受害者和泄露数据。恶意软件可自动执行操作员的操作,使其更高效、可扩展且更不容易出错。

但是,为了有效,恶意软件需要满足特定的用户需求。它需要能够将数据泄露到某个网络地址,在某个位置安装持久化机制,或者只针对某些受害者。恶意软件作者必须允许用户微调他们销售的商品恶意软件,这就是恶意软件配置的用武之地。

与任何其他软件一样,恶意软件可以使用参数、设置或一组规则配置为以某种方式运行、运行或交互。一旦恶意软件感染了系统,您可以指示恶意软件在特定时间与特定端口上的特定 IP 地址进行通信,而无需构建自己的自定义恶意软件(资源密集型过程)。

以下是威胁参与者配置他们使用的恶意软件的一些主要原因:

  • 适应不断变化的环境,逃避检测,或更新其功能以响应安全措施。这甚至可以通过多态恶意软件动态完成,这些恶意软件会随着时间的推移或响应环境变量而改变其行为。
  • 根据恶意软件的用例、基础架构和目标定制恶意软件。 例如,更改通信设置、调整有效负载传递机制或添加持久性机制。
  • 添加加密和混淆以阻碍分析。攻击者通常会使用自己的加密密钥配置恶意软件,以保护它或它正在泄露的数据免受检测和分析。
  • 晦涩难懂的国际石油公司。可以创建检测规则来获取默认恶意软件配置(例如互斥锁),以便攻击者调整默认设置以逃避检测。

您可能想知道为什么威胁行为者不只是编写自己的恶意软件。编写可以逃避现代安全控制的自定义恶意软件是一个耗时且依赖于技能的过程。大多数威胁行为者选择从联盟计划中购买恶意软件即服务 (MaaS)。

为什么要解析恶意软件配置?

那么,为什么要解析恶意软件中的配置数据呢?简单。为了更好地理解它并更好地理解威胁参与者。

解析恶意软件中的嵌入式配置详细信息对于快速了解其行为和解释威胁参与者的目标起着至关重要的作用。这些详细信息使防御者能够搜寻威胁、构建检测并将类似的入侵分组到活动中,以深入了解对手的能力、意图和未来行动。

即使是像更改默认安装文件夹或持久性机制这样简单的事情,也可以告诉您有关对手的一些信息,为您提供一些可以搜寻的东西,并允许您关联入侵。

下面是可以从恶意软件配置数据中提取的一些信息示例。您可以使用此数据通过指标生命周期进行搜寻、编写检测规则或丰富您的情报。您选择的行动方案 (CoA) 将取决于您的情报要求、工具、日志记录功能和信息类型。例如,搜寻 IP 地址或哈希等原子指标比围绕它们构建检测规则要好。

  • 注册表值和项: 这些是 Microsoft Windows 注册表的组件,该注册表是一个分层数据库,用于存储操作系统和已安装应用程序的配置设置和选项。恶意软件将在此数据库中安装持久性机制。提取此数据有助于指导事件响应或威胁搜寻工作。
  • 域、IP 地址、网络端口和用户代理: 恶意软件通常会与攻击者进行通信,并将网络信息编码到其中。提取此数据可以帮助您在环境中查找要阻止或搜寻的其他 IOC。
  • 文件名和文件路径: 恶意软件通常分阶段部署。初始阶段(dropper/loader)将下载其他组件以提供额外的功能和能力。恶意软件会将这些附加组件存储在受害者文件系统上的某个地方。从恶意软件配置详细信息中提取文件名和文件路径可以帮助您找到这些安装位置。
  • 版本号: 恶意软件变体通常会进行迭代,作者会添加或改进其功能,就像传统的软件开发一样。这意味着示例通常包含版本号,可以根据其他示例或威胁情报进行解析和分析,从而推断恶意软件的功能或 IOC。
  • 执行的命令: 恶意软件可以配置为在感染计算机后执行特定命令。从恶意软件配置数据中提取这些命令(或其片段)可以识别其他恶意行为,甚至是恶意软件的意图。
  • 版本号: 合法软件使用互斥对象作为锁定机制,以防止多个线程访问同一资源。恶意软件作者出于同样的原因使用互斥锁。这会在恶意软件样本中创建标识符,您可以提取这些标识符来识别恶意软件系列或变体。

分析恶意软件配置的主要优势

以下是 pasing malware config data 可以为您提供的一些关键优势:

  • 关联入侵并帮助跟踪活动:恶意软件的配置可用于将单独的入侵关联到总体活动中。通过对入侵活动进行分类,防御者可以识别与该活动相关的其他行为、IOC 或目标。
  • 丰富威胁搜寻:配置数据可用于根据恶意软件指标或行为生成威胁搜寻假设。这可以指导威胁猎人发现潜伏在其环境中未被发现的恶意软件,或丰富现有的威胁搜寻。
  • 改进事件响应:恶意软件配置数据通常包含关键指标 (IOC)。这些可以帮助事件响应了解在受感染的系统上查找什么,删除持久性机制,并确定数据何时被泄露。
  • 更好的检测工程1:通过恶意软件的配置数据分析恶意软件的行为,您可以构建更可靠的检测,重点关注行为模式和功能,而不是原子指标。

现在您知道了原因,让我们看看如何通过探索使我们能够有效解析恶意软件的工具。

使用恶意软件配置分析程序

解析恶意软件很困难。您必须知道如何深入研究二进制文件并执行逆向工程以提取所有嵌入式配置数据。这需要专业知识,掌握复杂的工具,并且非常耗时。对于我们中的许多人来说,更好的选择是使用恶意软件解析器并自动执行该过程。

恶意软件配置分析器是旨在自动提取、解释和分析恶意软件中嵌入的配置设置的工具。无需花时间煞费苦心地剖析恶意软件来发现配置细节。只需找到(或构建)一个解析器来匹配您正在调查的恶意软件,运行该工具,并享受它揭示的配置细节。

常见特性和功能

恶意软件配置分析器具有多个共同的特性和功能。在寻找要使用的产品或构建自己的产品时,请考虑这些因素。

  • 配置和 IOC 提取:所有恶意软件分析程序都旨在提取相关的配置设置和 IOC,包括网络通信数据、文件名和哈希、加密密钥等。
  • 解密和反混淆:许多解析器可以动态解密或反混淆隐藏的配置详细信息,尤其是那些动态分析恶意软件的解析器。
  • 适应性:一些恶意软件配置解析器可以适应不同的恶意软件系列或变体,而其他恶意软件则专门设计用于从一种类型的恶意软件甚至仅一种变体中提取配置设置。
  • 行为分析:恶意软件配置分析器可以内置到更大的恶意软件分析工具(如沙盒环境)中。这些工具可以在执行后自动对恶意软件进行动态分析,并根据其行为提供有关其配置的详细信息。
  • 与其他工具集成:为了帮助简化调查,如果分析程序与其他工具集成,则会很有用。这可以通过与 SIEM 解决方案和威胁情报平台 (TIP) 的内置集成来实现,或者如果该工具支持 API 和脚本语言(如 Python)则自定义集成。
  • 自动化和可伸缩性:如果您计划分析大量恶意软件,那么找到支持批量和自动分析的工具非常有用。许多多合一恶意软件分析解决方案都支持此功能,但需要付费。
  • 可视化和报告:一些恶意软件配置分析器包括可视化和报告功能,可帮助你有效地了解其发现。这是一个很好的功能,但对于调查目的不是必需的。

恶意软件配置分析程序可能不支持所有这些功能。这并不能使它成为一个糟糕的工具。例如,一个分析器可能擅长创建可视化报告,并能够分析来自各种恶意软件的配置数据。而另一个可能非常擅长解析一种特定类型的恶意软件。构建一组恶意软件配置分析程序以根据具体情况使用非常有用。

商用与自定义解析器

您可以从两种类型的恶意软件配置分析器中进行选择:现成的商品分析器或您自己构建的自定义分析器。

恶意软件配置解析器-DC3-MWCP

商用解析器

刚开始解析恶意软件配置时,尝试商用解析器很有用。这些工具通常不需要您对系统编程或恶意软件分析有深入的了解。相反,它们是傻瓜式解决方案,只需要上传恶意软件示例或运行命令行工具。

许多流行的恶意软件分析工具(如 any.run、Intzer Analyze 和 VMRay)都包含恶意软件配置解析器作为其多合一软件包的一部分。还有其他开源解决方案,如 MalCfgParser,它可以暴力破解恶意软件配置详细信息,并可以使用 YARA 和恶意软件配置结构进行扩展。

自定义解析器

如果商品解析器不能满足需求,则需要构建自己的自定义解析器。您可以手动执行此操作,通过恶意软件二进制文件,选择配置设置,然后在 Ghidra、IDA Pro 或 Binary Ninja 等逆向工程套件中编写工具以为您执行此操作。但是有一种更简单的方法。

美国国防部 (DoD) 网络犯罪中心创建了一个名为 DC3 恶意软件配置解析器 (DC3-MWCP) 的项目。此用于分析恶意软件配置信息的框架旨在简化构建和共享恶意软件分析程序。这是一个很棒的项目,支持对单个恶意软件样本进行单独分析和对许多样本进行大规模自动分析。我强烈建议在构建自定义解析器时从这里开始。

该框架还附带了许多内置的恶意软件配置解析器,稍后您将在操作中看到这些解析器。

解析恶意软件配置的挑战

在这一点上,您可能认识到恶意软件解析器的价值,并且正在热衷于研究您可以使用的工具,甚至考虑构建自己的工具!不幸的是,解析恶意软件配置数据并非没有挑战。以下是您会遇到的一些。

恶意软件配置解析器-DC3-MWCP

反分析技术

恶意软件作者不希望分析师四处寻找他们的恶意软件并为其编写检测结果。他们将使用各种反分析技术来防止这种情况,包括加密、混淆、沙盒/调试器检测、执行延迟、打包等。这使得解析恶意软件配置数据变得困难,通常需要自定义工具来提取每个恶意软件系列或变体的数据。

数量和种类

恶意软件的数量和种类繁多,因此很难构建一个恶意软件配置解析器来处理所有事情。每个恶意软件系列或变种都具有独特的特征,针对不同的操作系统,并使用不同的反分析技术。创建一个能够适应所有这些多样性的工具是非常困难的,如果不是不可能的话。这就是为什么您会看到专为特定恶意软件设计的恶意软件配置分析程序的原因。

此问题的解决方案是使用沙盒环境来执行恶意软件并分析其行为以推断其配置设置。但是,恶意软件作者会尝试使用反沙盒技术来规避这一点。恶意软件分析师和作者之间正在进行一场战斗,以绕过反分析技术并实施新的技术。

资源限制

分析恶意软件配置设置可能非常容易,也可能非常困难。通常没有中间地带。如果存在您正在分析的恶意软件示例的现有恶意软件解析器,则您的工作很容易;只需针对样品运行该工具即可。

另一方面,如果示例不存在恶意软件分析程序,则需要做更多的工作。您必须自己分析或逆向工程样本以提取数据,然后编写一个工具来自动执行您的操作。这是一个资源密集型过程,通常您没有时间或技能来执行此操作。

理想情况下,您的团队中将有一名恶意软件分析师或逆向工程师,他们可以为您执行此操作。但即便如此,这也可能无法在令人满意的时间范围内完成,具体取决于恶意软件的复杂程度。

案例研究:DC3-MWCP

足够的理论。让我们看看恶意软件配置解析器的实际应用!在本案例研究中,我们将使用 DC3-MWCP 项目的默认 PowerShell 分析器来调查我们在系统上发现的可疑 PowerShell 脚本。我们的目标是提供有价值的见解,以帮助我们的安全运营团队。

安装

首先,您首先需要安装 DC3-MWCP 工具。您可以使用 Python 的 PIP 包管理器直接安装该工具,命令为 .或者,您可以克隆项目的 GitHub 存储库,然后使用 PIP。有关如何安装 Python click 的详细信息,请点击此处。pip install mwcp

# option 1
pip install mwcp

# option 2
git clone https://github.com/Defense-Cyber-Crime-Center/DC3-MWCP.git
pip install ./DC3-MWCP

恶意软件配置解析器-DC3-MWCP

现在你可以进入有趣的部分了!

用法

DC3-MWCP 预打包了多个您可以使用的解析器。要查看可用的内容,请通过执行 运行 DC3-MWCP 命令行工具。这将列出可用的已加载解析器。mwcp list

恶意软件配置解析器-DC3-MWCP

在这里,您可以看到 11 个恶意软件解析器开箱即用。您可以在这些名称下添加自己的解析器,方法是在其描述中预先挂起。dc3

SuperMalware:
    description: SuperMalware component
    author: acme
    parsers:
      - dc3:Archive.Zip
      - .Dropper
      - .Implant
      - dc3:Decoy

如果上述命令未按预期工作,则可能需要将本地二进制目录添加到系统变量中。$HOME/.local/bin$PATH

要查看 DC3-MWCP 命令行工具还可以执行哪些操作,请执行命令 。这将打开帮助手册。mwcp --help

恶意软件配置解析器-DC3-MWCP

让我们试试这个选项。这样,我们就可以针对恶意软件示例运行任何可用的分析程序,以提取配置设置。在我们的调查中,你遇到了一些需要调查的 PowerShell 恶意软件。此恶意软件已重命名为,可以使用以下命令进行分析:parsesample1.ps1

mwcp parse PowerShell sample1.ps1
恶意软件配置解析器-DC3-MWCP

在这里,您使用默认解析器。您可以看到它从示例中提取了 URL、协议和域名。这些选项将由恶意软件用户设置为配置选项。提取它们有助于我们的调查。PowerShell

分析配置详细信息

提取配置设置后,您可以继续分析它们。此时,您有一些网络指标可供搜寻或透视。若要搜寻这些指标,请跳转到组织的 SIEM 或 EDR 工具并运行威胁搜寻查询。例如,上周还有哪些其他系统与该域进行了通信?

如果您选择使用指标生命周期来透视此数据点,则可以使用 VirusTotal 等工具查找要调查的其他相关数据点。在 VirusTotal 中搜索会发现它可能是一个恶意域。webhook.site

恶意软件配置解析器-DC3-MWCP

该域还出现在多个威胁情报报告中。

恶意软件配置解析器-DC3-MWCP

报告表明,攻击者经常滥用该域,因为它很短,不显眼,并且混入合法的网络流量中。此恶意软件示例可能属于最新的威胁情报报告,但需要进一步调查以确认这一点。开始执行此操作的一个好地方是 VirusTotal 中的“关系”选项卡。它提供了您可以在环境中查找的其他指标。

恶意软件配置解析器-DC3-MWCP

现在,您可以根据其配置数据编写一份工作智能报告,说明您发现的有关此恶意软件示例的内容。一个很好的工具是 CTI Blueprints,这是 MITRE 的一个项目,它使情报报告变得容易。

结论

今天看到的大多数恶意软件都是网络犯罪分子出售的商品 MaaS。威胁行为者购买此恶意软件并针对其攻击进行配置。通过提取此配置数据,您可以成为丰富威胁情报、指导威胁搜寻和构建更好检测的重要技能。

但是,分析恶意软件配置信息很困难。这是时间密集型的,需要大量的技术技能。一个更简单的选择是使用恶意软件配置解析器,如 DC3-MWCP。该工具允许您使用内置的解析器或使用其框架构建自己的解析器。本文中的案例研究展示了此工具的一些功能,但我强烈建议进一步探索此工具,并将其集成到威胁情报、威胁搜寻和检测工程流程中。

不要只跟踪恶意软件。跟踪恶意软件配置数据,以更准确地描绘对手的情况!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月17日01:12:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意软件配置解析器-DC3-MWCPhttp://cn-sec.com/archives/2497937.html

发表评论

匿名网友 填写信息