社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

通过滥用GitHub和Netlify等平台的漏洞进行门罗币挖掘

嘶吼专业版 • 3 年前 • 814 次点击  

今年早些时候,Apache HTTP Server Project 披露了一个被确定为 CVE-2021-41773 的安全漏洞,2021年10月5日,Apache发布更新公告,修复了Apache HTTP Server 2.4.49中的一个路径遍历和文件泄露漏洞(CVE-2021-41773)。

攻击者可以通过路径遍历攻击将 URL 映射到预期文档根目录之外的文件,如果文档根目录之外的文件不受“require all denied” 访问控制参数的保护,则这些恶意请求就会成功。除此之外,该漏洞还可能会导致泄漏 CGI 脚本等解释文件的来源。如果利用此漏洞,攻击者可以将 URL 映射到类似 Alias 指令配置的目录之外的文件。在为别名路径启用通用网关接口 (CGI) 脚本的某些配置下,攻击者还可以将其用于 RCE。由于对CVE-2021-41773的修复不充分,攻击者可以使用路径遍历攻击,将URL映射到由类似别名的指令配置的目录之外的文件,如果这些目录外的文件没有受到默认配置"require all denied "的保护,则这些恶意请求就会成功。如果还为这些别名路径启用了 CGI 脚本,则能够导致远程代码执行,形成Apache HTTP Server路径遍历和远程代码执行漏洞(CVE-2021-42013)。

Apache HTTP Server 项目已推出官方修复程序,但是,当研究人员查看滥用此漏洞的恶意样本时,他们发现更多的此类漏洞被滥用,以针对恶意挖掘门罗币的产品和软件包中的不同漏洞。在本文中,研究人员调查了用于托管加密货币挖掘工具和脚本的 GitHub 和 Netlify 存储库和平台的滥用情况。他们已经将恶意活动通知了 GitHub 和 Netlify,建议他们删除帐户。

技术细节

研究人员观察到攻击者通过在 2020 年和 2021 年披露的安全漏洞针对以下软件包和产品进行恶意加密货币挖掘活动,蜜罐捕获的样本如下:

1. Atlassian Confluence(CVE-2021-26084 和 CVE-2021-26085)

2. F5 BIG-IP(CVE-2020-5902 和 CVE-2021-22986)

3. VMware vCenter(CVE-2021-22005、CVE-2021-21985、CVE-2021-21972和CVE-2021-21973)

4. Oracle WebLogic 服务器(CVE-2020-14882、CVE-2020-14750 和 CVE-2020-14883)

5. Apache HTTP 服务器(CVE-2021-40438、CVE-2021-41773 和 CVE-2021-42013)

2021 年 10 月 19 日至 11 月 19 日期间试图滥用服务器进行恶意加密货币挖掘的漏洞

有趣的是,所有产品和特定软件包都具有广泛传播的预认证 RCE 概念的概念证明。从一个这样的矿池中查看 门罗币 钱包,研究人员看到该操作仍在进行中,并且在撰写本文时正在积极增持门罗币。

加密货币矿池

针对 Windows 主机

感染链

研究人员发现的挖矿样本在 Windows 和 Linux 平台上运行并被滥用。虽然使用的漏洞根据目标基础设施而有所不同,但确定的批处理脚本对两者都有效。研究人员看到 Netlify 和 GitHub 被用作恶意软件文件服务器,用于从攻击者控制的帐户下载批处理脚本。批处理脚本被重命名为临时文件并在它开始在后台运行后被删除。

这些脚本(c3.bat)是从 GitHub 删减的门罗币辅助脚本的修改版本,它们开始检查当前会话是否具有管理权限。如果权限属于管理员,则设置 ADMIN 标志。然后计算门罗币钱包地址的长度。如果长度不超过106或95个字符,则脚本退出。如果是106或95,则跳转到“WALLET_LEN_OK”语句。

观察到的批处理脚本是从 GitHub 中删减的辅助脚本的修改版本

检查管理权限和“XMR WALLET”标志以计算地址长度

该脚本还会在系统中进行一系列检查,例如是否定义了 USERPROFILE 环境变量,以及 wmic、powershell、find、findstr 和 tasklist 等实用程序是否可用。

检查系统环境变量和实用程序的可用性

获取系统中实用程序可用性的结果

wmic 实用程序用于进一步枚举系统中的特定参数,例如处理器数量、最大时钟速度、L2 和 L3 缓存大小以及 CPU 插槽。这些值稍后会被用于计算 Windows 主机的门罗币挖矿率。对于不同的挖矿速率,在矿池上使用不同的端口。

枚举系统参数以确定加密货币挖掘率

