Linux服务器中木马(肉鸡)手工清除方法

来源:互联网 发布:成都近郊旅游知乎 编辑:程序博客网 时间:2024/05/01 06:39

0,简单判断有无木马

有无下列文件

cat /etc/rc.d/init.d/selinux

cat /etc/rc.d/init.d/DbSecuritySpt

ls /usr/bin/bsd-port 

ls /usr/bin/dpkgd

查看大小是否正常

ls -lh /bin/netstat

ls -lh /bin/ps

ls -lh /usr/sbin/lsof

ls -lh /usr/sbin/ss

 

 

1,上传如下命令到/root下

lsattr   chattr  ps  netstat  ss lsof

 

 

2,删除如下目录及文件

rm -rf /usr/bin/dpkgd  

rm -rf /usr/bin/bsd-port 

rm -f  /usr/local/zabbix/sbin/zabbix_AgentD 

rm -f  /usr/local/zabbix/sbin/conf.n

rm -f  /usr/bin/.sshd 

rm -f  /usr/bin/sshd 

rm -f  /root/cmd.n

rm -f  /root/conf.n

rm -f  /root/IP

rm -f  /tmp/gates.lod   

rm -f  /tmp/moni.lod

rm -f  /tmp/notify.file  

rm -f  /tmp/gates.lock   

rm -f  /etc/rc.d/init.d/DbSecuritySpt

rm -f  /etc/rc.d/rc1.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc2.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc3.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc4.d/S97DbSecuritySpt

rm -f  /etc/rc.d/rc5.d/S97DbSecuritySpt

rm -f  /etc/rc.d/init.d/selinux

rm -f  /etc/rc.d/rc1.d/S99selinux

rm -f  /etc/rc.d/rc2.d/S99selinux

rm -f  /etc/rc.d/rc3.d/S99selinux

rm -f  /etc/rc.d/rc4.d/S99selinux

rm -f  /etc/rc.d/rc5.d/S99selinux

 

 

3,找出下列程序进程号并杀死

top 一眼就看到那个木马cpu利用率特高

ps aux |grep -i jul29

ps aux |grep -i jul30

ps aux |grep -i jul31

ps aux |grep sshd

ps aux |grep ps

ps aux |grep getty

ps aux |grep netstat

ps aux |grep lsof

ps aux |grep ss

ps aux |grep zabbix_Agetntd

ps aux |grep .dbus

举例如下:

ps aux |grep getty

root      6215  0.0  0.0  93636   868 ?        Ssl  20:54   0:05 /usr/bin/bsd-port/getty

kill 6215

ps aux |grep zabbix_AgentD

root      2558 71.0  0.0 106052  1048 ?        Ssl  20:54 117:29 ./zabbix_AgentD

kill 2558

ps aux |grep "/dpkgd/ps"

root     11173 67.8  0.0 105924  1020 ?        Ssl  01:39   8:00 /usr/bin/dpkgd/ps -p 11148 -o comm=

kill 11173

 

注意如果kill后删除后还会再出现就这样操作(破坏木马程序)

>/usr/bin/dpkgd/ps && /root/chattr +i /usr/bin/dpkgd/ps

>/usr/bin/bsd-port/getty && /root/chattr +i /usr/bin/bsd-port/getty

 

 

4,删除含木马命令并重新安装(或者把上传的正常程序复制过去也行)

ps

/root/chattr  -i -a /bin/ps && rm /bin/ps -f

yum reinstall procps -y

cp /root/ps /bin

 

netstat 

 /root/chattr -i -a /bin/netstat && rm /bin/netstat -f

yum reinstall net-tools    -y

cp /root/netstat /bin

 

lsof

/root/chattr  -i -a /bin/lsof && rm /usr/sbin/lsof -f

yum reinstall lsof -y

cp /root/lsof /usr/sbin

 

chattr && lsattr

yum -y reinstall e2fsprogs

 

ss

/root/chattr  -i -a /usr/sbin/ss && rm /usr/sbin/ss -f

yum -y reinstall iproute

cp /root/ss /usr/sbin

 

修改下面两个程序的权限,这个是意外发现有的改了这两个程序的权限,让你发现了木马既不能下载正常程序也不能杀进程

/usr/bin/killall 

/usr/bin/wget

 

另外他们还修改了DNS怕我们识别不了有的域名吧,想得很周到哈

cat /etc/resolv.conf 

nameserver 8.8.8.8

nameserver 8.8.4.4


5,工具扫描

安装杀毒工具

安装

yum -y install clamav*

启动

service clamd restart 

更新病毒库

freshclam  

扫描方法

clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log

clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log

clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log

clamscan -r  --remove  /usr/bin/bsd-port 

clamscan -r  --remove  /usr/bin/ 

clamscan -r --remove  /usr/local/zabbix/sbin

查看日志发现

/bin/netstat: Linux.Trojan.Agent FOUND为病毒

