记一次Xmrig挖矿木马排查过程
问题现象
Linux 服务器收到报警信息,主机 CPU 跑满。

自动创建运行 Docker 容器 xmrig, 导致其他运行中容器被迫停止。

问题原因
通过 top 命令可以看到有一个 xmrig 进程占用了99%的 CPU。

经定位,该进程是一个挖矿木马程序,通过上述截图可以看到进程对应的 PID 为 2647,根据进程 ID 查询一下产生进程的程序路径:
ll /proc/2647/exe

查看进程:

尝试处理
首先停掉该 Docker 容器,并删除其对应镜像。
1. 查看计划任务
Linux 系统中默认创建了计划任务后会在 /var/spool/cron 目录下创建对应用户的计划任务脚本,查询一下系统中是否有异常的计划任务脚本程序:
ls /var/spool/cron
删除异常任务其配置项。如果当前系统之前并未配置过计划任务,可以直接删除计划脚本目录即可:
rm -rf /var/spool/cron/*
2. 查看密钥认证文件
删除木马创建的密钥认证文件,如果当前系统之前并未配置过密钥认证,可以直接清空认证存放目录:
rm -rf /root/.ssh/*
如果有配置过密钥认证,需要删除指定的黑客创建的认证文件即可。
3. 修复 SSH 配置项
一般默认脚本中进行修改的 PermitRootLogin、RSAAuthentication、PubkeyAuthentication 为开启状态,需要修改的是密钥认证文件名,建议修改成默认值 AuthorizedKeysFile .ssh/authorized_keys 即可。修改完成后重启 sshd 服务,使配置生效即可。
4. 查看开机启动脚本
执行 systemctl list-unit-files 发现可疑程序:

进入 /etc/systemd/system/ 目录找到并查看该脚本:

该脚本执行了 /xm 脚本,并且总是会重启服务。如果此程序不进行清除,即使删除了 Docker 容器并杀死了对应的进程,过一会还是会执行重新创建 Docker 容器,又导致服务器异常。
因此,先停止启动脚本配置项:
systemctl disable name.service
删除脚本:
rm -rf /etc/systemd/system/xm.service
rm -rf /xm
以上修复完成后可以等待一会再次进行一下观察,看看是否还会在根目录下创建新的 xm 程序,以及是否还有新的 xmrig 进程产生。
记一次Xmrig挖矿木马排查过程的更多相关文章
- 解Bug之路-记一次存储故障的排查过程
解Bug之路-记一次存储故障的排查过程 高可用真是一丝细节都不得马虎.平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug.偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题, ...
- Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
线上某服务 A 调用服务 B 接口完成一次交易,一次晚上的生产变更之后,系统监控发现服务 B 接口频繁超时,后续甚至返回线程池耗尽错误 Thread pool is EXHAUSTED.因为服务 B ...
- Watchbog挖矿病毒程序排查过程
第1章 情况 1)服务器收到cpu报警,cpu被占用达到100%,登录服务器查看,发现cpu被一个watchbog的进程占满了,如下图所示: 2)并且无论如何都杀不掉,用kill杀掉后,其还是会隔一会 ...
- 解Bug之路-记一次中间件导致的慢SQL排查过程
解Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,正好博客也好久不更新了,就以此为素材写出了本篇文章 ...
- 记一次生产环境Nginx日志骤增的问题排查过程
摘要:众所周知,Nginx是目前最流行的Web Server之一,也广泛应用于负载均衡.反向代理等服务,但使用过程中可能因为对Nginx工作原理.变量含义理解错误,或是参数配置不当导致Nginx工作异 ...
- 记一次线上bug排查-quartz线程调度相关
记一次线上bug排查,与各位共同探讨. 概述:使用quartz做的定时任务,正式生产环境有个任务延迟了1小时之久才触发.在这一小时里各种排查找不出问题,直到延迟时间结束了,该任务才珊珊触发.原因主要就 ...
- Mac下一款门罗币挖矿木马的简要分析
背景 最近在应急中发现了一款Mac上的挖矿木马,目标是挖门罗币,经过走访,受害用户都有从苹果电脑上安装第三方dmg的经历(其中可以确定一款LOL Mac私服安装app会导致该木马),怀疑在网上很多第三 ...
- 威胁快报|Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复
背景 近日,阿里云安全监测到watchbog挖矿木马使用新曝光的Nexus Repository Manager 3远程代码执行漏洞(CVE-2019-7238)进行攻击并挖矿的事件. 值得注意的是, ...
- 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
简介 阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件.除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐 ...
随机推荐
- 关于利用glassfish部署Java EE的firstcup-war时报错
在利用maven+glassfish打包部署Java EE的firstcup-war时报错 1.在利用glassfish部署firstcup-war.war文件时提示如下错误信息: 根据上面的错误提示 ...
- Scrapy初体验(一) 环境部署
系统选择centOs 7,Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, ...
- 玩转UITableView
UITableView这个iOS开发中永远绕不开的UIView,那么就不可避免的要在多个页面多种场景下反复摩擦UITableView,就算是刚跳进火坑不久的iOS Developer也知道实现UITa ...
- 开发过程中关于JSON的那些事
在使用过程中,对JSON了解的还不够,特地整理一下,用于个人学习和知识参考. 1.IBM的json入门指南 json官网 2.javaweb中发送接收解析问题 3.Java解析json,以及js ...
- 【转载】java 获取路径的各种方法
转载只供个人学习参考,查看请前往原出处:http://www.cnblogs.com/guoyuqiangf8/p/3506768.html 主要方法有: (1).request.getRealPat ...
- Ubunt 16.04 安装 Beyond compare 4
1. 下载安装包: 2. 安装步骤 3. 运行并注册 之前Beyond compare 3 只有32位,在Ubunt 16.04上运行效率非常低,所以只有安装最新的Beyond compare 4,安 ...
- PS4游戏将登陆PC:一曲属于主机的悲歌
曾经,红白机.PS游戏机等成为一代人难以磨灭的记忆.而随后的索尼PS3.微软Xbox 360.任天堂Wii U等,也称霸了次时代主机时代,成为家庭娱乐的中心.但面对着依托于PC和智能移动终端 ...
- .NET Core 获取程序运行环境信息与反射的应用
目录 RuntimeInformation.Environment 获取信息 反射获取信息 获取某个属性的值以及别名 反射获取信息 使用 总结 笔者的九篇反射系统文章已经完结,但是笔者会持续更新反射在 ...
- Kubernetes搭建过程中使用k8s.gcr.io、quay.io、docker.io的镜像加速
前言 因为众所周知的原因,在使用Kubernetes和docker的时候会出现一些镜像无法拉取或者速度较慢的情况,错误信息类似以下: [ERROR ImagePull]: failed to pull ...
- plsql-工具安装部署及使用配置
参考文档链接:https://blog.csdn.net/li66934791/article/details/83856225 简介: PL/SQL Developer是一个集成开发环境,专门开发面 ...