PyPI 中发现六个针对 Windows 用户的恶意软件包

199 阅读10分钟

2023 年 3 月,研究人员在 PyPI 上发现了 6 个旨在窃取 Windows 用户的应用程序凭据、个人隐私数据与加密钱包信息。本次攻击确认是对攻击团伙 W4SP 的模仿,该组织之前曾利用恶意软件包发起过多次供应链攻击。

PyPI 中发现新的恶意软件包

研究人员发现的 6 个恶意软件包,都缺少与之关联的 GitHub 存储库。合法软件包通常都会有与之关联的存储库,而恶意软件包为了隐藏代码则通常不会关联。执行后,恶意软件包会收集敏感数据并将其发送到第三方 URL。

软件包的开发者是新创建的,只上传了一个软件包,而且没有提供任何其他信息,这通常很难说明是有信誉的开发者。这些软件包的开发者用户名都是相同的模式(如 Anne1337、Richard1337 等),每个账户都只上传了一个软件包。

后续的攻击与之前披露的 W4SP 攻击团伙类似,该组织专门利用开源生态系统中的漏洞进行攻击。不仅利用未授权访问窃取敏感信息,也利用自动化工具发起漏洞利用攻击。

发现

上传软件包的用户账户都是在上传软件包不久前才创建的,没有创建其他任何软件包。这些软件包被下载了数百次,目前 PyPI 官方已经删除对应的账户。

image.png-155.7kB开发者页面

这些账户都会使用 1337 作为后缀,这说明攻击者可能是利用自动化方式创建这些用户。

包名开发者恶意链接下载量
ligitgaysAnne1337hxxps://paste.bingner[.]com/paste/o27gb/raw191
xboxredeemerRichard1337hxps://paste.bingner[.]com/paste/47rpu/raw160
syntax-initDebbie1337hxxps://paste.bingner[.]com/paste/q77t3/raw140
xboxlivepyChristopher1337hxxps://paste.bingner[.]com/paste/jr7ow/raw153
LigitkidssSara1337hxxps://paste.bingner[.]com/paste/9mzzs/raw158
tls-pythonKevin1337hxxps://paste.bingner[.]com/paste/97vnn/raw240

自定义包入口点

攻击与此前披露的 W4SP 攻击团伙类似,根据相似之处,分析人员判断这是一次模仿攻击。

本次攻击并没有 W4SP 那么复杂,例如:

  • 攻击不针对任何特定组织
  • 没有创建拼写错误的流行软件包对应的恶意软件包
  • 后续攻击未加密,检测并不困难
  • W4SP 先前攻击的大部分代码都可以下载,可以重新利用

这些软件包没有包含明显的恶意代码,而是经过精心设计,具有在安装或执行过程中触发的特定入口点。结合免费文件托管服务与自定义入口点,使得检测与发现此类威胁变得更有挑战。

尽管攻击较简单,但可能会非常有效。攻击代码植入在安装文件中,意味着攻击在软件包安装过程中就已经开始了。

攻击者自称 @EVIL$ STEALER,并且变换了很多名称:

  • ANGEL Stealer
  • Celestial Stealer
  • Fade Stealer
  • Leaf $tealer
  • PURE Stealer
  • Satan Stealer
  • @skid Stealer

恶意代码

所有软件包中的 setup.py 都是相同的,包含以下代码片段,通过远程 URL 下载数据。

image.png-204.6kBsetup.py 恶意代码

攻击者首先使用 _ffile 对象创建临时文件,并且使用 write 写入文件内容。众所周知,使用 NamedTemporaryFile 写入临时文件可以隐藏恶意代码,不会被反病毒软件或者其他安全软件检测到。

该文件的内容通过 urllib.request 中的 urlopen 函数下载而来,然后使用 exec 函数执行文件的内容。写入完成后,文件就会被管理。随后,尝试使用 start 命令执行该文件。执行成功后,调用 setup 函数创建软件包。如前所述,start 命令也是攻击者绕过安全限制最常见的方法之一。

后续阶段的 W4SP 窃密

所有恶意软件包在后续阶段中,攻击者使用了 1.1.6 版本的 W4SP Stealer。该版本与此前的版本类似,使用各种技术来提取、解密浏览器凭据(密码与 Cookie),并将这些数据回传到 Discord webhook。

恶意代码定义了一个 DATA_BLOB 类,用于存储 CryptUnprotectData 函数的数据。此函数可以解密受 Windows 数据保护 API(DPAPI)保护的数据,例如密码与 API 密钥等敏感数据。代码尝试使用 CryptUnprotectData 和 DecryptValue 函数进行解密,后续通过 Discord Webhook 回传到 C&C 服务器。

image.png-316.7kB解密 DPAPI 的数据

下图为部分恶意代码,攻击者试图收集有关受害者的信息,包括 IP 地址、用户名、国家/地区代码。

image.png-156.5kB检索受害者相关信息

攻击者与 Discord API 交互检索用户的好友列表,并且收集用户拥有的徽章信息。

image.png-190.2kB检索 Discord 好友列表

随后,使用预先准备好的 Discord Webhook,尝试通过 HTTP 请求将受害者信息回传。

image.png-43.4kBDiscord Webhook

最后,攻击者将会验证受害者的机器是否值得攻击。如果确认机器合适,则会将 DETECTED 变量设置为 True,并将受害者信息回传到服务器。

image.png-73.3kB检索 Cookie

PyPI 作为恶意软件包的目标

PyPI 是一个被广泛使用的存储库,其上托管着数量惊人的 Python 软件包。但与此同时,攻击者也将目光对准了 PyPI,利用其庞大的用户群来传播恶意软件。

PyPI 去中心化的特性使得检测这些恶意软件包变得非常艰难,但一旦成为这些恶意软件包的受害者可能会带来巨大的损失。

2023 年 5 月 20 日,PyPI 宣布由于平台上的恶意攻击、恶意用户不断增加,暂时停止了新软件包的注册与上传。

结论

开源软件的兴起以及包管理器的普及,使得攻击者比以往任何时刻都想要把恶意软件包放入整个系统中。恶意软件包带来的威胁日益严重,攻击者将恶意软件包伪装成合法软件,进行数据窃密、网络控制等。

软件开发人员必须在开发过程中就考虑到软件安全问题,通过代码审查、自动化测试与渗透测试等方式,在部署前发现问题。

除技术手段外,提高软件安全意识与用户教育水平也有助于降低恶意软件包带来的风险。为开发人员与最终用户进行定期培训,有助于阻止攻击。总之,需要各方的集体努力才能确保恶意软件包不会对网络安全造成损害。

IOC

hxxps://paste.bingner[.]com/paste/o27gb/raw
hxps://paste.bingner[.]com/paste/47rpu/raw
hxxps://paste.bingner[.]com/paste/q77t3/raw
hxxps://paste.bingner[.]com/paste/jr7ow/raw
hxxps://paste.bingner[.]com/paste/9mzzs/raw
hxxps://paste.bingner[.]com/paste/97vnn/raw

参考来源

Unit42

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

2023届全国高校毕业生预计达到1158万人,就业形势严峻;

国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。 image-20230809162658551转存失败,建议直接上传图片文件

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

img

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。 img

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。