账号排查
grep :0: /etc/passwd #检查是否产生了新用户,和UID、GID为0的用户
stat /etc/passwd #检查文件修改记录
awk -F: 'length($2)==0 {print $1}' /etc/shadow #检查是否存在空口令用户
cat /etc/passwd | awk -F: '{print $7}' | sort | uniq -c #统计所有用户的对应组信息,有shell的用户要重点检查
id 用户名 #查看用户id和组信息
lastlog -u 用户名 #查看用户最近登录信息
last 用户名 #查看用户历史登录信息
lastb 用户名 #查看用户登录失败信息
finger 用户名 #查看用户综合信息(需要yum install finger)
w #查看当前登录的用户、ip以及正在执行的命令
cat /etc/sudoers #查看sudo权限
进程排查
top #查看正在运行的程序所占用的资源
ps -ef #查看所有的进程
lsof -p $pid #查看该进程所打开的文件和端口
netstat -pan | grep $pid #查看该进程打开的网络连接
ps eho command -p $pid #查看该进程启动的完整命令行
readlink /proc/$pid/cwd #查看该进程启动时候所在的目录
strings -f /proc/$pid/environ | cut -f2 -d #查看该进程启动时的完整环境变量
unhide proc #查看是否存在隐藏进程(需要yum install unhide)
unhide-tcp #查看是否存在隐藏端口
crontab -l #查看计划任务
cat ~/.bashrc #查看命令别名
检查rootkit
rkhunter -c #检查rookit(需要yum install rkhunter)
chkrookit -q #检查rookit(需要yum install chkrootkit)
检查日志文件
cat /var/log/messages #查看一般的系统日志
cat /var/log/kern.log #查看系统内核日志
cat /var/log/boot.log #查看系统启动日志
cat /var/log/auth.log #查看登录相关的日志, 比如ssh/sudo成功失败的日志都在这里
cat /var/log/secure #同上
cat /var/log/cron.d #cron计划任务的执行日志
异常网络
tcpdump -i eth0 -w xx.cap #服务器本地抓包
cat /etc/hosts #查看hosts文件
cat /etc/resolv.conf #查看DNS
netstat -apo #查看网络连接情况
异常自启动项
initctl list #查看所有自启动项目
initctl show-config xxx #查看某个自启动项目
ls /etc/init.d/ #查看自启动脚本
ls /etc/rc*.d/ #查看运行级别的符号链接
systemctl list-unit-files –type=service #查看自启动服务(systemD,centos7可用)
ls /lib/systemd/system/*.service /etc/systemd/system/*.service #查看自启动服务(systemD,centos7可用)