科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库

作为业内头部代码托管平台之一,莱顿高级计算机科学研究所的人员,刚刚曝光了数千个基于恶意软件的虚假概念验证(PoC)漏洞利用 。原本该平台旨在方便研究人员发布 PoC,以帮助安全社区验证漏洞修复、或确定漏洞的影响和范围 。但是最新研究发现,感染恶意软件(而不是获得 PoC)的概率,竟高达 10.3% —— 这还不包括经过验证的假冒 / 恶作剧软件 。
科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库
文章图片

【科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库】数据分析方法(图自:Arxiv.org)
研究人员使用如下三套方案,分析了 47300 多个 2017 至 2021 年间披露的漏洞利用存储库:

● IP 地址分析:将 PoC 发布者的 IP 地址与公共阻止列表、以及 VT 和 AbuseIPDB 进行比较 。
● 二进制分析:对提供的可执行文件、及其哈希值执行 VirusTotal 检查 。
● 十六进制和 Base64 分析:在执行二进制和 IP 检查之前,解码混淆文件 。
科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库
文章图片

各个阻止列表中匹配的 IP 地址数
结果发现,在提取的 150734 个唯一 IP 地址中,有 2864 个与已知的黑名单相匹配 。
其中 1522 个被 VirusTotal 反病毒扫描中被标记为恶意,且有 1069 个被 AbuselPDB 数据库所收录 。
科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库
文章图片

年度恶意存储库数量
其次二进制分析检查了一组 6160 个可执行文件,并揭示了托管在 1398 个存储库中的总计 2164 个恶意样本 。
在 47313 个被测试的存储库中,有 4893 个被标记为恶意 —— 其中大多数与 2020 年以来的漏洞有关,且报告中包含了一小组隐含恶意软件(虚假 PoC)的存储库 。
另外研究人员向 BleepingComputer 分享了至少 60 个其它示例,这些恶意内容仍在存在、且正在被 GitHub 清除 。
科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库
文章图片

混淆脚本和去混淆 Houdini
通过仔细研究其中一些案例,研究人员发现了大量不同的恶意软件和有害脚本,比如远程访问木马和 Cobalt Strike。
以 CVE-2019-0708(又称 BlueKeep)概念验证为例,它包含了一个从 Pastebin 获取 VBScript 的 base64 混淆 Python 脚本 。
作为一款基于 JavaScript 的 Houdini RAT(远程访问木马),其能够通过 Windows 的命令提示符(CMD)执行远程命令 。
科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库
文章图片

虚假 PoC 渗透示例
另一虚假 PoC 案例,则涉及收集系统信息、IP 地址和用户代理的窃取器,之前有研究人员出于安全实验的目的而创建 —— 包括来自 Darktrace 的 El Yadmani Soufian 安全研究员 。
他非常友好地向 BleepingComputer 披露了这份技术报告中未包含的如下示例 —— 比如 PowerShell 概念验证中的 base64 编码二进制文件(被 Virus Total 标记为恶意软件) 。
科学探索|GitHub被曝托管了成千上万个包含恶意软件的PoC漏洞利用存储库
文章图片

虚假 PowerShell PoC
某个 Python PoC 中包含了单行代码,解码后会被 Virus Total 识别为恶意的 base64 有效负载 。
某个伪造的 BlueKeep 漏洞利用,包含了一个被大多数反病毒引擎标记为恶意、并标识为 Cobalt Strike 的可执行文件 。