我的服务器被挖矿了,原因竟是。。。

news2024/11/24 19:24:29

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

挖矿木马应急响应

  • 一、什么是挖矿
  • 二、被挖矿主机现象
  • 三、挖矿木马处置思路
    • 1)隔离
    • 2)确认挖矿进程
    • 3)清除木马
    • 4)加固
  • 四、挖矿木马处置步骤
    • 1)Windows
      • 0、挖矿木马现象
      • 1、排查进程
      • 2、排查账号
      • 3、排查启动项
      • 4、排查计划任务
      • 5、日志分析
    • 2)Linux
      • 1、排查进程
      • 2、排查账号
      • 3、排查定时任务
      • 4、排查启动项
  • 五、挖矿木马应急实例

前段时间有个粉丝问我,说他买的云服务器最近特别卡,好像是中毒了,让我帮忙看看。

我远程了好几次,终于连上去,发现果然是被挖矿了,很蠢的那种Driver,连服务名都懒得改。

本来是个很简单的问题,但排查了半天竟没发现它是怎么进来的,啥漏洞也没有。

直到事后吃饭的时候才发现,她给我发的服务器密码,

是 1 2 3 4 5 6 7

在这里插入图片描述
趁此机会,跟大家分享一下挖矿木马的应急思路。

倒不是说能防住,起码在你被挖矿的时候,能知道自己是被挖矿了。

一、什么是挖矿

比特币系统每隔一段时间就会在节点上生成一个随机代码,互联网中的所有设备都可以寻找这个代码,谁先找到就能获得奖励。

而寻找代码的过程,就是挖矿。

设备通过计算来筛选出符合条件的随机代码,每找到一个随机代码往往需要上万亿次的哈希运算,CPU通常会被顶到100%。

为了降低成本,黑客往往会通过入侵的方式,控制别人的计算机来帮自己挖矿。

二、被挖矿主机现象

挖矿木马最大的特点就是CPU占用高,占用高以后,电脑温度就会升高、风扇噪音也会变大,服务器上的业务变得异常缓慢。

三、挖矿木马处置思路

1)隔离

非重要业务系统直接下线隔离再做排查。

重要业务系统:在不影响业务的前提下,及时隔离当前主机,如禁用非业务使用端口、服务、配置ACL白名单。

2)确认挖矿进程

挖矿程序的进程名称一般表现为两种形式:

一种是不规则的数字或字母,这种需要检查哪些不常见的名字。

另一种是伪装成常见的进程,这种就重点看CUP占用高的进程。

3)清除木马

网络层面阻断挖矿木马与矿池的通信。

清除挖矿定时任务,启动项等。

定位挖矿文件位置并删除。

4)加固

根据挖矿木马的传播方式,修复相应漏洞,防止再次感染。


四、挖矿木马处置步骤

首先根据CPU占用率确定确定挖矿进程,找到母体文件并清除。

而后是检查计划任务、启动项中,挖矿木马的持久化操作,杜绝复发。

最后通过账号、日志、母体文件等信息,溯源攻击路径。

1)Windows

0、挖矿木马现象

CPU占用高,主机卡顿

1、排查进程

思路:

通过网络连接定位进程PID,再通过PID定位具体程序,通过任务管理器定位进程文件位置。
排查CUP占用高的、进程名异常的进程。

相关命令:

netstat -ano 查看网络连接,最常见的就是大量445的连接。

tasklist | findstr “PID” 根据PID查看具体的进程。

wmic process | findstr “进程名称” 根据进程名获取进程位置。

attrib -H 文件名 取消隐藏属性,很多时候我们定位到文件位置时,发现文件夹是空的,这时候就需要取消文件的隐藏属性并显示文件的后缀名。

2、排查账号

思路:

检查弱口令、可疑账号,比如新建账号、隐藏账号、克隆账号

相关命令:

net user查看当前系统的账号,与用户确认,是否有新建的可疑账号;询问用户账号口令是什么,是否存在弱口令。

WIN + R,输入lusrmgr.msc,查看是否有隐藏账号。

3、排查启动项

WIN + R,输入 regedit,打开注册表,看开机启动项。

WIN + R,输入msconfig 或【任务管理器】-【启动】

