排查服务器被黑的一些方法

1.awk -F: '{if($3==0 || $4==0) {print $0} }' /etc/passwd     #查看用户和组为0的用户

2.stat filename  查看可疑文件日期

4.对服务器异常进程进行检查 netstat -anpt,检查异常IP连接,查询ip归属地如果是国外的,查询pid  ,lsof -p pid 查看进程打开了哪些文件,查询当前占用cpu 大于30%的进程,top  大写P,检查该进程所在目录,ll /proc/pid,其中cwd是程序运行目录,exe是程序绝对路径,cmdline就是程序运行时输入的命令行命令;environ记录了进程运行时的环境变量;fd目录下是进程打开或使用的文件的符号连接

5.查看系统所有安装包,有没有被修改rpm -Va > rpm_check.txt  ,注意 5 S T g ,5代表md5,文件内容被修改,s代表文件长度被改变,T代表修改日期被改变,g代表此文件不是包的本身文件,是多出来的可疑文件。

6.排查开机启动文件/etc/rc.d/rc.local , chkconfig, /etc/profile.d/下的脚本,ls -alt /etc/init.d/ ,是否有多余启动文件,文件修改日期,是否被修改,建议先保存文件属性到txt 方便对比。 ll -Shi /etc/profile.d/ > check_sh.txt  然后对比diff  check_sh.txt  b.txt 

/etc/profile.d/下的脚本
/etc/init.d/下的脚本
/etc/rc.d/rc.local
/etc/profile
/etc/bashrc
/root/.bashrc
/root/.bash_profile

 

7.export TIME_STYLE='+%Y-%m-%d %H:%M:%S' 修改日期格式便于观察,或追加到/etc/proflie中永久生效,ll -rt /etc/profile.d 查看启动脚本的修改日期

8.history > check_history  把历史命令追加到文件,然后vim check_history 继续查找可疑的命令如 wget ,ssh, scp ,tar,zip等 

9.检查服务器所有账号,cat /etc/login.defs 检查UID的值是否变化

10.ll /var/spool/cron  排查所有的计划任务 ,ls -l /etc/cron.*

[root@centos60 ~]# find /etc/cron* -type f -exec md5sum {} \; >/usr/share/file_md5.v1
[root@centos60 ~]# cat !$
cat /usr/share/file_md5.v1
1638f7fe39f7f52c412e1705a0bc52d1  /etc/cron.d/0hourly
6e10e35911b4ba4e2dff44613b56676f  /etc/cron.daily/logrotate
16e73be8fe46a83f7525b59f921e9bab  /etc/cron.daily/man-db.cron
d41d8cd98f00b204e9800998ecf8427e  /etc/cron.deny
8675eb4a3dba8e20bd6b82c626304556  /etc/cron.hourly/0anacron
c39252b11aad842fcb75e05c6a27eef8  /etc/crontab

怀疑被黑,就加进行下面检查对比计划任务文件是否发生变化
[root@centos60 ~]# find /etc/cron* -type f -exec md5sum {} \; >/usr/share/file_md5.v2
[root@centos60 ~]# diff /usr/share/file_md5.v1 /usr/share/file_md5.v2
2d1
< 6e10e35911b4ba4e2dff44613b56676f  /etc/cron.daily/logrotate
3a3
> 7ec41335d7d2860f8e49970f3beb7537  /etc/cron.daily/logrotate

[root@centos60 ~]# egrep -vn '^$|^#' /etc/rc.local          #查看文件,排除空行和注释行
13:touch /var/lock/subsys/local
42:/usr/bin/fregonnzkq &
[root@centos60 ~]# sed -i '42d' /etc/rc.local           #删除第42行

[root@centos60 rc3.d]# ll /etc/rc*/*      #查看所有启动级别
[root@centos60 rc3.d]# ll /etc/rc*/* | grep muma
[root@centos60 rc3.d]# chkconfig --del muma    #自启动删除
[root@centos60 rc3.d]# rm -rf /etc/init.d/muma  #删除所有启动级别
[root@centos60 rc3.d]# find / -type f -name "muma" #查找硬盘上该文件名的文件

 

