病毒表现:
网络流量暴满,疯狂地向香港的一个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 /

五、再战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,删除掉可能产生的其他病毒体

注意:删除文件时,可以锁定当前目录,删除所有病毒后,在解锁相应目录;

centos 10字母随机文件病毒清理的更多相关文章

  1. 在centos7上安装ClamAV杀毒,并杀毒(centos随机英文10字母)成功

    前言 上传文件的时候发现总是失败,查看top发现有个进程一直cpu占用80%以上,而且名称还是随机数.kill之后,一会儿又重新生成了.突然发现居然没有在服务端杀毒的经历.在此处补齐. 安装clama ...

  2. linux服务器随机10字符病毒/libudev4.so病毒清理的过程

    故障表现:某天晚上突然收到某项目一台web服务器CPU报警,SSH连接困难卡顿,登陆后发现CPU使用率飙升到700%,第一感觉是被黑了,来事了. 故障处理: 1.登陆上后发现有好多莫名的命令(who/ ...

  3. Linux 10字符串命令病毒的处理记录

    刚上线的测试服务器不停的向外发包,且CPU持续100%,远程登录后查看发现有一长度为10的随机字符串进程,kill掉,会重新生成另外长度为10的字符串进程.删除文件也会重复生成,非常痛苦.查阅cron ...

  4. 小记IptabLes和IptabLex病毒清理过程

    去年有台Linux服务器被黑了,看了500万行日志(现在觉得当时好厉害呀),反正当时的日志文件有700Mb以上大.前两天师兄告诉我,信息中心的老师给他说我们有台服务器应该是被人入侵了,当作内网的跳板, ...

  5. Linux服务器病毒清理实践

    背景:客户服务器被挂载木马病毒用以挖矿(比特币). 本次清理通过Linux基本命令完成.其原理也比较简单,通过ps命令查看服务器异常进程,然后通过lsof命令定位进程访问的文件,找到异常文件删除之,最 ...

  6. 10款 Mac 系统优化清理工具软件推荐和下载

    本文内容及图片来源[风云社区 SCOEE] 在Windows上有各种安全卫士.系统助手等系统优化和清理工具,比如360安全卫士.腾讯安全管家等,同样MacOS系统也有很多好用的系统优化清理工具,体验比 ...

  7. 记一次阿里云linux病毒清理过程

    1.起因   因为这台服务器是我们公司内部开发服务器,几乎每个人都有root密码.在两天前突然有同事反馈说偶尔会有ssh连不上,git代码无法提交的问题,刚开始也没有在意,以为是阿里云服务器网络波动的 ...

  8. CentOS 下如何查看并清理系统内存空间

    有时候在服务器上打开了很多会占用内存的程序但关闭这些程序后,发现内存空间还是和没有关闭应用程序时的占用一样,以致使其它应用程序打开时内存不够或很卡,那么此时就想清理掉以前的程序打开时所占用的内存.而大 ...

  9. 记一次Linux Centos7病毒清理

    记一次在工作中测试环境下中病毒的处理解决办法,都说linux系统非常安全,但是很多人百年一遇的病毒被我遇上了,公司三台测试环境服务器中招. 最开始系统突然变得很卡,使用top命令查看资源占用情况,发现 ...

随机推荐

  1. openwrt 更改默认主题

    BB 版本默认的主题为 bootstrap,想要修改为其他的主题,可以按照如下方法修改: 1.查看可以使用的主题. "make menuconfig" ---> " ...

  2. 关于Trie Tree简单实现

    最近突然有兴致hiho一下了,实现了下trie tree,感觉而言,还是挺有意思的,个人觉得这货不光可以用来查单词吧,其实也可以用来替代Hash,反正查找,插入复杂度都挺低的,哈哈,啥都不懂,瞎扯.. ...

  3. Ecstore启用www.ecstore.com和m.ecstore.com域名

    Ecstore启用www.ecstore.com和m.ecstore.com域名 修改config/mapper.php if($_SERVER['SERVER_NAME']=='www.ecstor ...

  4. IIS SSL取消证书合法性验证

    cscript adsutil.vbs set w3svc/certcheckmode 1win 2003 IIS 6 以下执行以上代码,去除证书的合法性验证 cscript adsutil.vbs ...

  5. jquery正则常用的

    jQuery.validator.addMethod("mobilePhone",function(value,element){ return this.optional(ele ...

  6. 如何在高并发的分布式系统中产生UUID

    一.数据库发号器 每一次都请求数据库,通过数据库的自增ID来获取全局唯一ID 对于小系统来说,这是一个简单有效的方案,不过也就不符合讨论情形中的高并发的场景. 首先,数据库自增ID需要锁表 而且,UU ...

  7. ACE Socket Wrapper Facade

    ACE Socket Wrapper Facade 1:Socket API 1.1 IPC(进程间通信) IPC分为本地IPC(同一计算机上的不同进程)和远程IPC(网络互联的不同计算机),本地IP ...

  8. jQuery EasyUI的使用入门

    jQuery EasyUI不是什么太高级的东西,就是用jQuery写了很多方法.定义了很多属性,通过调用这些方法.属性,可以达到一些特定的效果,然后我们再根据具体需求微调就好了.至少需要导入两个样式表 ...

  9. C/C++ 语言中的表达式求值(原文作者:裘宗燕)

    经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4, ...

  10. PHP中 post 与get的区别 详细说明

    1.Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如[url]http://www.jincaib.c ...