Linux下随机10字符病毒的清除

故障表现:

登陆服务器执行sar –n DEV,查得向外流量输出达到120Mbit/s多,cacti显示占满总出口流量

故障判断:

  1. 关闭所有对外应用服务,即tomcat、nginx、vsftp,但关闭之后发现流量依然非常高
  2. 使用Ps –ef和netstat -ntplua检查可疑进程和端口,发现有进可疑进程netstat ps lsof等系统命令跑在/usr/bin/dpkgd目录里,而原系统命令已失效,得知系统已中木马病毒程序

故障排查:

  1. 用其他服务器上相同系统版本的命令替换回netstat ps lsof等系统命令
  2. 凭经验查看tomcat的目录内容是否存在木马程序,发现果然有L26_1000的异常程序存在,但删除之后,立马又重新生成。

还有木马病毒在top里面表现为随机的10位字母的进程,看/proc里面的信息,则为ls,cd之类常见的命令。杀死该进程后,会再随机产生一个新的进程,删除这些木马文件后,会再重新生成新的木马文件。由此可以判断,木马病毒会自动修复,多个进程之间会互相保护,一旦删除和被杀,立即重新启动和复制。

  1. 被感染的文件路径列表:

/boot    中有随机的10位字母的进程执行文件,且有部分系统命令被替换

/bin     中有随机的10位字母的进程执行文件,且有部分系统命令被替换

/sbin     中有随机的10位字母的进程执行文件,且有部分系统命令被替换

/usr/bin   中有随机的10位字母的进程执行文件,且有部分系统命令被替换

/usr/sbin   中有随机的10位字母的进程执行文件,且有部分系统命令被替换

/u02/apache-tomcat-6.0.41/bin  中有L26_1000的异常程序

/etc/init.d   中有随机的10位字母的进程执行文件

/etc/rc.d/rc[0-6]d  中有随机的10位字母的进程执行文件

/etc/rc.local  木马已被写入启动项

/etc/crontab   木马已被写入crontab中,每3分钟执行一次

/etc/cron.hourly  木马已被写入cron每小时执行的脚本中

  1. 木马程序处理时的具体表征:
  2. 1)/proc/_pid/cmdline里面都是伪造的信息,ps显示的内容也一样,基本上为下面一些常见的命令,混淆管理员眼光查询线索,核验这一个,可以尝试把who等不常见的命令禁用执行权限,但随后却会发现该命令不停地出现在ps -Af里面:

gnome-terminal

ls -a

route -n

netstat -antop

ifconfig

sh

cd /etc

bash

who

cat resolv.conf

ps -ef

cat resolv.conf

2)  ps -AfH,显示为以上的命令,但是ppid(父id)为1,则为init,所以这个应该是跟某个服务相关的。

ps-AfH

root     17796    1  0 11:54 ?        00:00:00   route -n

root     18008    1  0 11:55 ?        00:00:00   netstat -antop

root     18011    1  0 11:55 ?        00:00:00   ifconfig

root     18014    1  0 11:55 ?        00:00:00   sh

root     18015    1  0 11:55 ?        00:00:00   cd /etc

root     18016    1  0 11:55 ?        00:00:00   bash

root     18028    1  0 11:55 ?        00:00:00   who

root     18031    1  0 11:55 ?        00:00:00   cat resolv.conf

root     18033    1  0 11:55 ?        00:00:00   ps -ef

用pstree可以看到真实的名字:

|-irqbalance--pid=/var/run/irqbalance.pid

|-jbguikdekd

|-jbguikdekd

|-jbguikdekd

|-jbguikdekd

|-mingetty/dev/tty2

|-mingetty/dev/tty3

|-mingetty/dev/tty4

|-mingetty/dev/tty5

|-mingetty/dev/tty6

3)凭经验检查crontab,经查找在/etc/cron.hourly/里面写入以下内容:

#cat /etc/cron.hourly/kill.sh

#!/bin/sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin

fori in `cat /proc/net/dev|grep :|awk -F: {‘print $1‘}`; do ifconfig $i up&done

cp/lib/libudev.so /lib/libudev.so.6

/lib/libudev.so.6

从这个地方可以看到病毒本体:/lib/libudev.so,这个文件看起来应该是一个库文件,但是用file查看,这个文件则为一个可执行文件,请注意下面的两个文件,一个为executable(可执行的),另一个则为正常的共享库(shared object):

#file libudev.so

libudev.so:ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked,for GNU/Linux 2.6.9, not stripped

正常的库文件应该为:

#file libutil-2.12.so