在确定 CPU 的计算能力后,将运行的 c3pool_miner 从主机中移除。然后从攻击者控制的 GitHub 存储库下载压缩的挖矿程序 (c3.zip),并使用 PowerShell 解压缩下载的文件。如果解压缩尝试失败,则下载7z来解压缩文件,下载的文件(7za.exe和c3.zip)之后都会被删除。

提取后删除下载文件的痕迹

该脚本还继续从官方存储库安装适用于 Windows 的最新版本的 XMRig,解压下载的文件后,7z 二进制文件和 XMRig ZIP 文件将被删除。成功安装挖矿程序后,将使用 PowerShell 修改配置文件。

在系统中安装最新的 XMR 版本

配置和修改已安装的挖矿程序

如果挖矿程序已经在运行(c3.exe),则执行跳转到 ALREADY_RUNNING 标签。如果没有,则使用 IDLE 优先级中的“start”命令执行挖矿程序。如果当前用户具有管理权限,则执行跳转到标签 ADMIN_MINER_SETUP。如果没有,则通过使用批处理脚本修改启动目录来添加持久性,以使用配置文件执行 c3pool XMR 挖矿程序。

配置挖矿程序的管理员权限和持久性

在c3cache_worker上通过NSSM (non - suck service Manager)创建服务。NSSM是一个帮助将应用程序作为服务安装的服务助手程序,通过它,用户可以指定对用户定义的文件进行日志记录。

使用 NSSM 在受感染系统中持续运行挖矿程序作为后台应用程序

以 Linux 主机为目标

shell 脚本以无限循环开始,以删除在受感染系统中发现的所有具有加密挖矿程序的类似程序,例如 kinsing、kdevtmpfsi、pty86 和 .javae。

循环删除在受感染系统中发现的所有加密货币挖掘竞争程序及其组件

在所有竞争挖矿程序被删除后,/var/spool/cron/root 的属性被设为不可变并重新加载 crontab。然后,如果除了java、redis、weblogic、mongod、mysql、oracle、tomcat、grep、postgres、confluence、awk和aux之外的进程占用了60%以上的CPU,那么它们将被终止。

除了在系统中运行挖矿程序所必需的进程,停止所有其他进程

调用函数“func1”(已编校),每隔30秒循环一次。

研究人员观察到两个内容传播网络 (CDN) 在 GitHub 和 Netlify 中用作 FILE_CC_SERVER。在func1中,检查进程“java.xnk”,如果CPU使用率大于或等于60%,则将进程ID提取到变量“p”中。如果变量为空,则终止进程并创建三个目录,即:

/var/tmp/java.xnk

/var/lock/java.xnk

/tmp/java.xnk 16

变量 DIR 包含创建的有效 TMP 目录的值

检查“wget”和“curl”二进制文件的不同路径并将其分配给变量 Wget。在路径“$DIR”中检查文件“java.xnk.bionic”。如果该文件不存在,则使用有效的 Wget 命令下载并复制名为“bionic”(门罗币挖矿程序)和“config.json”的文件,其中包含门罗币钱包地址。为下载的二进制文件分配可执行权限,二进制文件通过 nohup 执行。

类似地,下载并执行以下二进制文件代替文件“bionic”并重复该过程:

focal as java.xnk.focal

freebsd as java.xnk.freebsd

linuxstatic as java.xnk.linux

xenial as java.xnk.xenial

xmr-stak as java.xnk.stak

为 Wget 和可执行权限分配二进制文件

总结

根据过去一个月对目标产品和特定软件包的尝试频率,研究人员相信还有更多服务器未打补丁并暴露在这些漏洞中。更重要的是,攻击者将根据概念证明的可用性以及这些服务器尚未打补丁的可能性,继续针对这些产品和软件包进行攻击。此外,由于 Linux 和 Windows 平台的广泛使用以及此处确定的所有挖矿程序都在这两种平台上工作的事实,非法加密货币挖掘对于可作为目标的大量系统而言是一项有利可图的业务。

由于流量是通过 HTTPS 加密的,因此对 GitHub 和 Netlify 等合法平台的滥用将继续存在。如果你的设备具有适当的攻击检测和预防解决方案 (IDS/IPS),则网络工件将不会用于检测。此外,IP 信誉服务不会将这些平台标记为恶意平台,因为它们是程序和组织的合法来源。这两个平台的 CDN 还提供了设置操作的简便性和可用性,并提供了可用性和速度,从而也帮助恶意攻击者提供广泛而快速的恶意软件感染能力,而不管受害者的位置如何。CDN 中的这两个因素可能会促使恶意攻击者滥用这些平台进行感染,甚至是与加密货币挖掘无关的例行程序和攻击行为。

参考及来源:https://www.trendmicro.com/en_us/research/21/l/vulnerabilities-exploited-for-monero-mining-malware-delivered-via-gitHub-netlify.html

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/124684
 
814 次点击