墨者防御联盟-提供超强DDoS高防/CC防护/大流量清洗服务!
当前位置:主页 > CC防护 > 正文

ddos盾_高防游戏服务器_零元试用

01-14 CC防护

ddos盾_高防游戏服务器_零元试用

GitHub的Alvaro Muñoz

爱护开源供应链是一项艰巨的任务。它远远超出了安全评估或不过修补最新CVE的范围。供应链安全关系到整个软件开辟和交付生态系统的完整性。从代码提交,到它们怎么经过CI/CD管道,到公布的实际交付,在整个生命周期中都有大概丢失完整性和安全性咨询题。

在过去几年中,开源供应链记忆了各种攻击。从旨在引入后门的开辟人员凭证劫持事件(如事件流事件),到针对流行包治理器(如npm和pypi)的貌似不间断的排版攻击。

有时,像误读警告如此无辜的情况会让开辟人员评论出一行内容,产生戏剧性的效果。后门和打字错误之间的界限通常特别难区分,而且通常是提交的事情,而不是提交本身,是唯一明确的意图指示。

更明显的是,CC防御,构建管道本身也大概受到积极的伤害,如在Webmin事件中。其他历史例子包括提供后门工具链供下载,接着在编译代码中引入后门,如臭名昭著的恶意XCode事件。

3月9日,我们收到一位安全研究人员的消息,告知我们一组GitHub托管的存储库,大概是无意中,主动服务恶意软件。在对恶意软件本身举行深入分析后,我们发觉了一些我们在平台上从未见过的东西:用于枚举和后门NetBeans项目的恶意软件,

在我们的调查过程中,我们发觉了26个开源项目,它们被那个恶意软件屏蔽,同时积极地提供后门代码。

这是Octopus Scanner的故事:一具OSS供应链恶意软件。

Octopus Scanner

GitHub的安全事故响应小组(SIRT)从安全研究人员JJ处收到对于一组存储库服务于受恶意软件感染的开源项目的初始通知。

SIRT定期接收和筛选对于不良行为者滥用GitHub存储库主动托管恶意软件或试图将GitHub平台用作指挥与操纵(C2)基础设施的一部分的报告。但这份报告不同。存储库的所有者彻底没故意识到他们正在将后门代码提交到存储库中。

JJ提供了对于哪些存储库易受攻击的详细信息,以及对于被称为"八达通扫描仪"的恶意软件实际在做啥的高级描述。他们指出:

该恶意软件可以识别NetBeans项目文件,并在项目文件和构建JAR文件中嵌入恶意负载。以下是八达通扫描仪操作的详细讲明:识别用户的NetBeans名目枚举NetBeans名目中的所有项目将恶意负载cache.dat复制到nbproject/cache.dat修改nbproject/build-impl.xml文件,确保每次生成NetBeans项目时都执行恶意负载假如恶意负载是八达通扫描仪本身的一具实例,则新构建的JAR文件也会受到感染。

虽然恶意软件C2服务器在分析时也许未处于活动状态,但受阻碍的存储库仍然对GitHub用户构成风险,DDoS防护,大概会克隆和构建这些项目。与其他GitHub平台滥用案例不同,存储库所有者特别大概彻底不懂恶意活动,所以迅速阻挠或禁止维护者不是SIRT的挑选。GitHub安全实验室对该恶意软件举行了调查,以了解其传播方式,更重要的是,怎么在不关闭用户帐户的事情下将其从受感染的存储库中正确删除。

感染详情

如JJ所述,一旦用户被八达通扫描仪感染,它然后搜索NetBeans IDE在开辟人员系统上使用的迹象。假如不是如此,它不大概采取任何进一步的行动。可是,假如被发觉,恶意软件将经过以下机制进入NetBeans项目的后门构建:

它确保每次构建项目时,任何生成的JAR文件都会受到所谓的滴管的感染。滴管是一种机制,它将某些东西"滴"到文件系统中执行。执行时,滴管负载确保了本地系统的持久性,并随后生成一具远程治理工具(RAT),该工具连接到一组C2服务器。它试图阻挠任何新的项目构建替换受感染的项目构建,以确保其恶意构建工件保持原位。

我们最初打算与受感染存储库的所有者联系,向他们发送删除nbproject/cache.dat的请求,并清理他们的nbproject/build-impl.xml文件。人们的期望是,这大概脚以清理存储库。尽管这无法解决阻碍开辟者的任何本地感染,但它将阻挠经过GitHub平台的活跃传播,因为开辟者解决了他们的本地平台安全咨询题。