libutil-2.12.so:ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked(uses shared libs), for GNU/Linux 2.6.18, not stripped

把这个文件取消可执行权限,但是病毒故障依旧。

4)  因为这个病毒不断自我启动,并且父进程号为1,所以应该和init有关,所以查看/etc/init.d,发现里面果然有启动项,删除之。在/etc/rc.d/rc3.d/里面,也有类似的好几个启动项,一并删除。

删除后,发现仍然不能杀死,杀死后马上重建一个新的,用lsof 查看:

#lsof -R  | grep "/usr/bin"

top        9512 9478      root  txt      REG      253,0    63856    421158 /usr/bin/top

fhmlrqtqv17161     1      root txt       REG      253,0  625729     393335/usr/bin/fhmlrqtqvz

fgqnvqzzc17226     1      root txt       REG      253,0  625740     393427/usr/bin/fgqnvqzzck (deleted)

fgqnvqzzc17229     1      root txt       REG      253,0  625740     393427/usr/bin/fgqnvqzzck (deleted)

fgqnvqzzc17232     1      root txt       REG      253,0  625740     393427/usr/bin/fgqnvqzzck (deleted)

fgqnvqzzc17233     1      root txt       REG      253,0  625740     393427/usr/bin/fgqnvqzzck (deleted)

fgqnvqzzc17234     1      root txt       REG      253,0  625740     393427/usr/bin/fgqnvqzzck (deleted)

# lsof -R

fhmlrqtqv17161     1     root  cwd       DIR     253,0     4096          2 /

fhmlrqtqv17161     1      root rtd       DIR      253,0    4096          2 /

fhmlrqtqv17161     1      root txt       REG      253,0  625729     393335/usr/bin/fhmlrqtqvz

fhmlrqtqv17161     1      root   0u      CHR        1,3     0t0       4023 /dev/null

fhmlrqtqv17161     1      root   1u      CHR        1,3     0t0       4023 /dev/null

fhmlrqtqv17161     1      root   2u      CHR        1,3     0t0       4023 /dev/null

fhmlrqtqv17161     1      root   3u     IPv4      50163     0t0        UDP *:57331

ynmsjtlpw17272     1      root cwd       DIR      253,0    4096          2 /

ynmsjtlpw17272     1      root rtd       DIR      253,0    4096          2 /

ynmsjtlpw17272     1     root  txt       REG     253,0   625751     393426 /usr/bin/ynmsjtlpwp (deleted)

ynmsjtlpw17272     1      root   0u      CHR        1,3     0t0       4023 /dev/null

ynmsjtlpw17272     1      root   1u      CHR        1,3     0t0       4023 /dev/null

ynmsjtlpw17272     1      root   2u      CHR        1,3     0t0       4023 /dev/null

ynmsjtlpw17275     1      root cwd       DIR      253,0    4096          2 /

ynmsjtlpw17275     1      root rtd       DIR      253,0    4096          2 /

5)lsof再次查看:

再次快速重复查看:# lsof -R | grep "/usr/bin",发现主进程不变,总是产生几个辅进程,并且一直处于dedeted状态,这说明主进程会快速产生几个子进程,然后这些进程之间相互检测,一旦检测到病毒主体被删除或更改,就会再产生一个。

故障解决:

1、将被感染的文件路径列表中的木马文件设置成000权限,即chmod 000,确保不再执行

2、删除/etc/rc.local,/etc/crontab,/etc/cron.hourly里面的木马程序配置,保证不自动启动;

3、删除将被感染的文件路径列表中的木马文件

4、杀掉所有木马进程。

5、锁定将被感染的文件路径列表中的目录不可更改:如chattr +i /usr/bin这样保证新产生的病毒写不到里面去。

6、ps –ef再次检查,发现木马进程后,重复以上步骤

7、当前已被我锁定的目录和文件如下:

----i-------- /etc/cron.hourly

----i--------/etc/crontab

----i--------/etc/rc.local

----i--------/etc/init.d

----i-------- /u02/apache-tomcat-6.0.41

----i-----I-- /u02/apache-tomcat-6.0.41/bin

----i--------/u02/apache-tomcat-6.0.41/webapps

----i--------/bin

----i--------/boot

----i-----I-- /usr/sbin

----i-----I--/usr//bin

时间: 2024-12-28 13:13:08

Linux下随机10字符病毒的清除的相关文章

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

