Linux 入侵排查思路教程
1、查询特权用户(uid为0)
cat /etc/passwd
awk -F: '$3==0' /etc/passwd
2、查询可以远程登录的账号信息
cat /etc/shadow
awk '/\$1|\$6/' /etc/shadow
3、当前登录系统的用户信息
who 查看当前登录用户(tty本地登录,pts远程登录)
w 查看系统信息,可以看到某一时刻用户的行为
uptime 查看登录多久、多少用户、负载
4、检查系统日志
last 查看所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。(/var/log/wtmp)
lastb 查看系统错误登录日志(/var/log/btmp)
lastlog 系统中所有用户最后一次登录时间的日志(/var/log/lastlog)
sed -n '/May 10 12:01:01/ , /May 10 12:10:01/p' messages(需要查看的日志文件)
/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/messages or /var/log/syslog 记录了系统发生的所有错误信息(或者是重要的信息),所以这个文件相当重要;如果系统发生莫名的错误时,这个文件是必查的日志文件之一。
5、检查定时任务
crontab -l 列出某个用户cron服务的详细内容
重点关注以下目录中是否存在恶意脚本
/var/spool/cron/*
/var/spool/anacron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
6、查看历史命令
1、root的历史命令
histroy
2、打开/home各帐号目录下的.bash\_history,查看普通帐号的历史命令
more .bash\_history
7、检查异常端口
(1)使用netstat 网络连接命令,分析可疑端口、IP、PID等信息。
netstat -antlp | more
(2)查看下pid所对应的进程文件路径
**ls -l /proc/$PID/exe**( $PID 为对应的pid 号)
8、检查异常进程
(1)使用ps命令列出系统中当前运行的那些进程,分析异常的进程名、PID,可疑的命令行等。
ps aux | grep pid
(2)通过top命令显示系统中各个进程的资源占用状况
top
(3)如发现异常,可使用一下命令进一步排查:
查看该进程启动的完整命令行: ps eho command -p $PID
查看该进程启动时候所在的目录: readlink /proc/$PID/cwd
查看下pid所对应的进程文件路径:ls -l /proc/$PID/exe
列出该进程所打开的所有文件: lsof -p $PID
9、检查异常文件
1、查看敏感目录,如/tmp目录下的文件