社区所有版块导航
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

Trend Micro:滥用GitHub和Netlify平台的挖矿恶意软件分析

维他命安全 • 3 年前 • 344 次点击  

概述

今年早些时候,一个CVE ID追踪为CVE-2021-41773的安全漏洞被披露给Apache HTTP Server项目,该漏洞是Apache HTTP Server2.4.49的一个路径遍历和远程代码执行(RCE)漏洞。如果该漏洞被利用,攻击者可以将URL映射到Alias-like指令配置的目录之外的文件。在某些配置下,为别名路径启用了通用网关接口(CGI)脚本,攻击者也可以利用它实现RCE。由于对CVE-2021-41773的不完整修复,导致了Apache HTTP Server2.4.49 和 2.4.50 中的路径遍历和远程代码执行漏洞,跟踪为CVE-2021-42013。

Apache HTTP Server项目已经发布了修复版本。然而,当我们查看滥用这个漏洞的恶意样本时,我们发现了更多被这样滥用的漏洞,这些漏洞涉及不同的产品和软件包,并被用来恶意挖掘Monero。在这篇文章中,我们研究了滥用GitHub和Netlify存储库和平台来托管加密货币挖矿工具和脚本的问题。我们已经向GitHub和Netlify报告了这些恶意活动,他们已经删除了这些账户。



技术细节

我们观察到攻击者针对以下软件包和产品在 2020 年和 2021 年披露的安全漏洞进行挖矿,通过我们在蜜罐中捕获的样本进行攻击:

1.AtlassianConfluence (CVE-2021-26084和CVE-2021-26085)

2.F5BIG-IP(CVE-2020-5902和CVE-2021-22986)。

3.MwarevCenter (CVE-2021-2255、CVE-2021-1985、 CVE-2021-21972和 CVE-2021-1973)

4.OracleWebLogic Server (CVE-2020-14882、CVE-2020-14750,和CVE-2020-14883)

5.ApacheHTTP Server(CVE-2021-40438、CVE-2021-41773和CVE-2021-42013)。

图1. 2021年10月19日至11月19日期间利用的漏洞(数据取自趋势科技Cloud One™ - Workload Security。)

我们发现一个有趣的现象,所有的产品和特定的软件包都有公开的pre-auth RCE PoC。从一个这样的矿池中查看 Monero 钱包,我们看到在撰写本文时该操作仍在进行中并积极增持 Monero。

图 2. 加密货币矿池

 

 

针对Windows主机

图 3. 感染链

我们发现的矿工样本可以在Windows和Linux平台上运行。虽然所使用的漏洞根据目标基础设施而有所不同,但我们发现的批处理脚本在这两个平台上都能执行。我们看到使用Netlify和GitHub作为恶意软件文件服务器,从攻击者控制的账户下载批处理脚本。批处理脚本被重命名为临时文件,并在后台运行后删除。

脚本(c3.bat)是从GitHub上删减的Monero挖矿辅助脚本的修改版,它们开始检查当前会话是否具有管理权限。如果是管理员权限,那么ADMIN标志就会被设置。之后,Monero钱包地址的长度被计算出来。如果长度不是106或95个字符,则脚本退出。如果是106或95,则跳转到 "WALLET_LEN_OK "语句。

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

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

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

 

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

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

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

图 8. 枚举系统参数以确定挖矿率

在确定CPU的计算能力后,运行中的c3pool_miner从主机上删除。然后从攻击者控制的GitHub储存库下载压缩的矿工(c3.zip),并使用PowerShell来解压缩下载的文件。如果解压失败,就下载7z来解压缩文件,然后删除下载的两个文件(7za.exe和c3.zip)。

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

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

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

图 11. 配置和修改已安装的矿工

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

图 12. 配置矿工的管理员权限和持久性

一个服务是由c3cache_worker使用Non-Sucking Service Manager(NSSM)创建的。NSSM是一个服务帮助程序,帮助把应用程序安装为服务,用户可以使用它指定用户定义文件的日志记录。

图13. 使用NSSM在受感染的系统中作为后台程序不断运行矿工

 

 

以Linux主机为目标

shell脚本从一个循环开始,以删除在受感染系统中发现的所有竞争性加密矿工,如kinsing、kdevtmpfsi、pty86和.javae。

图 14. 循环删除在受感染系统中发现的所有挖矿竞争对手及其组件

在终止了所有挖矿竞争对手的进程后,/var/spool/cron/root的属性被设置为不可改变并重新加载crontab。然后,如果除了java、redis、weblogic、mongod、mysql、oracle、tomcat、grep、postgres、confluence、awk和aux之外,有任何进程占用了超过60%的CPU使用率,它们将会被终止。

图15. 除了系统中运行矿工所需的进程外,停止所有其他进程

调用函数“func1”(redacted)并每30 秒重复一次循环。

我们观察到两个内容分发网络(CDN)被用作GitHub和Netlify的FILE_CC_SERVER。在func1中,检查进程 "java.xnk ",如果CPU使用率大于或等于60%,则将进程 ID 提取到变量"p"中。如果变量为空,则终止进程并创建三个目录:

A./var/tmp/java.xnk

B./var/lock/java.xnk

C./tmp/java.xnk

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

检查"wget "和 "curl "二进制文件的不同路径并将其分配给变量 Wget。在路径"$DIR "中检查文件"java.xnk.bionic ",如果该文件不存在,有效的Wget命令被用来下载和复制名为 "bionic"(一个Monero矿工)和 "config.json "的文件,其中包含Monero钱包地址。然后为下载的二进制文件分配可执行权限,并通过nohup执行该二进制文件。

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

  1. focal as java.xnk.focal

  2. freebsd as java.xnk.freebsd

  3. linuxstatic as java.xnk.linux

  4. xenial as java.xnk.xenial

  5. xmr-stak as java.xnk.stak

