追溯

1.检查帐户

less /etc/passwd
grep :0: /etc/passwd(检查是否产生了新用户,和UID、GID是0的用户)
ls -l /etc/passwd(查看文件修改日期)
awk -F: '($3==0){print $1}' /etc/passwd(查看是否存在特权用户)
awk -F: 'length(2)==0{print1}' /etc/shadow(查看是否存在空口令帐户)

2.检查authorized_keys

ls -al ~/.ssh/

3.检查日志

last(查看正常情况下登录到本机的所有用户的历史记录)
who /var/log/wtmp(查看登录记录)
history(查看历史命令)
pkill -kill -t pts/0(踢掉用户)
cat /var/log/auth.log(查看登录日志)
cat /var/log/secure(查看ssh日志)
cat access.log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -r | head -10(查看apache日志中访问前10的ip)
以下为apache日志可能的路径
/var/log/apache2/access.log
/etc/httpd/logs/access_log
/var/log/httpd/access_log
/opt/lampp/logs/access_log

4.检查进程

ps -aux(注意UID是0的)
lsof -ppid(察看该进程所打开端口和文件)
cat /etc/inetd.conf | grep -v "^#"(检查守护进程)检查隐藏进程
ps -ef | awk '{print}' | sort -n | uniq > 1
ls /porc | sort -n | uniq > 2
diff 1 2 (比较两个文件)

5.检查文件

find / -perm -4000 -ls
find / -uid 0 -perm -4000 -print
find / -size +10000k -print
find / -name '...' -print
find / -name '..' -print
find / -name '.' -print
find / -name '' -print
注意SUID文件,可疑大于10M和空格文件
find / -namecore -execls -l {}(检查系统中的core文件)检查系统文件完整性
rpm -qf /bin/ls
rpm -qf /bin/login
md5sum -b 文件名
md5sum -t 文件名

6.检查RPM

rpm -Va
校验所有软件包

输出格式:

S – File size differs M – Mode differs (permissions) 5 – MD5 sum differs D – Device number mismatch L – readLink path mismatch U – user ownership differs G – group ownership differs T – modification time differs

注意相关的/sbin,/bin,/usr/sbin,and/usr/bin

7.检查网络

iplink | grep PROMISC(正常网卡不该在promisc模式,可能存在sniffer)
lsof -i
netstat -nap(察看不正常打开的TCP/UDP端口)
arp -a

8.检查计划任务 注意rootUID0schedule

crontab -u root -l
cat /etc/crontab
ls /etc/cron.*

9.检查后门

cat /etc/crontab
ls /var/spool/cron/
cat /etc/rc.d/rc.local
ls /etc/rc.d
ls /etc/rc3.d
find / -type f -perm 4000

10.检查内核模块

lsmod

11.检查系统服务

chkconfig
rpcinfo -p(查看RPC服务)

12.检查rootkit

rkhunter -c
chkrootkit
lynis -c(主要用于安全审计)