• 一种在行末隐藏有效载荷的新供应链攻击技术研判


    近期,Phylum检测到数十个新发布的Pypi软件包执行供应链攻击,在这些软件包中,通过隐藏的__import__将窃取程序投递到开发人员的机器上。攻击者利用代码审核者所使用IDE默认的不换行代码显示设置隐藏自身的行为与载荷,本文将就其中出现的供应链攻击技术及其演进进行分析。

    组织名称:未知

    相关工具:W4SP

    战术标签:初始访问

    技术标签:开源代码仓库 源代码投毒

    情报来源:https://blog.phylum.io/phylum-discovers-dozens-more-pypi-packages-attempting-to-deliver-w4sp-stealer-in-ongoing-supply-chain-attack

    一、攻击技术分析

    亮点:巧妙隐藏于在代码行末的载荷

    1.攻击者在setup.py文件中通过命令执行安装原版的库。

    2.攻击者将本应写在requirements.txt中的依赖库在代码中直接使用命令进行安装,将自身隐藏在正版库身后。在这段代码的末尾,攻击者植入了恶意代码片段。

    3.攻击者用分号将恶意代码片段串联成一行放于行末,展开如下:

    4.被植入的代码在安装脚本中从远端拉取Python脚本,并利用pythonw.exe执行,以实现在不打开控制台窗口的前提下,静默执行恶意代码。

    5.可能是由于基于URL的检测技术的应用,攻击者改进了攻击方式。在改进后的版本中,攻击者将有效载荷的数据直接存放在代码文件中。利用IDE一般以不换行格式查看的特点,将有效载荷藏匿于正常代码中。

    6.攻击者声称代码被Hyperion混淆,实际上代码文件已经被植入了有效载荷。

    7.攻击者利用分号将恶意代码隐藏在合法代码的行末。有效载荷被分装为14个压缩字节对象,这些对象通过后续的调用,解压后以某种指定的顺序保存为文件,最终完成W4SP窃取程序的组装与落地。

    在先前的供应链攻击中,攻击者往往通过在代码文件中植入载荷下载代码等完成攻击。但在本次事件中,攻击者通过将有效载荷分段隐藏在行末,并利用代码进行组装落地。一方面,由于IDE的特性,这种形式的代码不容易被发现;另一方面,通过执行代码拉取远端植入了载荷的代码,在本地执行时组装落地,降低了被检测的几率。 

    二、小结

    引入开源组件降低开发成本已是当前主流的开发方式,但开源社区的开放性与有限的维护资源,导致恶意代码注入的攻击可被实施,用于突破企业防御边界。供应链攻击近年来热度居高不下,对供应链代码的安全检验也逐渐受到重视。

    在现网攻击中,在供应链上的利用也逐渐增多。PyPI、npm等常用开源软件生态系统作为供应链攻击的高发区,在使用时要格外注意代码安全性。在本次事件中,攻击者利用代码文件不换行执行的特点,将恶意载荷隐藏在代码行末,不易被发现。若未及时发现,将导致使用该开源代码库的下游软件都被植入恶意载荷,这对于供应链代码安全审计与检测提出了更高的要求。

    传统的SCA检测工具针对软件供应链的安全防护略显乏力,但UniSCA作为一款专业的软件供应链安全管理平台,可以有效监测在供应链上的0day漏洞,第一时间做出有效防御。

  • 相关阅读:
    【c++刷题Day2】专题3栈与队列&单调栈与单调队列
    react使用Material UI实现类似淘宝tab居中切换效果
    Cannot find proj.db
    电脑显示屏哪些材料需要做防火测试?做哪些测试?
    PHD滤波器及其变体的本质
    MyBatis 核心配置讲解(上)
    遥感原理与应用:绪论基础知识
    Java后端开发工程师学习笔记【狂神说Java笔记】
    leetcode 34. 在排序数组中查找元素的第一个和最后一个位置(二分经典题)
    如何在three.js中画3D圆弧及半圆弧组成圆
  • 原文地址:https://blog.csdn.net/qzt961003/article/details/127976525