图17. 为Wget分配二进制文件和为下载的二进制文件分配可执行权限

 

 

结论

根据过去一个月对目标产品和特定软件包的利用尝试频率,我们相信有更多的服务器仍未安装补丁,需要注意的是,由于PoC/EXP的可用性,攻击者将继续针对这些脆弱产品和软件包进行入侵。此外,由于Linux和Windows平台的广泛使用,以及本研究中发现的矿工都可以在这两个平台上运行的事实,非法挖矿成为一个有利可图的活动,因为有大量的系统可以成为目标。

由于流量是通过 HTTPS 加密的,因此GitHub和Netlify等合法平台将继续被滥用。如果目标机器具有适当的入侵检测和预防解决方案 (IDS/IPS),则network artifacts将不会有助于检测。此外,IP 信誉服务不会将这些平台标记为恶意平台,因为它们是程序和组织的合法来源。这两个平台的CDN还可以轻松方便地设置操作,并提供可用性和速度,因此也有助于恶意行为者实现广泛而快速的恶意软件感染,无论受害者位于何处。CDN的这两个因素可能会促使恶意行为者的行为发展,他们滥用这些平台进行感染,甚至是与挖矿无关的例程和攻击。

从另一个角度来看,考虑到使用公开的PoC/EXP进行攻击的恶意行为者显得有些不成熟。这些恶意行为者还定期进行操作,并以更多机器为目标,虽然他们的GitHub和Netlify账户被暂停,但他们仍继续操作并在各自的钱包中获取加密货币。

 

IoC

文件&SHA-256

a-bionic       3c1a2e702e7079f9d49373049eff5e59fcf35d526b7a157a4a963fbdf9c7c75f

a-c3.bat       3b5ffd88a9762c68de551e63243fcc0549e3c31784285b312adf59832f7523ab

a-config.json      fd7e26f48dfb68284f5acda50eedb8e9a964fb8b8a1dbb2c1555d431da8182e0

a-focal         a025a8b424c23856c42dbebcb67ff7c60c6cfd13aa12fcecb15679b98b3ba94d

a-freebsd      4fc7113ed150895587635fa58b8be66a32f2d41b06807ac8a9f1898dd1ee6b0c

a-linuxstatic       1489c404a110149b66476e0f41317770f0291da64a0d4b39f28900ccaf4d30f2

a-stg_gh.sh       dd303c2644c2a58cf466a19f7c801aeae43a63d4efd56707f0dd531439d8dafd

a-stg_ntf.sh       b8a146284e8abf867ed86ff6cc4ee44648e47c7e857d5d2e5e52219c4b43f935

asvconhost.exe    93167030a5bb32e8d777f04a0853b2a55a0ae91a634afbcd55e2c981853d5506

a-xenial       428340a0695393a0cec55513e700a479e252d9b034f27f80a29da3ac99afa459

a-xmr-stak       240fe01d9fcce5aae311e906b8311a1975f8c1431b83618f3d11aeaff10aede3

c3.exe          61c0449a48cf9351f157d89deff88bd4df2ab5c1091b3504741f6c62274b099e

c-c3.bat     9691bf237d879299984abb23b25ffb51a0f00567a364899466e1ad93694c0186

c-config.json     aaee6e01f4192caea86645bea741d85c240083b55341e47a206176df1892e740

config.json       feb4541172610b742552d3ee4bc9b114e9bf0d11dfff153b452e03804cd0f453

c-stg_gh.sh       747ceb6c37bae5670b0c469c998c66e58b4ec310ab8ddf3abc0c205fb5d15f1c

c-stg_ntf.sh   5aa0da717d2e88682203f2831bfb550ed8530d98bed9232a2a3a1683ba11e052

f-c3.bat       fca6e56e74f94b29674528a8c4e82898f1ca7dc62b4a7d50c175464f9065c343

f-config.json     4d1e20ef6d88436a7246e79987e71238021dbbbb80a3bc83c0ef814dfeda5c2e

f-stg_gh.sh    cd291d2b3933ab914eed36d3c9c0200ae864fb4a5d29fb5be54f07c3d30bebdb

v-c3.bat    62f854be8c9876e84a920231bdf7bbe0757beb609486aa3ea34df34da6b93b09

v-config.json       73ef742834dfa72668fc423bd43204456c2f4effef5a99a1beeeff059ea64189

v-stg_gh.sh       e94f04e2822fc7e2406cf2ad8f0d1e0359a13647cf26a8f31b2b83a033c3df94

v-stg_ntf.sh  3b0a31a6889d129324d922b8861a6f06101ea9bc6a89bd7e7e2dd691b6247367

w-c3.bat     73a7aa23e68c0bd6bd6960327cf0a24217544a913f83b85cedf59bdc0856b8e6

w-config.json       c5d9345a8a49f1109c2fcd1c649ceaa94421e6c3804284fca1f6c891dbc0869d

w-stg_gh.c3.ps1       7f2b0f01547d7d43c8bd33206faf78d6500a7f6f2a9e6612c507b220de5a08a9

w-stg_gh.sh    b3215074ddb18e43771a51f3d3c8c49571bbf69b33b8bbbf2cab4559caa1ae6a

 

nervous-hodgkin-5c3bb4[.]netlify.app

heuristic-hermann-392016[.]netlify.app

amazing-nightingale-3617e1[.]netlify.app

  

原文链接:

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/124130
 
344 次点击