Ruby包管理器被爆存在725个带后门的库


脚本类语言的第三方库由于支持用户上传,这也就导致了和第三方应用市场一样的悲剧:容易混入恶意软件。

此前的Python的PyPi库就曾经混入了恶意Python库。

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

而近日,Ruby 的包管理器RubyGems再次被曝在725个Ruby库中发现剪贴板劫持恶意软件,该类恶意软件通常是一直在电脑运行并监控受害者的剪贴板内容,一旦监控到银行卡号或者比特币地址,就会将其替换成攻击者自身的地址,从而试图让受害者一不小心成为送财童子。

RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。该存储库包含大约15.8万个软件包(称为gems),总下载量接近490亿。一般而言,gem文件是Tape ARchive(TAR),其基本结构如下:

reversing实验室为了找到这些库中是否有恶意代码,因此将20,830个gem文件全部解包,其中12,720个是独立不重复的。结果发现里面存在部分PE文件,即可执行文件。

通过筛选这些PE文件,发现都包含相同文件名"aaa.png" 的可执行文件,位于每个gem的相同路径中:“ /ext/trellislike/unflaming/waffling/ ”

这些gem都来自两个不同的账户JimCarrey和PeterGibbons

其中名为atlas-client (地图)的恶意库被大量下载,此恶意gem的下载量为2100次,接近真正的atlas_client的总下载量的30%,可以看到,他只是把下划线改成了横线。

该恶意库的除去正常的功能外,隐蔽功能便是将上面提到的aaa.png重命名为a.exe,然后执行。

a.exe实际上也是一个ruby编写的打包后的程序,主要功能便是释放并运行oh.vbs,解码之后如下所示,代码很简单,肉眼可见主要功能就是替换剪贴板的比特币地址,可以看到他的比特币地址就在代码中写着。

事件大致如此,主要是700多个量还是蛮大的,影响面也是有,但是有趣的是,目前该比特币地址分文未尽,也许安装恶意库的Ruby程序员或者用户普遍没有进行比特币交易吧。

目前官方已经被移除恶意库。

以下为恶意库列表,Ruby程序员可以进去核准是否有用过,以便及时更新程序,防止扩散。

https://blog.reversinglabs.com/hubfs/Blog/ruby_malicious_gems.txt

主要是看见好几个阿里云和支付宝为名的库,同样是一样的手法,将下划线改成了横线,然后居然过审了。所以很有可能国内也会中招。

值得注意的是,去年末,RubyGems还曾被曝光拥有18 个包含后门机制的恶意版本的 Ruby 库,启用带这些库的Ruby项目会被自动挖矿。

参考链接:

https://blog.reversinglabs.com/blog/mining-for-malicious-ruby-gems

上期阅读

黑客以50万美元价格出售Zoom的远程代码执行漏洞

点再看,动力up

原创文章 300 获赞 1 访问量 3万+

猜你喜欢

转载自blog.csdn.net/blackorbird/article/details/105608959