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

VSole2022-10-28 10:22:04

莱顿高级计算机科学研究所的研究人员近日在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上的一次性清理行动,而是以此为契机,开发一种自动解决方案,可以用来标记上传代码中的恶意指令。

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

漏洞二进制
本作品采用《CC 协议》,转载必须注明作者和本文链接
在学习漏洞的时候,按照0Day2书中第24章第1节的内容进行学习的,这章本来是远程拒绝服务的漏洞(CVE-2009-3103),但是当我在网上搜索这个漏洞的EXP时,意外的发现了Srv2.sys模块中的另一个漏洞(CVE-2009-2532),而这个漏洞竟然可以实现远程任意代码执行,诶,这我就不困了,然后顺手两个漏洞一起分析了,把Srv2.sys模块对数据包的接收处理过程逆向了一遍,了解了其中的漏
跨平台通杀看不懂?老师傅带你读懂网络协议漏洞
说说我的建议
软件漏洞分析简述
2022-07-18 07:08:06
然后电脑坏了,借了一台win11的,凑合着用吧。第一处我们直接看一下他写的waf. 逻辑比较简单,利用正则,所有通过 GET 传参得到的参数经过verify_str函数调用inject_check_sql函数进行参数检查过滤,如果匹配黑名单,就退出。但是又有test_input函数进行限制。可以看到$web_urls会被放入数据库语句执行,由于$web_urls获取没有经过过滤函数,所以可以
漏洞复现根据官方公告,找到存在漏洞二进制文件。官方公告:先用binwalk -Me DIR815A1_FW102b06.bin命令解压固件包,再根据“漏洞描述”中的关键词service.cgi进行查找:找到了所匹配的二进制文件htdocs/cgibin,将其拖进IDA中先进行静态分析。
SMB协议可在互联网的TCP/IP协议或者互联网数据包交换和NetBEUI等协议之上使用。使用SMB协议,应用程序可访问远程服务器的文件以及打印机、信槽和命名管道等资源。RemoveLegacyFolder就是采用思路2来移除经典路径..\的,向前搜索的过程存在风险,并且对其边界检查无效,从而导致了缓冲区溢出的产生。
具体来说,HARDEN将通过破坏攻击者使用的持久的漏洞可利用模式,并剥夺攻击者的“紧急执行引擎”,来防止其对集成系统的利用。HARDEN分析和工具将破坏UEFI架构所有抽象层上EE行为的可组合性,以防御最新的威胁并预测未来的威胁。SOSA是由空军生命周期管理中心提出的,具有广泛的行业参与其中。SOSA关注的重点领域是对传感器系统的启动过程进行建模和验证,以确保系统在传感器投入运行之前的完整性。
我使用了RS485用子线接A/B后进行异步串行通信,如下图所示。?通过系统设备管理器查看是否有COM口已经接入,如果有就可以串口通信了,一般波特率可以设置在2400或者9600其中一个,校验位改成“偶校验”。以上测试完成后就可以给电表上电了,先将转接器一头接入电脑USB,然后将子线接入电表RS485 A/B口,记住:正对正负对负。)插入插座上电后就可以通过USB打开串口和电表通讯了。
一、境外厂商产品漏洞1、Google Chrome越界写入漏洞(CNVD-2021-62187)
近日,斯洛伐克网络安全公司ESET报告称发现首个能够绕过最新Windows 11安全启动保护UEFI的bootkit恶意软件——BlackLotus(黑莲花),已在地下网络黑市中销售,构成重大网络安全威胁。根据ESET的说法,该漏洞的成功利用允许在早期启动阶段执行任意代码,从而允许威胁行为者在启用UEFI安全启动的系统上执行恶意操作,而无需物理访问它。
VSole
网络安全专家