github变成反诈

github变成反诈,第1张

提高警惕!黑客在GitHub上利用虚假 PoC 漏洞钓鱼

信天辰信息安全

2022-10-27 17:29山东品牌企业,山东信天辰信息安全技术有限公司官方帐号

关注

来源:FreeBuf

作者:Zhuolin

莱顿高级计算机科学研究所的研究人员在GitHub上发现了数以千计存在问题的存储库,这些存储库为各种漏洞提供虚假的概念验证(PoC),并借此隐藏传播恶意软件。

GitHub是最大的代码托管平台之一,研究人员用它来发布PoC漏洞,以帮助安全社区验证漏洞的修复或确定一个漏洞的影响和范围。

据莱顿高级计算机科学研究所的研究人员称,如果不包括被证实的恶作剧软件,以虚假PoC进行掩饰,实际上恶意软件的可能性高达10.3%。

数据收集和分析

研究人员使用以下三种机制分析了47300多个储存库,包含2017年至2021年期间披露的漏洞模早消:

IP地址分析:将PoC的发布者IP与公共封锁名单以及VT和AbuseIPDB进行比较。

二进制分析:对提供的可执行文件及其哈希值运行VirusTotal检查。

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

在提取的150734个独特的IP中,有2864个与封锁名单条目相匹配,1522个在Virus Total的反病毒扫描中被检测为恶意的,其中1069个存在于AbuseIPDB数据库中。二进制分析检查了一组6160个可执行文件,发现共有2164个恶意样本托管在1398个存储库中。

总的来说,在测试的47313个软件库中,有4893个软件库被认为是恶意的,其中大部分涉及到2020年的漏洞。报告中包含了一小部分带有虚假PoC的软件库,这些软件库正在传播恶意软件。研究人至少分享了60个案例,然而这些例子仍然是存活的,并且正在被GitHub取缔。

PoC中的恶意软件

通过仔细研究其中一些案例,研究人员发现了睁姿大量不同的恶意软件和有害脚本,从远程访问木马到Cobalt Strike。

一个有趣的案例是CVE-2019-0708的PoC,通常被称为 "BlueKeep",它包含一个base64混淆的Python脚本,从Pastebin获取一个VBScript。该脚本是Houdini RAT,一个基于JavaScript的老式木马,支持通过Windows CMD执行远程命令。

在另一个案例中,研究人员发现了一个假的PoC,这是一个收集系统信息、IP地址和用户代理的信息窃取器。这是另一个研究人员之前创建的安全实验,所以用自动工具找到它是对研究人员的确认,他们的方法是有效的。

还有一些没有在技术报告中体现的例子,例如:

PowerShell PoC包含一个用base64编码的二进制文件,在Virus Total中被标记为恶意的;

Python PoC包含一个单行代码,用旦知于解码在Virus Total中被标记为恶意的base64编码的有效载荷。

伪造的BlueKeep漏洞包含一个被大多数反病毒引擎标记为恶意的可执行文件,并被识别为Cobalt Strike。一个隐藏在假PoC中的脚本,其中有不活跃的恶意组件,但如果其作者愿意,依旧可以造成损害。

如何保持安全

盲目相信GitHub上未经验证的仓库是不可取的,因为其内容没有经过审核,所以用户在使用前要对其进行审查。建议软件测试人员仔细检查他们下载的PoC,并在执行之前尽可能多地进行检查。

专家认为,所有测试人员都应该遵循这三个步骤。

仔细审查即将在网络上运行的代码

如果代码太模糊,需要太多的时间来手动分析,就在一个环境中(例如一个隔离的虚拟机)进行沙盒测试,并检查你的网络是否有可疑的流量

使用开源的情报工具,如VirusTotal来分析二进制文件。

目前,研究人员已经将他们发现的所有恶意软件库报告给GitHub,但在所有这些软件库被审查和删除之前,还需要一些时间,所以许多软件库仍然对公众开放。

今天,给大家推荐一个GitHub上的一个热门项目——chinese-xinhua ,一个新华字典数据侍毕让库,截至今日,该项目已经获得了 8200+ 个「star」以及 1900+ 个「fork」。可能是知道的太少了

这个数据库收录了包括14032条歇后语,16142个汉字,31648个成语。(GitHub项目地址: https://github.com/pwxcoo/chinese-xinhua )

该数据库的所有数据都放在data/ 目录,对性能没需求的话,可以直接使用作者的新华字典 API 。下面,我们一起来详细了解一下这个数据库

项目结构

该数据库的项目结构如下:

数据库介绍

成语

词语

汉字

API接口

GET、POST均可,返回数据格式为JSON。下面将以GET做示例

直接请求 成语 ,则需要两个参数:

type=idiom 表示需要请求成语

word=兴高采烈 表示请求的成语

示例,如请求兴高采烈的成语,返回结果如下:

当你请求的是成语时,返回的结果包括:成语的来源、成语的解释、成语的拼音、用成语造的句子以及成语的首字母缩写。

直接请求 拼音首字母缩写 ,需要两个参数数和:

type=idiom 表示需要请求成语

word=xgcl 表示请求的成语拼音首字母缩写

请求 歇后语 ,同样需要两个参数

type=xiehouyu 表示需要请求歇后语

riddle=王婆 表示请求的歇后语的语面。可以模糊匹配

请求歇后语,结果会返回带有你输老局入的关键词的所有歇后语。

请求 汉字 ,需要两个参数

type=word 表示需要请求汉字

word=吴 表示请求的是

感兴趣的可以到GitHub上看看,果然是最怕程序员有文化。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12550814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存