记一次清除Linux挖矿病毒的经历(sysupdate, networkservice进程)_小陈没烦恼的博客-程序员ITS301_networkservice进程

技术标签: 运维  linux  服务器  centos  

前言

今天登上服务部署个文件,然后顺便看了一下cpu占用情况,然后我就发现CPU爆满,因为之前遇见过这个问题让别人给解决了,据说这是被挖矿了。通过kill命令结束掉这个进程一会就自己有起来了,所以我就百度了一下。看来还真有小伙伴跟我一下,所以我也自己记录一下,方便以后查看。

查看CPU使用情况

通过top命令查看cpu占用情况,发现有一个程序占用90%多的cpu资源,那么着肯定是不正常。而且我们的发现他个伪装成了系统更新,可能小白中的小白就真的误以为系统更新占用了cpu。

file

file

删除木马文件

1、清除源程序

然后通过ls -l proc/进程号/exe命令查看定位木马程序所在的目录,然后去把它删掉。

file

我们去/etc目录下果然发现了,有sysupdate.sh执行文件,随之还有一些其他的源程序,我们需要将这些程序一并删除。
使用rm -rf命令将sysupdate、networkservice 、sysguard、update.sh 这四个文件删除,发现没有权限,因为一般病毒会使用chattr +i命令,我们使用chattr -i sysupdate,然后再 rm -rf sysupdate 即可正常删除。其他文件也是先执行chattr -i 命令 然后在执行rm -rf命令

2、清除定时任务

rm /var/spool/cron/root 或crontab -r

修复服务器

1、修复SELinux被关闭了,需要重新打开。

病毒脚本首先就会尝试关闭SELinux子系统,我们可以使用getenforce命令查看SELinux状态。我们发现SELinux被关闭了,需要重新打开。file

如果你想要重新打开,可以修改/etc/selinux/config文件将SELINUX=disabled改为SELINUX=enforcing,然后重新启动服务器。

2、修复wget命令和curl命令

wget命令和curl命令会被改为wge和cur,需要将他改回默认配置。

mv /bin/wge /bin/wget
mv /bin/cur /bin/curl
mv /usr/bin/wge /usr/bin/wget
mv /usr/bin/cur /usr/bin/curl

3、修改authorized_keys

它在 /root/.ssh/authorized_keys里面,添加病毒作者自己的公钥,保证其可以使用 SSH 登录到服务器,所以需要将它删除。rm -rf /root/.ssh/authorized_keys
温馨提示:不确定的文件在删除前一定要先备份哦!

安全加固

新建一个用户,然后禁止root用户ssh登录
参考链接1:记录一次清除Linux挖矿病毒的经历(sysupdate, networkservice进程)_注意措辞的博客-程序员ITS301_sysupdate
参考链接2:Linux挖矿病毒-sysupdate, networkservice清除记_wj-1024的博客-程序员ITS301您的点赞就是对我最大的支持,愿您事事没烦恼,天天没Bug!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41772384/article/details/124251714

智能推荐

构建器(Builder)设计模式_Allen_by的博客-程序员ITS301

构建器(Builder)模式是一种独特的设计模式,它有助于使用简单对象构建复杂对象并使用算法,这种设计模式属于创建型模式,在这种设计模式中,构建器类逐步构建最终对象。该构建器独立于其他对象。构建器(Builder)模式的优点它提供了清晰的分离和独特的层次,可以在构建和表示由类创建的指定对象之间进行表示。它可以更好地控制所建模式的实现过程。它提供了改变对象内部表示的场景。class Gen...

酒店管理系统详解._lwj_07的博客-程序员ITS301_酒店管理系统

项目要求:为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。1、该系统的用户是:酒店前台。2、酒店使用一个二维数组来模拟。"Room[] [] rooms;"3、酒店中的每一个房间应该是一个java对象:Room4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲.5、系统应该对外提供的功能:可以预定房间:用户输入房间编号,订房。可以退房:用户输入房间编号,退房。可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。大概思路:

Android Image文件结构_chuifuhuo6864的博客-程序员ITS301

1. ramdisk.img 一个分区影像文件,它会在kernel 启动的时候,以只读的方式被 mount ,这个文件中只是包含了 /init 以及一些配置文件,这个ramdisk 被用来调用init,以及把真正的root file system mount 起来。它经常被...

网络数据包发送接收全过程_weixin_34138139的博客-程序员ITS301

2019独角兽企业重金招聘Python工程师标准>>> ...

