社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

成千上万的GitHub代码库分发含有恶意软件的虚假PoC漏洞利用代码

黑白之道 • 1 年前 • 196 次点击  

莱顿高级计算机科学研究所的研究人员近日在GitHub上发现了成千上万个代码库提供针对多个漏洞的虚假概念证明(PoC)漏洞利用代码(exploit),其中一些含有恶意软件。

GitHub是全球最大的代码托管平台之一,众多研究人员使用它发布PoC漏洞利用代码,以帮助安全行业验证漏洞修复程序,或者确定漏洞的影响和范围。

据莱顿高级计算机科学研究所的研究人员撰写的技术文章显示,感染上恶意软件而不是获得PoC的可能性也许高达10.3%,这不包括已证实的虚假漏洞利用代码和恶作剧软件。

数据收集和分析

研究人员使用以下三种机制分析了47300多个代码库,这些代码库发布了针对2017年至2021年期间披露的一个漏洞的漏洞利用代码:

IP地址分析:将PoC的发布者IP与公共黑名单、VT和AbuseIPDB进行比对。

二进制文件分析:对提供的可执行程序及其散列运行VirusTotal检查。

十六进制文件和Base64分析:在执行二进制文件和IP检查之前解码经过混淆处理的文件。

图1. 数据分析方法(来源:Arxiv.org)

在提取的150734个独特IP中,有2864个IP与黑名单条目匹配,在Virus Total上的反病毒扫描中检测到1522个IP是恶意IP,其中1069个IP存在于AbuseeIPDB数据库中。

图2. 各个黑名单上找到的IP地址(来源:Arxiv.org)

二进制文件分析检查了一组6160个可执行程序,显示总共2164个恶意样本驻留在1398个代码库中。

在测试的47313个代码库中,共有4893个代码库被认为是恶意的,其中大多数涉及来自2020年的漏洞。

图3. 每年的恶意代码库(来源:Arxiv.org)

这份报告中包含的一小组代码库含有分发恶意软件的虚假PoC。然而,研究人员向BleepingComputer表明了至少另外60个代码库依然存在,目前正在被GitHub撤下的过程中。

PoC中的恶意软件

通过进一步研究其中一些代码库,研究人员发现了大量不同的恶意软件和有害脚本,从远程访问木马到Cobalt Strike,不一而足。

一个值得关注的例子是CVE-2019-0708(通常名为“BlueKeep”)的PoC,它含有一个用base64模糊处理的Python脚本,该脚本可以从Pastebin获取VBScript。

该脚本其实是Houdini RAT,这个基于JavaScript的旧木马支持通过Windows CMD远程执行命令。

图4. 模糊处理的脚本和去模糊处理的Houdini

在另一种情况下,研究人员发现了一个虚假的PoC,这其实是信息窃取工具,收集系统信息、IP地址和用户代理。

这是另一名研究人员之前进行的一个安全实验,所以研究人员用自动化工具发现它,以确认他们的方法是有效的。

图5. 虚假PoC泄密示例(来源:Arxiv.org)

其中一名研究人员El Yadmani Soufian还是Darktrac的安全研究人员,他好心地为BleepingComputer提供了技术报告中未包含的其他示例,如下所示:

含有用base64编码的二进制代码的PowerShell PoC在Virus Total中被标记为是恶意的。

图6. 虚假PowerShell PoC

Python PoC含有一行代码,用于解码用base64编码的攻击载荷,该攻击载荷在Virus Total上被标记为是恶意的。

图7. 恶意的一行代码攻击载荷冒充PoC

虚假的BlueKeep漏洞利用代码含有一个可执行程序,该程序被大多数反病毒引擎标记为是恶意的,并被识别为是Cobalt Strike。

图8. Cobalt Strike通过虚假PoC来投放

图9. 无害但虚假的PoC

如何保持安全?

盲目信任GitHub上来源未经验证的代码库是个坏主意,因为内容没有经过审核,所以用户在使用之前需要审核它。

建议软件测试人员仔细检查他们下载的PoC,并在执行它们之前运行尽可能多的检查。

Soufian认为,所有测试人员都应该遵循以下三个步骤:

1. 仔细阅读将要在贵公司的网络或客户的网络上运行的代码。

2. 如果代码太过模糊,需要大量的时间来手动分析,不妨将它放在沙盒环境(比如隔离的虚拟机)中,检查网络中的任何可疑流量。

3. 使用像VirusTotal这样的开源情报工具来分析二进制文件。

研究人员已经向GitHub报告了他们发现的所有恶意代码库,但需要一段时间才能审查和删除所有恶意代码库,因此仍有许多恶意代码库对公众开放。

正如Soufian所解释,他们的研究目的不仅仅是作为GitHub上的一次性清理行动,而是以此为契机,开发一种自动解决方案,可以用来标记上传代码中的恶意指令。

这是该团队研究的第一个版本,他们正在努力改进其探测工具。目前,这款检测工具遗漏了迷惑性较强的代码。

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

文章来源:嘶吼专业版


黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END

多一个点在看多一条小鱼干

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/148832
 
196 次点击