故障表现:某天晚上突然收到某项目一台web服务器CPU报警,SSH连接困难卡顿,登陆后发现CPU使用率飙升到700%,第一感觉是被黑了,来事了。

故障处理:

1.登陆上后发现有好多莫名的命令(who/whoami/cat resolv.conf等,可见木马脚本还未被杀禁)kill -9后发现木马进程过段时间还会启动,所以肯定是有计划任务,去查看crontab果然有,删除后,chattr +i /etc/crontab禁止再被修改;

cat /etc/cron.hourly/gcc.sh(也可能是gcc4.sh)

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done
cp /lib/libudev4.so /lib/libudev.so.6
/lib/libudev4.so

可以确定/lib/libudev4.so就是木马本体,可是删除后又会产生,用chmod 000 /lib/libudev4.so && chattr +i /lib/libudev4.so 去除执行权限并且锁住,一会再处理掉;

2.再检查别的启动项,/etc/rc.local文件中也被添加了启动脚本,/etc/init.d/中添加了启动项,删除掉并chattr +i  /etc/rc.local && chattr +i  /etc/init.d/

3.怕黑客还连在服务器上,用who命令看看连接的用户没有异常。检查秘钥,果然看到authorized_keys文件被添加了1个公钥,删除掉并chattr +i  /root/.ssh/authorized_keys; 
至此,登陆的后门和木马的计划任务已经清理结束,开始清理现有木马进程;
 

4.先使用lsof -R | grep "/usr/bin" 查看/usr/bin/下运行的程序,然后使用ls -lt /usr/bin | head 查看/usr/bin下最近修改的文件,pkill掉相关进程,rm -fr /usr/bin/klxgfnwgpc && chattr +i /usr/bin/ 删除并锁定;

/bin下也有,可见这病毒复制之多,同4一样处理掉;

5./etc/rc0.d中也有 删除之 从rc0.d-rc6.d中都有!

!!!至此 木马病毒清理完毕  观察一段时间后没有新的木马生成启动,再把之前锁掉的目录文件用chattr -i解锁掉!!!
 
后记:病毒是因为此台机器上面跑着tomcat,因为struts2漏洞导致的,具体可参考http://www.codesec.net/view/546457.html
 
总结:1.防范最重要,有漏洞一定要重视不要抱着侥幸的心态,即使中招了也不要慌,一步步分析(譬如病毒会杀掉后还会启动,这里就要一定怀疑是有计划任务!);
         2.病毒程序可能会替换掉一些程序,譬如ps/lsof/netstat/ss这4个命令,要跟别的服务器中相关命令比较下大小就能看出区别,然后拿过来替换掉;
         3.最重要的一点:liunx的时间不会骗人!善用 ls -lt 查看最近修改过的东西就能发现病毒的马脚;
         4.chattr +i加锁;
 
 
 

linux服务器随机10字符病毒/libudev4.so病毒清理的过程的更多相关文章

  1. 转:Linux下随机10字符病毒的清除

    病毒表现:网络流量暴满,疯狂地向香港的一个IP发数据,同时在top里面表现为随机的10位字母的进程,看/proc里面的信息,则为ls,cd之类常见的命令,CPU利用率也在top之首.杀死该进程后,会再 ...

  2. 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化

    高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...

  3. linux服务器报No space left on device错误的解决过程记录

    起因 今天在本地提交了点代码,但到服务器上git pull的时候提示No space left on device,第一反应是猜想可能硬盘满了(很有可能是log导致的),不过想想又觉得不太可能,这台服 ...

  4. 1分钟内检查Linux服务器性能的10条命令

    如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?Netflix性能工程团队的Brendan Gregg写下了这篇博文,来看他们是怎样通过十条命 ...

  5. 线上Linux服务器运维安全策略经验分享

    线上Linux服务器运维安全策略经验分享 https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&a ...

  6. linux服务器开发三(网络编程)

    网络基础 协议的概念 什么是协议 从应用的角度出发,协议可理解为"规则",是数据传输和数据的解释的规则. 假设,A.B双方欲传输文件.规定: 第一次,传输文件名,接收方接收到文件名 ...

  7. Linux服务器运维安全策略经验分享

    http://jxtm.jzu.cn/?p=3692 大家好,我是南非蚂蚁,今天跟大家分享的主题是:线上Linux服务器运维安全策略经验.安全是IT行业一个老生常谈的话题了,从之前的“棱镜门”事件中折 ...

  8. 【微学堂】线上Linux服务器运维安全策略经验分享

      技术转载:https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&sn=6d403ab4 ...

  9. Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,运用Ntop监控网络流量

    Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量 ...

随机推荐

  1. WPF学习笔记(四):AvalonEdit 代码高亮编辑控件专题

    AvalonEdit 是一个基于 WPF 的文本编辑器组件.它是由 Daniel Grunwald 为 SharpDevelop 编写的.从 5.0 版开始,AvalonEdit 根据MIT许可证发布 ...

  2. QT之键盘事件

    Widget.h: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include<QKeyEvent> #incl ...

  3. gin中XML/JSON/YAML/ProtoBuf 渲染

    package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/testdata/p ...

  4. 使用Hot Chocolate和.NET 6构建GraphQL应用(4) —— 实现Query映射功能

    系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在上一篇文章使用Hot Chocolate和.NET 6构建GraphQL应用(3) -- 实现Query基 ...

  5. django学习总结1

    ## 内容回顾 #### 1.所有的命令 ##### 下载安装 ​ pip install django==1.11.20 - i 源 ##### 创建项目 ​ django-admin startp ...

  6. java中的数据模型类

    package com.aaa.zxf.ajax.test; import java.io.Serializable; /** * java中的继承. * * 一.数据模型类 * 数据模型类:用来存取 ...

  7. X000001

    一些相互无关联的题目的集合 都是码量不大,略有思维难度的题 做起来还是很舒适的 P6312 [PA2018]Palindrom 空间限制很小,不足以存下整个字符串,故暴力判断不可行. 考虑使用字符串哈 ...

  8. CF1270G Subset with Zero Sum

    首先一定要从每个数的范围 \(i - n \le a_i \le i - 1\) 入手,最开始是这样一个想法,不难发现对于每个 \(i\) 都能选 \(n\) 个数,并且能选的右端点在 \(i - 1 ...

  9. Hive安装教程

    Hive的安装和使用 我的版本: JAVA_HOME=/usr/local/soft/jdk1.8.0_171 HADOOP_HOME=/usr/local/soft/hadoop-2.7.6 HIV ...

  10. [ACM]Link-Cut Tree实现动态树初探

    动态树问题是指的一类问题,而不是具体指的某一种数据结构.它主要维护一个包含若干有根树的森林,实现对森林的修改和查询等. 实现动态树的数据结构据说主要有4种,Link-Cut Tree是其中的一种.Li ...