可是,对该恶意软件的深入分析证明我们错了。这些简单的步骤是不够的,因为恶意软件还感染了项目中可用的任何JAR文件,例如依靠项,不一定不过构建工件。

虽然我们只能访咨询一具八达通扫描仪样本(构建感染者),但在查看受感染的存储库时,我们发觉四个不同版本的受感染的NetBeans项目,除了其中一具之外,其他所有的下游系统(例如,克隆受感染项目的人)都会经过从受感染的存储库构建或使用受感染的构建产生的任何受污染工件而受到感染。另一具变体将执行本地系统感染,但未触及构建工件。

技术分析

我们从八达通扫描仪恶意软件样本开始分析,没有思量任何初始感染载体。正如我们在VirusTotal仪表板中看到的,该恶意软件的低检测率为60分之4,高防ip,所以它特别容易被忽视。

虚拟总体:https://www.virustotal.com/gui/file/be8d29f95a9626e2476a74f895743f54451014aab62840770e4f9704980b0ac6/detailsVT 检测率:4/60VT首次提交:2019-02-02 03:51:36VT最新内容修改:2019-01-27 16:19:40

下图显示了恶意软件的不同部分:

恶意软件伪装成一具ocs.txt文件,但我们特别容易确定它实际上是一具Java归档(JAR)文件:

➜ NBU项目恶意软件/样本主机✗ 文件ocs.txtocs.txt.jar:Zip存档数据,至少要提取1.0版➜ NBU项目恶意软件/样本主机✗ binwalk ocs.txt十六进制描述--------------------------------------------------------------------------------0 0x0 Zip存档数据,至少要提取v1.0,压缩大小:100,未压缩大小:108,名称:META-INF/MANIFEST.MF150 0x96 Zip存档数据,至少要提取v1.0,压缩大小:1614,未压缩大小:2889,名称:octopussetup/octopussetup.class1825 0x721 Zip存档数据,至少要提取v1.0,压缩大小:251377,未压缩大小:263305,名称:resources/octopus.dat253463 0x3DE17压缩存档结束,页足长度:22

第一时期滴管的JAR清单显示octopussetup.octopussetup.main()想法在条目上运行。接着,此想法将第二时期有效负载丢弃到受害系统。

在类UNIX系统上,第一时期丢弃器将执行以下步骤:

将第二时期有效负载octopus.dat提取到$HOME/.local/share/OCTOD使用以下内容创建$HOME/.config/autostart/octo.desktop:

#/usr/bin/env xdg打开[桌面输入]类型=应用程序名称=自动更新Exec=/bin/sh-c"java-jar$HOME/.local/share/octo"

这会自动启动该用户任何桌面会话的第二时期有效负载。恶意软件使用文件系统分隔符来决定怎么然后。请注意,它以相同的方式对待Linux和MacOS,但这种感染只在Linux系统上有效。

在Windows系统上,它:

将第二时期的有效负载octopus.dat提取到$TEMP/。/Microsoft/Cache134.dat运行schtasks/create/tn LogsProvider/tr javaw-jar$TEMP/./Microsoft/Cache134.dat/sc MINUTE/f来打算任务运行schtasks/run/tn LogsProvider以实际生成打算任务

恶意软件最有味的部分存在于第二时期有效负载octopus.dat中,我们能够从其执行方式判断,不过另一具Java Jar文件。

感染NetBeans构建

octopus.dat负载是实际执行NetBeans构建感染的二进制文件。

VirusTotal:https://www.virustotal.com/gui/file/48bd318d828ac2541c9495d1864ac1fa3bb12806fb1796aa58b94a69b9a7066d/detection

VT检测率:2/61

VT首次提交:2019-02-0208:16:25

VT最新内容修改:2019-01-27 16:18:54

我们正在分析的样本属于此恶意软件的3.2.01版本。版本操纵方案表明该恶意软件是以结构化方式开辟的。当我们认真观看时,我们能够看到它将运行octopus.octopuscanner.main()想法,该想法将执行以下操作:

扫描$APPDATA/NetBeans或$HOME/.NetBeans中的config/Preferences/org/NetBeans/modules/projectui.properties文件。这些文件包含有关系统中可用的任何NetBeans项目的信息。在projectui.properties中搜索openProjectsURLs.XXX条目。这些条目经过文件://uri表示NetBeans项目。感染每个NetBeans项目。关于找到的每个项目,恶意软件都会经过以下方式感染:

将名为cache.dat的无辜文件放入/nbproject/修改/nbproject/build-impl.xml,使cache.dat作为构建过程的一部分执行

版权保护: 本文由 主页 原创,转载请保留链接: /ddos/139347.html


QQ客服

400-0797-119