应急排查手册

不管在甲方/乙方,都不可避免的回遇见需要应急的情况,本文记录了在网上找的一些常用命令,供自己平常查阅,主要从日志分析、异常连接、异常进程以及历史命令等几方面来说,欢迎斧正。

日志分析

image.png

1、除root之外,是否还有其它特权用户(uid 为0)

awk -F: '$3==0{print $1}' /etc/passwd

2、可以远程登录的帐号信息

awk '/\$1|\$6/{print $1}' /etc/shadow

3、查看谁有sudo授权执行权限(权限级别)

sudo -l

4、基础信息查看

who 查看当前登录用户(tty本地登陆 pts远程登录) w 查看系统信息,想知道某一时刻用户的行为 uptime 查看登陆多久、多少用户,负载

历史命令查询

1、root的历史命令

History

2、历史命令清除

history -c 

但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。

入侵排查

进入用户目录下

cat .bash_history >> history.txt

以下目录是否存在恶意脚本

/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*

Tip:查看某个目录下的所有文件:more /etc/cron.daily/* (查看/etc/cron.daily/目录下的所有文件)

异常连接

1、netstat网络连接命令,查看可疑连接

netstat -antlp|more 
!net
lsof -i:80 查看指定端口
netstat -anp|grep 158.x.x.x 从连接的IP来定位PID,如果是瞬时建立的才找不到

2、查看pid所对应的进程文件路径

运行

ls -l /proc/$PID/exe   比如:ls -l /proc/25430/exe

file /proc/$PID/exe($PID 为对应的pid 号)比如:file /proc/24530/exe

异常进程

使用ps命令,分析进程

ps aux | grep pid (pid表示要查询的关键字)

定时任务

1、查看定时任务

crontab -l 表面上查看定时任务
cat /etc/crontab 查看定时任务的文件里面是否存在定时任务 
ls -al /var/spool/cron/\* 
cat /var/spool/cron/\* 查看文件夹里面是否有其他定时任务的文件 
ls -al /etc/cron.d/\* 
for u in \`cat /etc/passwd |cut -d ":" -f1\`;do crontab -l -u $u; done

2、删除定时任务
Crontab -r 表面删除定时任务
3、编辑定时任务

Crontab -e

定时任务解读: 

前面5个星分别代表分-时-天-月-星期 后面跟命令 

\* \* \* \* \* command 

\*/15 \* \* \* \* command(表示每15分钟运行一次)

其他

1、结束进程

kill PID 

kill -9 PID 彻底杀死进程 

kill -KILL PID 强制杀死进程

2、查看进程

ps -a 列出的是当前控制终端启动的进程 

ps -A 系统全部启动进程 

ps auxf 查看父进程关联的子进程 

pstree 查看进程树

3、查看ssh密钥

cat .ssh/authorized_keys 查看命令 

/root/.ssh/authorized_keys ssh秘钥文件所在路径

参考

posted @ 2020-04-07 15:12  人间修行  阅读(156)  评论(0编辑  收藏  举报