linux感染十字符病毒,Linux /lib/libudev.so 病毒清除 随机10字符病毒

今天遇到连上网就CPU,网络爆满的情况,查看日志发现一直在启动/etc/cron.hourly/gcc.sh,然后去网上查了下,发现是中招了,最后按文章成功解决:)

其中许多是查找,解决基本上是删除gcc.sh等一些在init.d下的执行文件,还有crontab里的level3有个启动,再chattr +i /usr/bin锁定那些检测删除病毒主程序的东西,

这样就能rm删除掉主程序,find发现.Trash-0回收站里有被删除了本体,接着全部rm掉,最后chattr -i恢复后解决那些数字串的文件,查询一下就发现都被解决了!

后续:之后系统一直稳定,无意中又在log中发现启动gcc.sh,查询过去发现在lib64中也有2个文件,不过这2个比较好搞定,再将删除后在.Trash-0里的也删除,init.d下也生成了一个新执行文件也一并删除。 看来得养成常看日志的好习惯阿。

病毒表现:

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

查找步骤:

一、/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

由于大量的流量,先用iptables封住该IP,tcp连接不上后,它会改用udp向外发送,发送不出去后会进入监听状态,端口可以见下面的lsof结果。

二、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

lsof 也可以持到具体的信息,同时还可以看到一个到103.240.141.54的tcp连接。

三、在crontab的log里面,总显示执行了一个gcc.sh,经查找,是在/etc/cron.hourly/里面:

# cat /etc/cron.hourly/gcc.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/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

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

四、因为这个病毒不断自我启动,并且父进程号为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

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

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

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

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

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

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

# lsof -R

fhmlrqtqv 17161 1 root cwd DIR 253,0 4096 2 /

fhmlrqtqv 17161 1 root rtd DIR 253,0 4096 2 /

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

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

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

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

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

ynmsjtlpw 17272 1 root cwd DIR 253,0 4096 2 /

ynmsjtlpw 17272 1 root rtd DIR 253,0 4096 2 /

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

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

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

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

ynmsjtlpw 17275 1 root cwd DIR 253,0 4096 2 /

ynmsjtlpw 17275 1 root rtd DIR 253,0 4096 2 /

五:再查init.d,发现在runlevel 3下有两个可疑的进程,这两个进程杀死后马上再启动,非常有嫌疑:

/usr/sbin/modem-manager

/usr/sbin/wpa_supplicant

但是经过仔细的追查,却发现是由NetworkManager来启动的,在/var/log/messages里面可以看到相关的记录(话说差点远程把NetworkManager给干掉了!)

六、再战lsof:

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

解决:

1、先删除掉init系统的启动项目,这样保证init不会主动启动病毒,同时这些监控进程不去检测init中的项目是否被删除,否则又会加大点麻烦;

2、再禁掉crontab里面的东西,保证不自动启动;

3、执行:chmod 000 /usr/bin/xxxxxxx && chattr +i /usr/bin

这个命令是复合命令,先禁止执行,再锁定/usr/bin,这样保证新产生的病毒写不到里面去。

4、杀掉主进程,删除病毒主体。

5、检查无误后,解开/usr/bin,删除掉可能产生的其他病毒体。

总结:

1、/proc里面的东西是可以更改的;

2、lsof还比较忠诚,不直接读取/proc里面的信息,ps看到的就不一定真实,top看到的进程还是正确的。

附:find -o参数就是逻辑运算的or

http://blog.csdn.net/zj123259785/article/details/47820073

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值