11.检查最近修改过的文件 find ./ -mtime 2           以及  find / -ctime 2   找大前天到现在inode被改动过的文件
[root@centos60 rc3.d]# find /etc/init.d/ -mtime -1 #查找据目前时间为止24小时内(一天以内)被修改过的文件
[root@centos60 rc3.d]# find /etc/init.d/ -mtime -2 #查找据目前时间为止48小时内(2天以内)被修改过的文件

-mtime +2,表示2天以外的,即从距离当前时间(2020-11-21 14:15)的2天前开始算起,往更早的时间推移。因此,距离当前时间的2天为:2020-11-19 14:15,在此前的文件,会被选出来。
-mtime +1,表示1天以外的,即从距当前时间的1天前算起,往更早的时间推移。因此2020-11-20 14:15前的文件属于该结果,2020-11-20 14:15后的文件不属于该结果:
-mtime 2, 表示距离当前时间第2天的文件(前天到昨天),当前时间为2020-11-21 14:15,往前推2天为2020-11-19 14:15,因此以此为时间点,24小时之内的时间为2020-11-19 14:15~2020-11-20 14:15,因此这段时间内的文件会被选中出来
-mtime 1, 距离当前时间第1天的文件(昨天到今天),当前时间为2020-11-21 14:15,往前推1天为2020-11-20 14:15,因此以此为时间点,24小时之内的时间为2020-11-20 14:15~2020-11-21 14:15,因此这段时间内的文件会被选中出来
-mtime -1 表示1天以内的,从距当前时间的1天为2020-11-20 14:15,(昨天到今天)往右推移到目前时间
-mtime -2 表示2天以内的,从距当前时间的2天为2020-11-19 14:15开始,(前天到今天)往右推移到目前时间

12.查询有哪些php文件包含nameseve字符串的         grep -ri "nameseve" --include="*.php" / 

13.echo $PATH     #检查系统路径

14. arp -a         #检查arp记录

15.ifconfig -a      #检查网卡

16.ip link | grep PROMISC #网卡不应该存在promisc,存在则可能有嗅探器

16.find / -size +10000k -print     #检查大于10M的文件

17.查看隐藏的进程 

ps -ef | awk '{print}' | sort -n | uniq >1

ls /proc | sort -n |uniq >2

diff 1 2

如果木马删除不掉,则查看木马的父进程

[root@centos60 ~]# pstree | grep muma

然后追踪父进程,干掉父进程的同时删除子进程

[root@centos60 ~]# ps aux | grep father

vim 看下查出来的父进程

#!/bin/bash

while true
do
        a=`pgrep muma | wc -l` #统计当前系统运行了几个木马进程
        if [ $a -le 1 ];then    #如果木马进程数小于等于1,那么再启动一个子进程,可以保证至少有2个木马子进程运行
/bin/cp /usr/muma /usr/bin/muma #防止子进程文件被删除
        /usr/bin/muma &         #后台运行木马程序
service network restart        #防止管理员关闭外网,让木马主动启动网络和外面联系,也可以加上清空防火墙规则命令
fi
done

停止并删除父进程,删除病原体/usr/muma

kill -STOP 木马PID 先停止,然后在kill -9 木马PID 删除

[root@centos60 ~]# chattr -ia muma.sh
[root@centos60 ~]# lsattr muma.sh

[root@centos60 ~]# iptables -t filter -A OUTPUT -m state --state NEW -j DROP             #添加断绝外部通信防火墙规则,添加后无法ping通www.baidu.com,不影响ssh,因为是OUTPUT出口规则添加,无法发送信息出去了。

18.lastlog 命令查看登录上一次的登录

19.查看登录失败的用户  grep   -ri   "Fail"   /var/log/secure*

20.查看登录成功的用户 grep  -ri  "accept"   /var/log/secure*

21.提前记录文件md5,用来以后进行文件md5对比,查看哪些系统文件被更改

[root@centos7-60 ~]# find /etc/cron* -type f -exec md5sum {} \; > 1.txt

[root@centos7-60 ~]# find /etc/cron* -type f -exec md5sum {} \; > 2.txt

diff 1.txt 2.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值