常用linux应急响应命令整理
# 常用命令
# ps -auxf
1 | ps -auxf |
此命令用于显示系统中当前运行的进程。 -a 选项显示所有用户的进程, -u 选项显示进程的详细信息, -x 选项显示没有控制终端的进程, -f 选项以全格式显示进程信息。
# netstat -antlp | more
1 | netstat -antlp | more |
此命令用于查看系统中的网络连接和监听端口。 -a 选项显示所有连接和监听端口, -n 选项以数字形式显示地址和端口, -t 选项只显示 TCP 连接, -l 选项只显示监听端口, -p 选项显示与进程关联的端口, | more 用于分页显示输出结果。
# ls -alt /proc/pid 号
1 | ls -alt /proc/pid号 |
此命令用于查看指定进程的详细信息。 ls 命令用于列出文件和目录, -a 选项显示所有文件和目录(包括隐藏文件), -l 选项以长格式显示详细信息, -t 选项按修改时间排序, /proc 是一个特殊目录,包含系统中运行的进程的信息, pid号 是要查看的进程的进程 ID。
# ls -alh /proc/pid
1 | ls -alh /proc/pid |
此命令用于查看指定进程的详细信息。 -a 选项显示所有文件和目录(包括隐藏文件), -l 选项以长格式显示详细信息, -h 选项以人类可读的方式显示文件大小, /proc 是一个特殊目录,包含系统中运行的进程的信息, pid 是要查看的进程的进程 ID。
# lsof -i: 端口号 /-p/-u
1 | lsof -i:端口号 /-p /-u |
此命令用于查看指定端口的相关进程或指定用户打开的文件。 lsof 命令用于列出打开的文件, -i:端口号 选项显示指定端口相关的进程, /-p 选项显示指定进程打开的文件, /-u 选项显示指定用户打开的文件。
# 挖矿病毒常利用手段
1 | chattr +i |
-
chattr +i:此命令用于改变文件的属性。chattr命令用于改变文件的扩展属性,+i选项设置文件为不可修改属性,防止文件被删除、重命名或修改。 -
lsattr:此命令用于显示文件的扩展属性。lsattr命令用于
列出文件的扩展属性,包括文件的可修改性、不可修改性、是否加密等。
# 需要注意的几个目录
1 | /etc/passwd |
此路径对应着系统启动时执行的脚本文件。 /etc/rc.local 文件包含在系统启动过程中自动执行的命令,可以用于配置系统启动时需要运行的自定义脚本。
# ls -alt /etc/profile.d/*.sh
1 | ls -alt /etc/profile.d/*.sh |
此命令用于列出 /etc/profile.d/ 目录下以 .sh 为后缀的脚本文件,并按照修改时间排序显示详细信息。 ls 命令用于列出文件和目录, -a 选项显示所有文件和目录(包括隐藏文件), -l 选项以长格式显示详细信息, -t 选项按修改时间排序, /etc/profile.d/*.sh 表示匹配 /etc/profile.d/ 目录下以 .sh 为后缀的所有文件。
# cat /etc/passwd | cut -f 1 -d : | xargs -l {} crontab -l -u {}
1 | cat /etc/passwd | cut -f 1 -d : | xargs -l {} crontab -l -u {} |
此命令用于查看系统中所有用户的定时任务。 cat 命令用于显示文件内容, /etc/passwd 是一个包含系统用户信息的文件, cut 命令用于提取指定字段, -f 1 选项指定提取第一个字段(用户名), -d : 选项指定字段的分隔符为冒号, xargs 命令用于将前面的输出作为参数传递给后面的命令, -l 选项表示逐行处理, {} 表示参数的占位符, crontab -l -u {} 用于查看指定用户的定时任务列表。
# 软件包校验
-
rpm -Va:校验 RPM 软件包的完整性和一致性。如果输出中出现以下标记,表示不一致:s (size)、m (modify)、5 (MD5)、d (device)、l (link)、u (user)、g (group)、t (time)。特别需要注意的是 SM5 标记。 -
dpkg -verify:校验 Debian 软件包的完整性和一致性。
# 文件操作
-
stat:显示文件或文件系统的详细信息。 -
find / -mtime 0 -name *.*:查找指定天数内更改过的文件。 -
find / -ctime 0 -name *.*:查找新增的文件。 -
diff -c:比较文件的差异并生成上下文格式的差异。
# 查找隐藏进程
-
ps -ef | awk '{print $2}' | sort -n | uniq > ps.p ls /proc | sort -n | uniq > proc.p查找隐藏进程的命令。
# SSH 爆破
last/lastb/lastlog:查看登录记录。
# 日志
-
/var/log/secure:安全日志文件。-
awk '/sshd.*Failed/{print $(NF -3)}' /var/log/secure | sort | uniq -c | sort -nr:查找每个 IP 登录失败的次数。 -
每条记录的格式:时间 - 主机名 - 服务名称 - 是否成功 - 用户 - 地址
-
sudo grep 'sshd.*Failed.*from <IP_ADDRESS>' /var/log/secure | awk '{print $1,$2,$3,$9,$11}':查找特定 IP 失败的次数。 -
sudo grep 'sshd.*Accepted.*from <IP_ADDRESS>' /var/log/secure | awk '{print $1,$2,$3,$9,$11}':查找特定 IP 成功的次数。
-
-
/var/log/cron:定时任务日志文件。 -
/var/log/btmp:登录失败日志文件。 -
/var/log/wtmp:登录记录日志文件。
# 工具集
-
busybox:busybox 是一个包含多个常用 Linux 命令精简版本的工具集。它可以在嵌入式系统或资源受限的环境中使用,将多个命令集成到一个可执行文件中,以节省空间并提高效率。它可以作为替代系统中关键命令的解决方案,因为它是一个独立的可执行文件,不依赖于系统中的命令。./busybox netstat -antpl:使用 busybox 的 netstat 命令显示网络连接和监听端口的信息。
# 隐藏进程检测工具
unhide:用于探测隐藏进程的工具。
# Rootkit 检测工具
-
chkrootkit -n:用于探测 rootkit 的工具。-n选项表示以非交互模式运行。 -
rkhunter:另一个用于探测 rootkit 的工具。
# 恶意软件扫描工具
clamav:用于扫描和检测恶意软件的工具。
# Webshell 查杀工具
www.shellpub.com:河马 webshell 查杀工具。
# 内存马查杀工具
java-memshell-scanner:用于查杀内存马(内存中的恶意代码)的工具。