Linux挖矿病毒清理流程

1.前言:

根据阿里云快讯病毒公布:

Redis RCE导致h2Miner蠕虫病毒,其利用Redis未授权或弱口令作为入口,使用主从同步的方式从恶意服务器上同步恶意module,之后在目标机器上加载此恶意module并执行恶意指令。在以往常见的攻击者或蠕虫中,其大多都沿用登陆redis后写入定时任务或写ssh key的方式进行入侵,这种方式受权限与系统类型影响并不一定能够成功。而此次使用redis加载module的攻击方式,可以直接执行任意指令或拿到shell交互环境,危害极大。

当服务器中毒了,使用SSH/FTPS大多连接不上的。这时候就需要到云平台,使用VNC方式登录。

2.确认Linux是否是中毒

1.使用命令查看当前系统所有进程

一般消耗CUP或者内存90%以上的基本都是病毒,常见的挖矿进程:xfsdatad、rshim、YDService.exe、kinsing、kdevtmpfsi、sysupdate、systemxlv、kthreaddi、kthreaddk 等,病毒进程一版都会跟系统进程名称相似,要注意区分

top 或 ps aux | less

注:top实时监控退出按键:q

2.查看隐藏进程

如果top命令查看没发现异常,但是服务器依然很卡,服务器资源占用居高不下,那就换个命令,查看是否存在隐藏进程

ps -aux --sort=-pcpu|head -10

3. 确定病毒攻击方式

1.使用命令查看系统日志:

cat /var/log/secure

1.1分析日志文件,看看是否是远程强行破解系统密码,如下:如果是远程登录root,清理病毒后要修改root的密码

1.2如果不是远程登录root,很可能是redis远程登录导致:1.1.2查看redis连接记录:

lsof -i:6379

如果有大量异常链接,立即找到redis安装路径,打开 redis.conf

vim redis.conf

把 bind:127.0.0.1 打开,重启redis

ps -ef | grep rediskill -9 PID./src/redis-server ./redis.conf

1.1.3如果redis也没有问题,那就查看系统其他用户:查看系统用户

vim /etc/shadow 或者 vim /etc/passwd

检查是否有异常的用户名,如果有就删除

userdel -r 用户名

4.查看单个进程的执行日志:

more /var/log/cron log | grep "进程名称"

3.病毒查杀

1.先确定挖矿进程的PID

根据 top 查到的病毒进程,利用PID查看一系列的相关守护进程:

systemctl status PID

查看所有的守护进程,示例图:

2.根据展示出来的守护进程,从最高层守护开始杀起(先杀父类)。

删除最顶层fule守护进程:

 rm -rf 路径  或 find / -name "*路径*" | xargs rm -rf

有某部分比较刁钻的病毒会报告:rm: cannot remove '文件名称 ': Operation not permitted

这种情况可能性一,不在root的权限下,切换root再操作。可能性二:病毒使用了chattr 文件锁定的命令。我们只要先执行文件解锁,然后就可以正常删除了

chattr -i 文件名称
ps -ef | grep 守护进程名称  

或者

ps -ef | grep 守护进程名称 | grep  -v grep
kill -9 PID

注意,有部分挖矿在删除时会触发自我复制,所以删除前可以先控制权限和删除定时扫描:

chmod 600 守护进程路径

查看定时器,需要在root权限操作:

查看所有定时器

crontab -l

如果确认linux服务器重来没有建过定时任务,就可以全部清除

crontab -r

如果有自定义的定时器就可以编辑:

crontab -e

手动删除可疑任务后保存退出

很多病毒是会扫描定时器的,所以在清除定时任务之前,需要把病毒守护进程里面的病毒文件先降低权限才会生效 命令:chmod 600 守护进程路径

权限降低,清除定时任务 那就可以逐个杀死进程了,由下往上一个个 kill -9 进程号,例如:先杀 9015

把进程全干掉后就删除对应文件(根据进程树中的文件路径)

3.如果没有守护进程,那就更简单,直接先控制文件权限,然后停止进程,清理定时任务,最后删除病毒路径即可。

到此,病毒清理完成。

4.其他安全建议:

1.禁止root登录

使用自定义的用户登录,再切换Root即可

2.查看SSH链接公钥,清除所有可疑的公钥。

一般只用用户名密码登录的服务器是不会有公钥文件的,如果有也是空文件。查看公钥文件:

vim /root/.ssh/authorized_keys

# 解除锁定
chattr -i /root/.ssh/authorized_keys

# 编辑权限
chmod 777 /root/.ssh/authorized_keys

# 清空或清除不是自建的authorized_keys
vi /root/.ssh/authorized_keys

# 清空后恢复权限
chmod 400 /root/.ssh/authorized_keys

# 锁定authorized_keys
chattr +i /root/.ssh/authorized_keys

# 防止通过重命名.ssh文件夹绕过设置
chattr +i /root/.ssh

3.一定要打开防火墙

查看防火墙状态命令:

systemctl status firewalld

如果不是显示active状态,需要打开防火墙,注意要配置穿透自己需要用到的端口号

systemctl start firewalld

4.要尽量禁止redis的远程访问,redis必须要设置访问密码。

5.Linux病毒防护软件:

安装clamAV:

