Linux应急响应常用命令
进程相关
总览
- 查看内存和CPU占用情况
top
- 查看所有进程的详细信息
ps -auxwf (包括PID、PPID、CPU、内存、启动时间、命令行参数等)
lsof (所用打开的文件和进程的详细信息)
- 查看进程的工作目录
ls -alR /proc/*/cwd
ls -alR /proc/*/cwd 2>/dev/null | grep tmp
ls -alR /proc/*/cwd 2>/dev/null | grep dev
- 查看被删除了但仍在运行的进程
ls -alR /proc/*/cwd 2>/dev/null | grep deleted
- 查看网络行为
netstat -plan (所有网络连接的详细信息)
netstat -plant (所有TCP连接的详细信息)
ss -a -e -i (所有套接字的详细信息)
某一进程
- 查看命令行参数信息
cat /proc/<PID>/comm
cat /proc/<PID>/cmdline
- 查看某进程所在路径
ls -al /proc/<PID>/exe
- 查看某进程环境变量
cat /proc/<PID>/environ
目录和文件相关
需要关注的目录
- /tmp
- /var/tmp
- /dev/shm
- /var/run
- /var/spool
- user home
持久化
- /etc/rc.local(包含了系统启动时需要执行的命令),
- /etc/initd(含了系统服务的启动脚本),
- /etc/rc*.d(包含了系统启动时需要执行的脚本),
- /etc/modules(包含了系统启动时需要加载的内核模块),
- /etc/cron*(包含了系统定时任务的配置信息),
- /var/spool/cron/*(每个用户的定时任务的配置信息)
命令
- 文件夹详细信息
ls -lap (显示当前文件夹下所有文件和目录的详细信息)
- 查看当前文件夹下所有文件类型
file * -p
- 查看隐藏的文件夹
find / -type d -name ".*"
- 查看属性为"不可变"的文件和目录
lsattr / -R 2> /dev/null | grep "\----i"
- 查找设置了SUID/SGID的文件
find / -type f \( -perm -04000 -o -perm
-02000 \) -exec ls -lg {} \;
- 查找没有对应用户和组的文件
find / \( -nouser -o -nogroup \) -exec
ls -lg {} \;
- 查找系统中所有ELF文件
find / -type f -exec file -p '{}' \; |
grep ELF
- 查找所有命名管道文件
find / -type p
- 查找一天内被修改的文件
find / -mtime -1
- MD5校验不通过的文件
rpm -Va | grep ^..5.
- Debian软件包完整性校验
debsums -c
用户相关
- 查找所有"authorized_keys"文件
find / -name authorized_keys
- 查找".history"结尾的文件
find / -name .*history (所有)
ls -alR / 2> /dev/null | grep .*history
| grep null (不包含"null")
- 查找所有UID\GID为0的用户
grep ":0:" /etc/passwd (即root用户)
- 查看所有sudo权限的用户和组
cat /etc/sudoers
- 查看所有用户和组
cat /etc/group
- 查看计划任务(即持久化)
crontab -l (当前用户任务计划列表)
atq (列出所有at任务)
systemctl list-timers --all (列出所有定时器)
日志
- 列出/var/log下所有日志详情
ls -al /var/log/*
- 登录日志
utmpdump /var/log/wtmp (显示/var/log/wtmp文件中的登录和注销记录)
utmpdump /var/run/utmp
utmpdump /var/log/btmp
last (显示所有用户最近的登录记录)
lastb (显示所有用户最近的登录失败记录)
- 查找包含"[[:cntrl:]]“的日志
grep [[:cntrl:]] /var/log/*.log