攻击技术研判|一种在行末隐藏有效载荷的新供应链攻击技术
2022-11-21 18:3:15 Author: M01N Team(查看原文) 阅读量:17 收藏

情报背景

近期,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

01 攻击技术分析

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

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

在setup.py中安装原本的typesutil库

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

恶意代码植入

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

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

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

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

恶意载荷数据隐藏于行末

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

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

02 总结

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

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

绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。

研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。

M01N Team公众号

聚焦高级攻防对抗热点技术

绿盟科技蓝军技术研究战队

官方攻防交流群

网络安全一手资讯

攻防技术答疑解惑

扫码加好友即可拉群

往期推荐

攻击技术研判 | 利用WIFI对抗虚拟机分析

攻击技术研判|使用cdb.exe规避主机安全防御

攻击技术研判 | 典型BYOVD利用与Ring0防御削弱技术研判


文章来源: http://mp.weixin.qq.com/s?__biz=MzkyMTI0NjA3OA==&mid=2247490196&idx=1&sn=a5d977f69b082c3a17804e263ffb0a46&chksm=c187da85f6f0539349a3e6bd0ce4c3f454bfa89e25d2352992f7766422e3f257b28f8abe5337#rd
如有侵权请联系:admin#unsafe.sh