编译:代码卫士

荷兰莱顿大学高级计算机科学学院的研究人员发现,GitHub 上的数千个仓库为多个漏洞提供虚假的PoC 利用,其中某些PoC 中包含恶意软件。

GitHub 是最大的代码托管平台之一,研究人员通过该平台发布PoC 利用,帮助安全社区验证漏洞修复方案或者判断漏洞的影响和范围。

研究人员发布文章指出,受恶意软件感染的可能性高达10.3%,不包括已证实的虚假利用或恶作剧软件。

0数据收集和分析

研究人员使用如下三种机制,分析了2017年至2021年间,逾4.73万个声称存在漏洞利用的仓库:

  • IP 地址分析:对比PoC 发布人员的IP和公开的拦截清单和VT以及AbuseIPDB.

  • 二进制分析:在所提供的可执行文件及其哈希上运行VirusTotal 检查

  • 十六进制和Base64分析:在执行二进制和IP检查前解码混淆的文件

在所提取的150734个唯一IP中,其中2864个匹配拦截清单中的条目,1522个在Virus Total 上被检测为恶意性质,1069个出现在AbuseIPDB数据库中。

该二进制分析审计了共6160个可执行文件,并披露了托管在1398个仓库中的2164个恶意样本。在47313个所测仓库中,4893个是恶意性质,其中多数含有2020年以来的漏洞。

报告中还说明了传播恶意软件的具有虚假 PoC 的仓库。不过,研究人员表示,至少还有60个仓库仍然活跃且GitHub 正在清理。

0PoC 中的恶意软件

研究人员仔细查看其中一些案例后发现了多种不同的恶意软件和有害脚本,从远程访问木马到 Cobalt Strike 等不一而足。

其中一个有意思的案例是CVE-2019-0708的PoC。该漏洞被称为“BlueKeep”,其PoC 中包含经过base64混淆的Python 脚本,它从Pastebin中提取了VBScript。改脚本即Houdini RAT,是基于古老JavaScript 的木马,支持通过Windows CMD的远程命令执行。在另一个案例中,安全研究员发现一个虚假的PoC 实际是信息窃取工具,收集系统信息、IP地址和用户代理。它是另外一名研究员此前创建的一项安全实验,因此通过自动化工具找到它可证明这种方式奏效。

其中一名研究员 EI Yadmani Soufian 也是Darktrace 公司的一名安全研究员,他还分享了报告以外的其它样例,例如PowerShell PoC 中包含一个通过base64编码的被Virus Total 标记为恶意性质的二进制。一个Python PoC 中包含一个一行代码,解码了被Virus Total 标记为恶意的base64编码的payload。虚假的BlueKeep 利用中包含被多数反病毒引擎标记为恶意性质的可执行文件,且被识别为 Cobalt Strike。一个在虚假PoC中隐藏的脚本中包含不活跃的恶意组件,可造成破坏。

0如何确保安全

盲目地信任未认证来源的GitHub仓库将带来糟糕后果,因为内容并未经过审计,因此用户必须在使用前进行审计。

建议软件测试人员仔细审查所下载的PoC 并在执行前执行尽可能多的检查。

Soufian 认为所有测试人员均应遵循如下三个步骤:

1、仔细阅读将在自己网络或客户网络上运行的代码。

2、如果代码混淆强度大且需要花费太多时间进行手动分析,则使其位于沙箱环境中(如隔离的虚拟机)并检查网络中是否存在可疑流量。

3、使用开源情报工具如VirusTotal 分析二进制。

研究人员已将所发现的所有恶意仓库告知GitHub,不过后者需要一些时间才能审计并删除所有恶意仓库,因此很多恶意仓库仍然是公开可见的。正如Soufian 所解释的那样,他们的研究目标不仅是一次性清理恶意软件,而且也是为了开发一种自动化的解决方案,能够用于标记所上传代码中的恶意指令。

原文链接

https://www.bleepingcomputer.com/news/security/thousands-of-github-repositories-deliver-fake-poc-exploits-with-malware/

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。