grep FOUND /root/usrclamav.log

/usr/bin/.sshd: Linux.Trojan.Agent FOUND

/usr/sbin/ss: Linux.Trojan.Agent FOUND

/usr/sbin/lsof: Linux.Trojan.Agent FOUND

 

6,加强自身安全

但是此时还不知道系统入侵的原因,只能从两个方面考虑:暴力破解和系统及服务漏洞

a、yum update  更新系统(特别是bash、openssh和openssl)

b、关闭一些不必要的服务

c、设置ssh普通用户登陆并用hosts.all、hosts.deny限制登陆的网段

d、记录登陆系统后操作的命令

发现有如下操作

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/messages

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/httpd/access_log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/httpd/error_log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/xferlog

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/secure

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/auth.log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/user.log

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/wtmp

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/lastlog

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/log/btmp

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/run/utmp

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > /var/spool/mail/root

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]echo > ./.bash_history

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]rm -rf /root/.bash_history

Jul 31 00:26:37 CHN-LZ-131 logger: [euid=root]::[/root]



杀完后重启服务:

1,重启svn

启动SVN

svnserve -d -r /opt/svn/repo         #指定SVN根目录

查看SVN进程

ps -ef|grep svnserve


2.重启mysql
# chown -R mysql:mysql /var/lib/mysql 
# rm /var/lock/subsys/mysql 
service mysqld start


3.重启nginx
cd /usr/local/nginx/sbin./nginx -s reload

4,重启web服务
cd /home/java/tomcat-lbysapi/bin
ps -ef|grep tomcat-lbysapi
kill -9  XXX
sh startup.sh 
cd /home/java/tomcat-lbysapi/logs 
tail -f catalina.out


Linux 下如何查找木马并处理

1、cat /etc/passwd 未发现陌生用户和可疑root权限用户。

2、netstat -anp 查看所有进程及pid号,未发现异常连接。

3、last 查看最近登录用户,未发现异常

4、cat /etc/profile 查看系统环境变量,未发现异常

5、ls -al /etc/rc.d/rc3.d ,查看当前级别下开机启动程序,未见异常(有一些脸生,只好利用搜索引擎了)

6、crontab -l 检查计划任务,root用户和web运行用户各检查一遍,未见任何异常

7、cat /root/.bashrc 和 cat /home/用户/.bashrc 查看各用户变量,未发现异常

8、查看系统日志。主要是/var/log/messages(进程日志)、/var/log/wtmp(系统登录成功日志 who /var/log/wtmp)、/var/log//bmtp(系统登录失败日志)、/var/log/pureftpd.log(pureftpd的连接日志),未发现异常(考虑到了可能的日志擦除,重点看了日志的连续性,未发现明显的空白时间段)

9、history 查看命令历史。cat /home/用户/.bash_history 查看各用户命令记录,未发现异常

10、系统的查完了,就开始查web的。初步查看各站点修改时间,继而查看各站点的access.log和error.log(具体路径不发了 ),未发现报告时间前后有异常访问。虽有大量攻击尝试,未发现成功。

11、日志分析完毕,查找可能存在的webshell。方法有两个,其一在服务器上手动查找;其二,将web程序下载到本地使用webshellscanner或者web杀毒等软件进行查杀。考虑到站点较多,数据量大,按第一种方法来。 在linux上查找webshell基本两个思路:修改时间和特征码查找。 特征码例子:find 目录 -name "*.php"(asp、aspx或jsp) |xargs grep "POST[(特征码部分自己添加)" |more 修改时间:查看最新3天内修改的文件,find 目录 -mtime 0 -o -mtime 1 -o -mtime 2 当然也可以将两者结合在一起,find 目录 -mtime 0 -o -mtime 1 -o -mtime 2 -name "*.php" 的确查找到了一些停用的站点下有webshell

--------

查找全站关键字:“pack”、“eval”1、/etc/rc.local被修改
cd /tmp/
.dfd &
/etc/init.d/iptables stop
cd /tmp/
.asdasc &
/etc/init.d/iptables stop
cd /tmp/
.sakjhdas &
/etc/init.d/iptables stop
cd /tmp/
.sakjhdas &
/etc/init.d/iptables stop
cd /tmp/
.asdasc &
/etc/init.d/iptables stop
cd /tmp/
.asdasc &
/etc/init.d/iptables stop
cd /tmp/
.sakjhdas &
/etc/init.d/iptables stop
cd /tmp/
.sakjhdas &
/etc/init.d/iptables stop
删除,
2、 /etc/ssh/sshd_config删除免登录ssh
3、删除/etc/init.d/VsystemsshMdt、/etc/rc1.d/S97VsystemsshMdt、/etc/rc2.d/S97VsystemsshMdt、/etc/rc3.d/S97VsystemsshMdt、/etc/rc4.d/S97VsystemsshMdt、/etc/rc5.d/S97VsystemsshMdt