yum -y install clamav

更新病毒库(需要时间很长,大约20~30分钟):

freshclam

查杀当前目录并删除感染的文件:

clamscan -r --remove

查杀当前目录并删除感染的文件:

clamscan -r

clamAV帮助命令:

clamscan help

如有错漏或者有更好的技巧,麻烦留言交流。共同进步!!!

Linux挖矿病毒清理流程相关推荐

  1. linux 挖矿病毒清理

    从11月6号开始,公司上网就经常断网,路由器的cpu使用率达到95%以上,大概2分钟一次.导致整个公司无法使用网络.在路由器上,能看到有一台linux的生产服务器的对外连接数达到35万以上. 进入这台 ...

  2. 公司某应用服务器被挂挖矿病毒处理流程

    公司某应用服务器被挂挖矿病毒处理流程 2021年7月20日 本来正在高高兴兴做项目,突然接到一个老客户的电话,跟我说他们的服务器被人植入了挖矿病毒,cpu爆满. 好家伙,客户上来给我发了个病毒扫描文件 ...

  3. Centos/Debian 占用CPU100%挖矿病毒清理

    Cetnos/Debian 占用CPU100%挖矿病毒清理 ①top命令查看病毒进程,现在它一般由十位数随机字符串组成 找到进程ID,例如7538,执行: systemctl status 7538 ...

  4. linux挖矿的清理工具,Linux挖矿病毒的清除与分析

    文章目录 起因 清除过程 确定病因 开始清除 复发 定时任务 update.sh分析 修复 样本分析:networkservice文件的分析 分析准备 功能分析 sysguard 样本下载 *本文中涉 ...

  5. Linux——挖矿病毒(sysupdate, networkservice进程)清除解决方案

    问题描述 Linux进程 阿里云管理控制台看看CPU占用率 解决方案 top命令 获取进程号 查看进程运行的文件位置 ls 命令 ls -l proc/{进程号}/exe sysupdate.netw ...

  6. Linux挖矿病毒事件应急响应演练(dbused木马)

    文章目录 1 环境准备 2 攻击阶段 3 应急响应 3.1 检测阶段 3.2 根除阶段 1 环境准备 **攻击机**:kali(192.168.130.131) **靶机**:Ubuntu(192.1 ...

  7. Linux挖矿病毒的清除与分析

    清除过程 确定病因 这个病毒还不是算很变态,很多挖矿病毒,使用top命令都看不到挖矿程序的进程. 基本可以确定这个占据绝大部分cpu资源的进程sysupdate,就是挖矿程序了,我们需要先找到他. 使 ...

  8. python挖矿脚本_windows应急响应 -- powershell挖矿病毒清理办法

    一.关于powershell挖矿病毒 在2019年4月22号,对公司几台服务器进行进行病毒排查,发现有两台windows服务器CPU使用过高,查看进行时发现poweshell进程占用CPU, 通过百度 ...

  9. Linux挖矿病毒排查(通过redis入侵服务器原理)

    入侵原理 攻击者通过redis连接服务器在服务器上写入ssh免密登录的公钥 1.生成 ssh 公私钥文件, 写入待发送文件* ssh-keygen -t rsa -C "xxx"* ...

最新文章

  1. Centos7安装Nginx详细步骤
  2. 远程办公是巨头游戏?十倍扩容,他们如何做到百万级并发流量
  3. python爬虫什么书好_初学python爬虫看什么书
  4. 详解Xcode 4发布程序图文并茂教程
  5. python播放wav文件_python3 写一个WAV音频文件播放器的代码
  6. java 找不到构造函数_JAVA找不到符号构造函数
  7. 骚年快醒醒,你适合转行做前端吗?
  8. 微信支付开发(2) 扫码支付模式一
  9. 蓝桥杯历届试题-六角填数(12)
  10. java 定位打印_Java定位打印(Java location printing).doc
  11. vue框架安装mock
  12. CSS详解(一)——CSS基本原理
  13. 基于VHD和grub4dos的秒还原系统
  14. [转载]dilated conv带孔卷积、pooling层提高感受野 反卷积 的理解
  15. 【思特奇杯·云上蓝桥-算法训练营】第1周:excel地址
  16. python中excel处理及生成图表
  17. UI层自动化测试框架(四):对象库层
  18. 蓝桥杯之Python算法设计系列(二)
  19. 用python画雪人-萌系新潮玩,唱多多小雪人麦克风天猫独家首发
  20. 【ML】异常检测、PCA、混淆矩阵、调参综合实践(基于sklearn)

热门文章

  1. Visio二次开发(一)----巧用Visio宏
  2. 北京海淀区统计数据集(2016年3月-2019年3月)
  3. java编辑环境变量path的路径_环境变量path配置(梦开始的地方)
  4. 如何实现上传多个图片并依次展示_Html5实现单张、多张图片上传功能
  5. HBase学习(7)-HBase原理
  6. idea中java件带锁标记_java中的锁
  7. 计算器算贝塞尔公式_最新狗狗年龄换算公式出炉!2岁居然这么老...
  8. windows:查看端口占用情况相关命令
  9. 温馨提示:欠谁钱,也别欠阿里云的钱!!!
  10. Android中Listview(七)--排序ListView