【天问】5月PyPI恶意包汇总(20220501-20220531)
/ / 点击 / 阅读耗时 9 分钟2022年5月份,天问Python供应链威胁监测模块共捕捉到38个恶意包,并于发现后立马反馈PyPI官方,通知维护者将这些包删除。根据这些恶意包的行为,它们可被分为三类:恶意文件下载执行类、Typosquatting类、可疑链接访问/敏感信息回传类。
恶意文件下载执行类
| 包名 | 上传时间 | 作者 | 行为 |
|---|---|---|---|
| reverse-shell-bugbounty | 2022-05-10 | Nir Ohfeld | 包安装时创建反弹Shell |
| supplychaind2 | 2022-05-17 | zepjtpjwepn | 包安装时访问hxxps://pastebin.com/raw/74tUPCJy,执行链接内代码 |
| supplychaindemo1 | 2022-05-17 | zepjtpjwepn | 包安装时访问hxxps://pastebin.com/raw/74tUPCJy,执行链接内代码 |
| supplychaindemo | 2022-05-18 | zepjtpjwepn | 包安装时访问hxxps://pastebin.com/raw/74tUPCJy,执行链接内代码 |
| supplychaind4 | 2022-05-18 | zepjtpjwepn | 包安装时访问hxxps://pastebin.com/raw/74tUPCJy,执行链接内代码 |
| supplychaindemo2 | 2022-05-18 | zepjtpjwepn | 包安装时访问hxxps://pastebin.com/raw/74tUPCJy,执行链接内代码 |
| supplychaind5 | 2022-05-18 | zepjtpjwepn | 包安装时访问hxxps://pastebin.com/raw/74tUPCJy,执行链接内代码 |
| supplychaindemo9 | 2022-05-18 | zepjtpjwepn | 包安装时访问hxxps://pastebin.com/raw/74tUPCJy,执行链接内代码 |
| dsource | 2022-05-19 | Tinus Green | 包安装时访问covenant.thinkgreencorp.net:4449,下载可执行脚本,形成反弹Shell |
其中,作者zepjtpjwepn上传多个恶意包,均在上传约5分钟后自己手动删除,我们怀疑他是在为真正的攻击作准备,其编码后代码如下。
1 | import builtins |
在进行解码后我们得到如下结果
1 | import builtins |
其通过requests.get函数获取链接内的代码并通过getattr和exec函数执行。当我们试图访问链接时得到404报错,这更加坚信了我们对其“攻击测试”的猜测。
其代码逻辑和上传之后立马删除的特点与半年前我们发现的恶意包作者vkobnzbfdjixqkxrql上传的包相同,区别仅为半年前恶意包内访问链接为zevel.site/payload-02。详情可见【天问】PyPI恶意包汇总(20211120-20211126)中“脚本下载类”。
Typosquatting类
| 包名 | 上传时间 | 作者 | 行为 |
|---|---|---|---|
| rquests | 2022-05-28 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| reuests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| requess | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| reqquests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| requestts | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| requessts | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| requuests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| equests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| requeests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| rrequests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| reequests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
| requuests | 2022-05-31 | Orange Alice | 恶意模仿requests包,并将用户信息回传 |
包作者Orange Alice于2022年5月28日凌晨1点首次上传恶意模仿包rquests,其取用requests最新版本2.2.8并在包内定义函数get及post。用户若安装requests时不小心打错名字,则会受到此次typosquatting攻击。恶意包内代码如下。
1 | import urllib.request |
该恶意包在模块内定义了get和post两个requests内的主要函数,当用户在使用get/post时会将敏感信息回传且并不会收到报错反馈,这也给恶意包提供了更强的隐蔽性。
在我们将rquests反馈并移除后,包作者于2022年5月31日开始报复性上传typosquatting恶意包11个,这些包均在当晚被官方删除。
可疑链接访问/敏感信息回传
| 包名 | 上传时间 | 作者 | 行为 |
|---|---|---|---|
| clipboard-copy | 2022-05-17 | noob-07 | 敏感信息回传至hxxps://ca1ncditc6bga0fikdigamhy8gt7kokrm.oast.live |
| raisin-microservice | 2022-05-29 | stevieg | 敏感信息回传至hxxps://ca9l8efg4umslm0p7490ay16coqezumuk.oast.site |
| fooOne | 2022-05-18 | fakeuser | 访问链接hxxps://cex.io/api/last_price/BTC/USD |
| Fake44 | 2022-05-03 | fakeuser | 访问链接hxxps://zevel.site/wannacry |
| xorriso | 2022-05-25 | zoroo | 访问链接hxxps://c921v2m7q5k0000z3hm0gfdfhpeyyyyyg.interactred.net/xor |
| malpack-aravazhi | 2022-05-25 | zoroo | 访问链接hxxps://c921v2m7q5k0000z3hm0gfdfhpeyyyyyg.interactred.net/xor |
| sadsafgdhfgh | 2022-05-30 | zepjtpjwepn | 访问链接hxxps://zevel.site/wannacry |
| vdvfdhfjghj | 2022-05-30 | zepjtpjwepn | 访问链接hxxps://zevel.site/wannacry |
| gdfgdfg | 2022-05-30 | zepjtpjwepn | 访问链接hxxps://zevel.site/wannacry |
| gjhfrkjghdfkghfdk | 2022-05-30 | zepjtpjwepn | 访问链接hxxps://zevel.site/wannacry |
| danimal | 2022-05-18 | zepjtpjwepn | 访问链接hxxps://zevel.site/wannacry |
| strangemalwar | 2022-05-11 | zepjtpjwepn | 访问链接hxxps://zevel.site/payload-02 |
| michmal | 2022-05-09 | zepjtpjwepn | 访问链接hxxps://zevel.site/payload-02 |
| desayuno-partnerslab | 2022-05-27 | raulruix3 | 访问链接hxxps://zevel.site/wannacry |
| myruala | 2022-05-25 | ruala1 | 访问链接hxxps://zevel.site/wannacry |
| jms11 | 2022-05-09 | nehbha | 访问链接hxxps://zevel.site/payload-02 |
| ktest-haha | 2022-05-09 | ktestcx | 访问链接hxxps://zevel.site/wannacry |
与以往攻击手法不同的是,上述恶意包中大部分都不再将恶意代码放在setup.py内,即用户在安装恶意包时并不会触发。攻击者转而将恶意代码放在module的__init__.py内(类似攻击手法可见【天问】攻击者瞄准Discord,窃取银行卡信息),用户只有在import时才会访问恶意链接或者将敏感信息回传,这给这些恶意包提供了极强的持续性。
我们将继续关注PyPI生态上的恶意包情况及这些恶意包作者的动向。