creator打包替换图标跟游戏名称(详细步骤)_加钱居士的博客-程序员ITS301

更改游戏名称在使用creator构建时,最上方的游戏名称就是我们的安装到手机上的名字,但是不允许是中文但是有的项目游戏名称是中文的怎么改呢?在构建之后,编译之前更改游戏名称构建完成后,在我们的发布路径下找到如图文件更改成游戏的中文名字保存即可继续编译,成功后安装到手机就是中文的名字了更改游戏icon跟更改游戏名称一样的时段,也是在构建完成后,编译之前,在如下图路径找到默认的icon,替换成自己的icon即可注:四个文件夹里的icon分别对应不同的分辨率,.

DL4J中文文档/开始/从源码构建_bewithme的博客-程序员ITS301

在本地从主干构建注意:大多数用户应该使用Maven Central上的快速入门指南,而不是从源代码构建。除非你有一个非常好的从源码构建的理由(例如开发新的特性——不包括自定义层、自定义激活函数、自定义丢失函数等——所有这些都可以在不直接修改DL4J的情况下添加),否则不应该从源码构建。从源码上构建可能相当复杂,在很多情况下都没有好处。对于那些喜欢使用最新版本的Deeplearning4...

随便推点

window下node版本切换_monstkl的博客-程序员ITS301

概述:使用node版本管理工具nvm(在mac上使用的是n)注意:首先要下载nvm安装程序;有了安装程序后,要卸载电脑上的node,以及它的文件夹,然后在安装nvmnvm命令:nvm list 查看所有版本nvm use 10.15.3nvm install 10.15.3...

JavaScript 判断对象中是否存在值_chase…的博客-程序员ITS301_判断对象是否有值

方法一if(Object.values(obj).length>0){ // 有值 }方法二let arr = []for (let key in obj) { arr.push(obj[key]) }两者的比较,key 有时 values 不一定有let obj = { a: '', b: undefined, c: 1, d: null, "": "", 0: ''}let arr = []for (let key in obj)

【opencv】矩形检测_BHY_的博客-程序员ITS301_opencv检测矩形

#include "cv.h"#include "highgui.h"#include <stdio.h>#include <math.h>#include <string.h>////////////////////////////////////////////////////////////////////函数功能:用向量来做COSα=两向量之积/两向量模的乘积求两条线段夹角//

使用Navicat导入.csv文件(过程和注意点)_王小希ww的博客-程序员ITS301_navicat导入csv文件

转载使用Navicat导入.csv文件(过程和注意点)1、创建一个数据库,右键点击表,选择导入向导。2、在跳出的弹窗中选择.CSV文件,点击下一步3、选择文件来源和编码规格,点击下一步如果发现上传后中文出现乱码请使用10008这个编码规则4、选择分隔符,一般这里直接默认就好了,点击下一步5、选择时间的分隔符,点击下一步注意:如果日期的分隔符不一致,则会导致日期数据全是0000:00:00:00:00:00这样的数据6、选择目标表,如果有对应的表就直接选择哪个表,没有表的话就选择新建,点击下一

java判断字符串st6_是否包含st5_java系統學習(十四) --------常用數據結構_快乐小学僧的博客-程序员ITS301

鏈表什么是java中的鏈表如果把數組作為一種數據結構,可能更容易理解。數組這種結構有一個很大的缺點,數組中的所有元素都按序排列,如果要刪除其中一個元素,后面的所有元素都需要依次向前移動一個位置。如果這個數組中的元素很多,那么依次移動的次數就會明顯增多,從而耗費大量的系統資源。為了解決這個問題,引入了鏈表。在Java語言中,鏈表中的元素存儲在一條鏈的節點上,而不是像數組那樣按序存儲在一系列連續的空間...

Java架构学习(十七)Http与Https区别&HttpClient发送请求&使用Postman&防止模拟请求&Token令牌&xss攻击防御_李初新的博客-程序员ITS301_防止postman请求

表单重复提交&amp;amp;amp;amp;amp;amp;amp;amp;amp;防止模拟请求&amp;amp;amp;amp;amp;amp;amp;amp;amp;跨域解决方案一、Http与Https的区别Https与Http最大的区别: Https:是走ssl+证书加密传输的 缺点:效率低、安全非常高 http:不是加密的。是不安全的,使用抓包工具可以抓到。1、笔记本上创建一个wifi2、手机连接wifi 可以进行对手机进行抓包分析。post请求:浏览器看

推荐文章

热门文章

相关标签