故障表现:某天晚上突然收到某项目一台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. 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引

    系列背景 在进入微服务的实践系列之前,我们一起来学习和实践一下.NET应用开发生态中一些比较重要的技术,这个系列就是关于GraphQL在.NET 6应用中的实现. 系列导航 使用Hot Chocola ...

  2. JSF/SpringMVC/Struts2区别与比较

    转自SpringMVC与Struts2区别与比较总结 1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文, ...

  3. Hbuilder将移动app或者web项目打包

    1. 直接将项目 npm run build 打包生成dist文件 2.将dist文件放到Hbuilderx或者Hbuilder里面,这个时候你会发现他是w的,需要将其转换为A 点击该dist项目右键 ...

  4. mysql主从模型下如果保证主误删除数据,尽可能避免数据丢失方案

  5. golang中math常见数据数学运算

    package main import ( "fmt" "math" ) func main() { fmt.Println(math.Abs(-19)) // ...

  6. 整理全网最全K8S集群管理工具、平台

    整理常见的整理全网最全K8S集群管理工具.平台解决方案. 1 Rancher Rancher中文官网:https://docs.rancher.cn/ 2 KubeSphere 官网:https:// ...

  7. ansible lineinfile 关闭selinux

  8. Solaris平台,如何通过端口号快速查看PID(进程)

    1. vi /tmp/test.ksh #!/bin/ksh line='---------------------------------------------' pids=$(/usr/bin/ ...

  9. spring学习五:Spring Bean 定义继承

    Bean 定义继承 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置数据.子定义可以根据需要 ...

  10. JAVA多线程学习八-多个线程之间共享数据的方式

    多个线程访问共享对象和数据的方式 如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,买票系统就可以这么做. 如果每个线程执行的代码不同,这 ...