恶意Python库混入PyPI,一年后被发现会窃取SSH和GPG密钥

iso60001  1845天前

近日,Python安全团队从PyPI(Python 的官方第三方软件存储库)中删除了两个存在木马后门的Python库,这些库被发现从被感染这些库的开发人员的项目中窃取SSH和GPG密钥。

如下:

第一个植入了木马的库名是

python3-dateutil

它模仿了流行的python dateutil 库,在名称前面假装是python3版本混入Pypi中。

https://pypi.org/project/python-dateutil/


22.jpg

第二个是“ jeIlyfish ”(第一个L字母的小写I),它模仿“jellyfish ”库。

https://pypi.org/project/jellyfish/


33.jpg

要不是黑鸟带着老花眼镜,压根看不出区别,显然这对于年数较大眼神不好的程序员简直是大杀器。

当然最重要的是他还有官方背书。


而这个作者名叫Olgierd,账号叫Olgired2017,在jeIlyfish发布当天注册,并且在未被人发现一年后,再创建了一个,恐怕是偷密钥high的不行了,然而也估计是这一搞,那些知道dateutil没有python3这个版本可能是用的比较多,德国软件开发者Lukas Martini在12月1日星期日一分析,马上就举报了。


44.jpg

根据安全研究人员所说,恶意代码仅存在于jeIlyfish库中。


55.jpg

而python3-dateutil软件包不包含自己的恶意代码,但确实导入了jeIlyfish库,这意味着它通过调用是可以触发恶意行为的。


藏在正常代码中混淆前的恶意代码


66.jpg

去混淆ba se64+zlib后


77.jpg

可见其会去打开短链接

http://bitly.com/25VZxUbmkr

也就是下面这个链接,其中代码下载并读取了他存储在GitLab存储库中的哈希列表。

https://gitlab.com/olgired2017/aeg_wandoo_dag_m3/raw/master/hashsum


然后通过读取那些Hash列表将其解码为Python文件并执行。

如下图所示,其试图从用户计算机中窃取SSH和GPG密钥,并将它们发送到以下IP地址:

http://68.183.212.246:32258


88.jpg

上面代码结构很清晰,就不过多描述功能了。

总的来说,最近学Python的人越来越多,连小学生都开始用起来了,而安全风险也就随之而来,务必在日常编程安装Python库的时候擦亮眼睛,注意大小写,甚至自行进行代码审计,防止中招带来毁灭性的损失。


◆来源:黑鸟

◆本文版权归原作者所有,如有侵权请联系我们及时删除

最新评论

昵称
邮箱
提交评论