Linux入侵排查
异常网络连接
netstat -anpt
看下本地的重要端口比如22,3306等是否与不认识的外部ip建立连接,可以把外部链接的IP丢威胁情报分析
排查异常ip相关的进程名,比如bash -i
等,说明反弹了shell
异常进程
1.查看进程
使用ps aux 或者 ps -ef 查看正在运行的进程,分析异常的进程名
2.查看进程的相关文件
可以分析PID对应的进程文件 ls -l /proc/$PID/exe
或者用lsof -p <pid>
比如发现了80端口是一个异常的进程
用lsof -p 26548
就可以查看到这个进程的关联文件
使用kill -9 26548
强制结束进程,或者pkill nginx
、pkill --ns 26548
系统服务
查看自启服务
systemctl list-unit-files --type=service | grep "enabled"
开机启动项
1.开机启动项配置
cat /etc/rc.local # 是/etc/rc.d/rc.local的软链接
2.各启动级别的执行程序连接目录
ls -l /etc/rc.d/rc[0~6].d # 数字代表不同的启动级别
定时任务
1.相关文件
-
/etc/crontab,定时任务配置文件,默认只有root权限可以修改
-
/var/spool/cron/,这个目录存放了每个用户的定时任务,每个任务文件以创建定时任务的用户命名
-
/etc/cron.d/,这个目录存放的系统级的定时任务文件
-
/etc/anacrontab,存放系统任务,用来运行每日(daily),每周(weekly),每月(monthly)的定时任务。
-
/etc/cron.hourly/,/etc/cron.daily/,/etc/cron.weekly,/etc/cron.monthly分别存放着每天/每日/每周/每月要执行的定时任务
2.命令
- crontab -l,查看当前用户的定时任务
- crontab -e,编辑当前用户的定时任务
- crontab -r,删除当前用户的定时任务
异常文件
根据时间点查找
find
-
-type d/l/f:指定类型查找,目录/符号链接/普通文件
-
-mtime -n +n:按照文件修改时间查找,-n表示n天内,+n表示n天前
-
-atime -n +n:按照文件访问时间查找
-
-ctime -n +n:按照文件创建时间查找
历史命令
1.查看文件
用户家目录下的.bash_history存放了执行过的命令
cat /home/user/.bash_history
2.命令
输入history
命令可以查看执行过的命令列表。
需要注意的是history实时显示当前终端输入的命令,但是.bash_history通常在用户退出终端才会记录进去
history -c ,清除历史记录
系统日志
/var/log/目录下存放着日志文件
文件 | 描述 |
---|---|
/var/log/secure | 记录用户登录、sudo授权等安全相关信息 |
/var/log/btmp | 记录所有登陆失败的信息 |
/var/log/wtmp | 记录所有用户登录、退出的信息 |
/var/log/utmp | 记录当前已登录的用户信息s |
/var/log/lastlog | 记录系统中所有用户最后一次登录时间 |
待补充...