4、排查计划任务

【控制面板】-【计划任务】

cmd 输入at或schtasks.exe。

5、日志分析

WIN + R,输入 eventvwr.msc

重点看登录日志,看登录类型,2(网络共享)和10(远程桌面)是挖矿木马出现最多的登录类型。

根据样本文件的创建时间,排查这个时间段的登录情况。

2)Linux

1、排查进程

top命令检查CUP占用高的进程,确定PID,定位文件位置

netstat -anp 查看网络连接

ps -ef 查看可疑进程

ps -aux 查看进程

ls -alh /proc/PID 根据PID查看进程对应的可执行程序

kill -9 PID 结束进程

2、排查账号

cat /etc/passwd 查看用户信息

last 用户最近登录的信息

lastlog 所有用户最后一次登录的信息

lastb 用户登录失败的信息

history 历史命令

3、排查定时任务

crontab -l 查看计划任务

cat /etc/crontab 查看计划任务

crontab -u root -l 查看root用户的计划任务

ls /etc/cron* 查看计划任务文件

4、排查启动项

/etc/rc*

/etc/rc.d/rc

/etc/rc

/etc/rc.local

/etc/rc.d/rc.local

/etc/rc.d/rc

/etc/init/*.conf

五、挖矿木马应急实例

驱动人生挖矿木马:

利用永恒之蓝传播。

存在大量445连接行为,netstat -ano | grep 445

服务名包含drivers(\windows\system32\drivers\svchost.exe)

母体文件设置为隐藏,会创建多个计划任务(Rsta或其他随机名称),调用PowerShell。

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

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

相关文章

Git 使用教程:最详细、最正宗手把手教学(万字长文)

目录 一:Git二:SVN与Git的的区别三、安装Git四:常规操作五:远程仓库六:创建与合并分支七:bug分支八:多人协作九:git可视化工具 Git Git 是一种分布式版本控制系统,用于…

搭建免费的Plex媒体服务器 - 打造超级多媒体中心【异地远程连接】

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…

科普, API 是这么演变而来的

API,全称为 Application Programming Interface,中文翻译为应用程序编程接口,是为了方便应用程序之间的数据和功能交互而设计的一些标准方法。API 的使用让开发者能够快速、高效地构建应用程序,从而加速了应用程序的开发速度。在 …

第二章物理层

1.物理层的基本概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。 物理层协议的主要任务 机…

21.ThreadLocal有哪些内存泄漏问题?如何避免?

ThreadLocal有以下几个内存泄漏问题: 长期不清理:如果ThreadLocal对象被长期占用,且不及时清理,会导致内存泄漏;使用static ThreadLocal:如果将ThreadLocal定义为static变量,就会导致它的生命周…

Java程序设计-案例:自由落体

程序模拟物体从10000米高空掉落后的反弹行为。 球体每落地一次,就会反弹至原高度的一半。按用户输入的弹跳次数,计算球体每次弹跳的高度。 实现过程: 1. 新建项目; 2. 接收 用户输入的弹跳次数: (1&#…

全国快递物流 API 实现快递单号自动识别的原理解析

概述 全国快递物流 API 是一种提供快递物流单号查询的接口,涵盖了包括申通、顺丰、圆通、韵达、中通、汇通等600快递公司的数据。该 API 的目标是为快递公司、电商、物流平台等提供便捷、快速、准确的快递物流信息查询服务。 数据采集和处理 全国快递物流 API 的…

[深度学习]Ring All-reduce的数学性质

分布式深度学习里的通信严重依赖于规则的集群通信诸如 all-reduce, reduce-scatter, all-gather 等,因此,实现高度优化的集群通信,以及根据任务特点和通信拓扑选择合适的集群通信算法至关重要。 本文以数据并行经常使用的 all-reduce 为例来…

PCIe物理层链路训练和初始化(详细)总结附图文解析-PCIe专题知识(三)

目录 前言一、简介1.1 链路过程总结 二、基本概念2.1 常用字符序列2.1.1 TS1 TS2序列2.1.2 Idle序列2.1.3 FTS(Fast training sequence)序列2.1.4 SKIP序列 2.2 链路训练相关知识 三、具体过程3.1 detect状态3.2 polling状态3.3 config状态3.4 L0状态3.5 Recovery状态3.5.1 Rec…

【Git】全面详细了解开发者必备工具Git(2.0)

✍️ 作者简介: 前端新手学习中。 💂 作者主页: 作者主页查看更多前端教学 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 文章目录 学习目标起步——关于版本的控制  文件的版本  版本控制软件  使用版本控制软件的好…

Ubuntu 23.04 安装 Conda

Ubuntu 23.04 安装 Conda 1. 下载 Conda 安装脚本2. 运行安装脚本3. 安装完成后,关闭当前终端并打开新终端,这将激活 Conda4. 更新 Conda 至最新版本5. 添加必要的 Conda 通道以获取更多软件包6. 测试是否安装成功 1. 下载 Conda 安装脚本 wget https:/…

[Gitops--10]微服务项目部署流水线编写

微服务项目部署流水线编写 1. 部署环境说明 序号管理地址作用1192.168.31.199GitLab2192.168.31.104Harbor3192.168.31.131kubesphere 1.1 GitLab 1.2 流水线 1.2.1 创建流水线 1.2.2 创建凭证 1.2.3 创建kubeconfig凭证 这里需要注意的是,config中如果使用的是域名,那么需…

JavaWeb ( 三 ) Web Server 服务器

1.5.Web Server服务器 Web Server 服务器是一种安装在服务器主机上的应用程序, 用于处理客户端(Web浏览器)的请求,并返回响应内容。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流。 简单说就是将http协议的信息翻译成对应开发语言可以处理的对象信息。…

lombok常用的注解及使用方法

lombok是⼀种简化源码提⾼编程效率的⼯具&#xff0c;⽤于⽣成常⽤的代码。 如何使用lombok 引⼊依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</ver…

【ChatGPT】吴恩达『提示工程』课程完全笔记下载

版权说明&#xff1a;『ChatGPT Prompt Engineering for Developers』是DeepLearning.AI出品的免费课程&#xff0c;版权属于DeepLearning.AI(https://www.deeplearning.ai/)。 本文是对该课程内容的翻译整理&#xff0c;只作为教育用途&#xff0c;不作为任何商业用途。 吴恩达…

Activiti7流程操作详解

一、Activiti流程操作步骤 定义流程&#xff0c;按照BPMN的规范&#xff0c;使用流程定义工具&#xff0c;用流程符号把整个流程描述出来 部署流程&#xff0c;把画好的流程定义文件&#xff0c;加载到数据库中&#xff0c;生成表的数据 启动流程&#xff0c;使用java代码来操…

4D成像雷达风口,谁在快速崛起?

4D成像雷达正进入规模量产落地的关键窗口期。 高工智能汽车注意到&#xff0c;毫米波雷达的发展某种程度上可以分为两个阶段&#xff1a;第一个阶段&#xff0c;传统毫米波雷达时代&#xff0c;市场基本被博世、大陆、安波福等国际Tier1巨头把持&#xff0c;市场格局长期稳固&…

树形结构的三级分类如何实现?

概述&#xff1a; 本三级联动分类服务端使用的是: Springboot MyBatis-plus&#xff0c;前端使用的是&#xff1a;VueElementUI&#xff0c;树形控件使用的是el-tree。本三级联动分类可以把任一拖拽子项到其它目录&#xff0c;可以添加、编辑、删除分类。 效果图&#xff1a…

编译原理笔记(一)引论

文章目录 1.什么是编译程序2.编译过程和编译程序的结构2.1.编译过程概述2.2.编译程序的结构2.3.编译阶段的组合 3.解释程序和一些软件工具3.1.解释程序3.2.处理源程序的软件工具 4.PL/0语言编译系统 学习总结&#xff1a;这一部分是编译原理的绪论部分内容&#xff0c;对编译程…

Tokenizer分词

分词的一般流程 在使用神经网络处理自然语言处理任务时&#xff0c;我们首先需要对数据进行预处理&#xff0c;将数据从字符串转换为神经网络可以接受的格式&#xff0c;一般会分为如下几步&#xff1a; &#xff08;1&#xff09;分词&#xff1a;使用分词器对文本数据进行分…