github变成反诈
提高警惕!黑客在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,但在所有这些软件库被审查和删除之前,还需要一些时间,所以许多软件库仍然对公众开放。
atomkit是什么
Atom是由GitHub开发的自由及开放源代码的文字与代码编辑器,支持macOS、Windows和Linux操作系统,支持Node.js所写的插件,并内置由Github提供的Git版本控制系统。Atom 是由 GitHub 开发的自由及开放源代码的文字与代码编辑器,支持 macOS、Windows 和 Linux 操作系统,支持 Node.js 所写的插件,并内置由 Github 提供的 Git 版本控制系统。多数的延伸包皆为开放源代码授权,并由社群建置与维护。
Atom 基于使用 Chromium 和 Node.js 的跨平台应用框架 Electron(最初名为 Atom Shell),并使用 CoffeeScript 和 Less 撰写。Atom 也可当作 IDE 使用。被它的开发者称为“21 世纪的“黑客”文本编辑器(hackable text editor for the 21st Century)”。自 2014 年 5 月 6 日起,Atom 的核心程序、包管理器以及 Atom 基于 Chromium 的桌面程序框架皆使用 MIT 授权条款发布。Atom 编辑器官网下载:语言支持依靠内置的默认插件,Atom v1.5.1 在某些方面支持以下程序语言或标记语言:HTML、CSS、Less、Sass、GitHub Flavored Markdown、C/C++、C#、Go、Java、Objective-C、JavaScript、JSON、CoffeeScript、Python、PHP、Ruby、Ruby on Rails、shell script、Clojure、Perl、Git、Make、Property List (Apple)、TOML、XML、YAML、Mustache、Julia 和 SQL。插件Atom 拥有较为丰富的插件,当前官网仓库中已有 7149 个功能插件,以及 2437 种主题。许可证最初,Atom 的外挂程序和其他非核心部件是基于开源许可证发布的。在 2014 年 5 月 6 日,Atom 核心应用、外挂管理以及它的桌面框架开始以自由及开放源代码软件基于 MIT 许可证发布。
黑客公布马斯克“星链”攻击工具
自2018年以来,埃隆马斯克的星链计划(Starlink)已将3000多颗小型卫星送入轨道。星链卫星网络能够将互联网连接覆盖到地球上最偏僻的脚落,并且在俄乌冲突期间成为乌方的重要联网方式。未来星链计划还将再发射数千颗卫星,其他组织和国家的竞争计划也在纷纷加入,高密度小型卫星网络正在改变地球的互联方式。但是,就像任何新兴技术一样,“星链”们正在被黑客入侵。
本周四,在拉斯维加斯举行的Black Hat安全会议上,比利时鲁汶大学(KU Leuven)的安全研究员Lennert Wouters将首次披露Starlink用户终端(即位于住宅和建筑物上的星链卫星天线)的安全漏洞。Wouters将详细介绍攻击者如何利用一系列硬件漏洞访问Starlink系统并在设备上运行自定义代码。
为了访问星链卫星天线的软件,Wouters改造了他购买的一个星链天线,并制作了一个可以连接到星链天线的定制黑客工具。该工具使用一种被称为modchip的定制电路板,零件成本仅约25美元。连接到星链天线后,该自制工具就能够发起故障注入攻击,暂时使系统短路以绕过星链的安全保护。这个“故障”使Wouters能够进入被锁定的星链系统。
Wouters将该工具在GitHub上开源发布,内容包括发起攻击所需的一些细节。“作为攻击者,假设你想攻击卫星本身,”Wouters解释说,“你可以尝试制作自己的系统来与卫星通讯,但这非常困难。所以更简单的办法是通过用户终端。”
去年,Wouter曾向Starlink通报了这些漏洞,后者也通过其漏洞赏金计划向Wouters支付了漏洞赏金。Wouters表示,虽然SpaceX已发布更新以使攻击更加困难(更改了modchip),但除非该公司开发新版本的主芯片,否则无法解决根本问题。
Wouters指出, 所有现有星链用户终端仍然容易受到攻击 。
根据Wired报道,Starlink计划在Wouters的黑帽大会演讲之后发布“公开更新”,但拒绝透露有关该更新的任何细节。
Starlink的互联网系统由三个主要部分组成。首先是卫星。卫星在低地球轨道上移动,距地表约340英里,并向下连接到地表。卫星与地球上的两个系统进行通信:将互联网连接发送到卫星的网关,以及人们可以购买的Dishy McFlatface卫星天线。Wouters的研究主要集中在这些用户终端(天线)上,这些天线最初是圆形的,但较新的型号是矩形的。
Wouters透露,他对星链用户终端的攻击涉及多个阶段和技术措施,最终他完成了现在开源的可用的星链天线黑客工具。这种定制电路板的攻击能够绕过系统启动时的签名验证安全检查,后者的功能是证明系统是否正确启动并且没有被篡改。“我们使用这种电路板来精确计算注入故障的时机。”Wouters说。
从2021年5月开始,Wouters就开始测试星链系统,他购买了一个星链天线,在大学大楼屋顶上测试其功能正常(268 Mbps的下载速度和49 Mbps的上传速度)。然后,他使用多种工具开始拆解天线,动用了“热风枪、撬动工具、异丙醇和极大的耐心”。最终,他成功从天线上取下大金属盖并接触其内部组件。
图片:LENNERT WOUTERS
在星链天线直径59厘米的盖子下面是一个大型PCB板,其中包含一个片上系统(上图),包括一个定制的四核ARM Cortex-A53处理器,其架构没有公开记录,因此更难破解。板上的其他组件包括射频设备、以太网供电系统和GPS接收器。通过拆解天线,Wouters能够了解它是如何启动和下载固件的。
设计modchip前,Wouters扫描了星链天线并完成了匹配现有星链PCB板的设计。modchip需要焊接到现有的星链PCB板并用几根导线将其连接起来。modchip本身由Raspberry Pi微控制器、闪存、电子开关和稳压器组成。在制作用户终端板时,星链工程师在其上印制了“人类在地球上制造”的字样。Wouters的modchip上则写着:“人类在地球上出现的故障。”
为了访问星链的软件,Wouters使用他的自定义系统通过电压故障注入攻击绕过安全保护。当星链天线打开时,它会启动一系列不同的引导加载程序。Wouters的攻击针对第一个引导加载程序(称为ROM引导加载程序)的运行故障,该引导加载程序被刻录到片上系统并且无法更新。然后,攻击会在以后的引导加载程序上部署定制固件,使Wouters能够控制整个系统。
“从更高层面来看,有两个明显可以攻击的对象:签名验证或哈希验证。”Wouters说。该故障攻击了签名验证过程。“通常我们总是会避免短路,”他说:“但在这种情况下,我们是故意这样做的。”
最初,Wouters试图在其引导周期结束时(即Linux操作系统已完全加载)使芯片出现故障,但最终发现在引导开始时更容易导致故障。Wouters认为这种方式更可靠。他说,为了让故障起作用,他必须停止用于平滑电源的去耦电容器的运行。攻击会禁用去耦电容器,运行故障以绕过安全保护,然后启用去耦电容器。
这个过程使研究人员能够在启动周期内运行星链固件的修改版本,从而能够访问其底层系统。Wouters说,作为对这项研究的回应,Starlink向他提供了对设备软件的研究人员级别的访问权限,但Wouters拒绝了,原因是不想在这方面钻研太深,主要精力放在制作modchip工具。(在测试期间,他将修改后的天线挂在研究实验室的窗户外面,并用一个塑料袋作为临时防水系统。)
Wouters指出,虽然星链还发布了固件更新使得攻击变得困难,但并非不可能。任何想以这种方式破解天线的人都必须投入大量时间和精力。虽然这次攻击不像破坏卫星系统或卫星通信那样具有破坏性,但Wouters表示,此类攻击可以用来更多地了解星链网络的运作方式。
“我现在的重点工作是与后端服务器通信。”Wouters透露。尽管在Github上可以下载modchip的详细信息,但Wouters没有出售任何成品modchip的计划,他也没有向人们提供修改后的用户终端固件或在攻击时使用的故障的确切细节。
随着越来越多的卫星发射——亚马逊、OneWeb、波音、Telesat和SpaceX都在打造自己的“星链”——它们的安全性将受到更严格的审查。除了为家庭提供互联网连接外,这些系统还可以帮助船舶联网,并在关键基础设施中发挥作用。卫星互联网系统已经成为恶意黑客的目标。
“我认为评估这些系统的安全性很重要,因为它们是关键基础设施,”Wouters说道:“我认为总会有人尝试进行这种类型的攻击,因为用户端的天线很容易获得。”
参考链接:
PoC包含一个用base64编码的二进制文件,在Virus Total中被标记为恶意的;Python PoC包含一个单行代码,用于解码在Virus Total中被标记为恶意的base64编码的有效载
s所写的插件,并内置由Github提供的Git版本控制系统。Atom 是由 GitHub 开发的自由及开放源代码的文字与代码编辑器,支持 macOS、Windows 和 Linux 操作系统,支持 Node.js 所写的插件,并内置由 Github 提供的 Git 版本控制系统。