病毒表现:网络流量暴满,疯狂地向香港的一个IP发数据,同时在top里面表现为随机的10位字母的进程,看/proc里面的信息,则为ls,cd之类常见的命令,CPU利用率也在top之首.杀死该进程后,会再随机产生一个新的进程. 查找步骤:一./proc/_pid/cmdline里面都是伪造的信息,ps显示的内容也一样,基本上为下面一些常见的命令,混淆管理员眼光查询线索,核验这一个,可以尝试把who等不常见的命令禁用执行权限,但随后却会发现该命令不停地出现在ps -Af里面: gnome-termin

记服务器随机10字符病毒及被当做挖矿肉鸡的清除的过程

故障表现:某天晚上突然收到某项目一台web服务器CPU报警,SSH连接困难卡顿,登陆后发现CPU使用率飙升到700%,第一感觉是被黑了. 故障处理:               1.top后发现有可以进程跑cpu已达到700%:               2.杀掉可以进程,使SSH不那么卡顿,给自己处理问题创造条件,过了一段时间那个又会启动,第一反应就是crontab被做了手脚,cat /etc/crontab果然有个gcc4.sh:               3.删掉crontab并且用c

Gnu Linux下文件的字符编码及转换工具

/*********************************************************************  * Author  : Samson  * Date    : 07/03/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

Linux下vi替换字符命令操作实例

在Linux下的开发中,经常涉及到对文件里的字符进行处理,当中,对字符的替换操作也是非常的频繁. 本文以一个实际的文件为例,具体介绍了Linux下经常使用的vi替换字符命令,为相关的开发工作提供给了參考. 本文中被操作的文件为TestFile.txt,当中的内容例如以下: [email protected]:~/zhouzx/Test> cat TestFile.txt 12345678907890 ABCDABCDEFGHIJ 12345^&*()() 98765432103210 abc

linux随机10字母病毒

病毒表现: 网络流量暴满,疯狂地向香港的一个IP发数据,同时在top里面表现为随机的10位字母的进程,看/proc里面的信息,则为ls,cd之类常见的命令,CPU利用率也在top之首.杀死该进程后,会再随机产生一个新的进程. 清楚病毒步骤: 查看/proc/_pid/cmdline里面全是伪造信息,随机产生ps.su.top等命令: 由于病毒产生大量的流量,先使用iptables封掉出口IP,当病毒检测流量发布出去后会进入监听状态,监听端口: 想到病毒一般都会有检测机制,所以查找其根文件,cro

Linux下随机生成密码的命令总结

有时候经常为如何设置一个安全.符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结.终于有一天实在忍不住了,于是学习.整理了一下如何使用Linux下命令来随机生成安全.符合密码复杂度的命令. 俗话说"工欲善其事必先利其器".如果能用挖土机的,你为什么要用锄头? 最近一直在反思自己:习惯性用原始.老旧的方式解决问题.而不擅长利用一些工具快捷.方便的解决问题. 1:mkpaswd命令 mkpasswd 是Linux自带的一个密码生成工具,

Linux下LCD 10分钟自动关屏的问题总结

Linux下的LCD驱动默认10分钟后会自动关闭屏幕,我们可以修改一下代码让其不自动关屏 在有一个 drivers/char/vt.c 文件其中有一个变量(blankinterval)可以设置它来修改自动关屏的时间,也可以在函数(blank_screen_t)开头直接返回,这样就永远不会关屏了 在用LCD显示的时候,发现10分钟LCD就不再工作了.确实,Linux下有一个参数blankinterval的值就是10*60*Hz. 它决定了LCD只显示10分钟,然后LCD控制器就被关掉了. 具体细节

Java文件夹操作,判断多级路径是否存在,不存在就创建(包括windows和linux下的路径字符分析)

兼容windows和linux. 分析: 在windows下路径有以下表示方式: (标准)D:\test\1.txt (不标准,参考linux)D:/test/1.txt 然后在java中,尤其使用File对象在操作windows的路径时,非常的不好操作,因为不知道要用多少个斜杠“\”来表示. 斜杠“\”为转义字符(参考:http://www.cnblogs.com/EasonJim/p/6561576.html). 而java的File对象上无论是windows还是linux,输入的路径不管标

Linux下处理^M字符

很多时候windows环境中编辑过的文件,在Linux下经常会出现^M字符,可以通过以下方式处理该字符. vim命令打开文件,然后在vim命令模式下输入以下内容: :%s/^M//g特别注意:注意^M符号的输入方法,先按住CTRL,再按下v和m 或: 打开一个terminal命令窗口,输入以下命令: sed -i 's/^M/g'  filename特别注意:注意^M符号的输入方法,先按住CTRL,再按下v和m