1. 基础信息排查

1.1 核心基础命令

命令

描述

date

查看当前系统时间,判断时间是否异常

hostname

查看主机名

hostnamectl

查看主机名、系统版本、内核版本等信息

uname -a

查看内核版本、系统架构

cat /etc/os-release

查看 Linux 发行版信息

uptime

查看系统运行时间、登录用户数量、负载情况

w

查看当前登录用户、来源、正在执行的命令

who

查看当前登录用户

id

查看当前用户 UID、GID、所属用户组

df -h

查看磁盘使用情况

free -h

查看内存使用情况

1.2 场景化排查命令

命令

描述

mkdir -p /root/ir-$(date +%F-%H%M%S)

创建应急排查目录,用于保存现场信息

date -Is; hostnamectl; uptime; who -a

一次性记录系统时间、主机信息、运行时间、当前登录用户

ps auxfww > ps.txt

保存完整进程树,避免恶意进程被杀后无法回溯

ss -antup > ss-antup.txt; ss -lntup > ss-lntup.txt

保存当前网络连接和监听端口

last -aiF > last.txt; lastb -aiF > lastb.txt 2>/dev/null

保存成功登录和失败登录记录

cp -a /var/log ./logs

复制日志目录,便于后续离线分析

script -a response.log

记录后续交互式排查过程,适合正式应急场景

2. 用户与权限排查

2.1 核心基础命令

命令

描述

cat /etc/passwd

查看系统所有用户

cat /etc/shadow

查看用户密码哈希信息,需要 root 权限

cat /etc/group

查看系统用户组

cat /etc/sudoers

查看 sudo 权限配置

ls -al /etc/sudoers.d/

查看 sudoers 扩展配置目录

grep "/bin/bash" /etc/passwd

查看使用 bash 的可交互用户

grep "/bin/sh" /etc/passwd

查看使用 sh 的可交互用户

passwd -S root

查看 root 账号状态

chage -l root

查看 root 密码过期策略

ls -al /root/.ssh/

查看 root 用户 SSH 配置目录

cat /root/.ssh/authorized_keys

查看 root 用户 SSH 公钥

2.2 场景化排查命令

命令

描述

grep -Ev '(/sbin/nologin|/bin/false)$' /etc/passwd

查看可登录用户,重点关注非业务用户和新增用户

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

检查 UID 为 0 的账户,正常情况下只有 root

awk -F: '($2==""){print $1}' /etc/shadow

检查空密码账户,发现后应立即处置

grep '^sudo:' /etc/group; grep '^wheel:' /etc/group

查看 sudo / wheel 高权限组成员

grep -RInE 'NOPASSWD|ALL=\(ALL' /etc/sudoers /etc/sudoers.d 2>/dev/null

检查 sudo 免密或异常授权配置

stat /etc/passwd /etc/shadow /etc/sudoers 2>/dev/null

查看关键账户权限文件的修改时间

find /root /home -path '*/.ssh/authorized_keys' -type f -exec ls -l {} \; -exec sed -n '1,20p' {} \;

批量检查 SSH 公钥后门,关注陌生公钥和修改时间

3. 登录与 SSH 日志排查

3.1 核心基础命令

命令

描述

w

查看当前登录用户、来源 IP、正在执行的命令

who

查看当前登录用户

last

查看历史成功登录记录

last -i

查看历史成功登录记录,并显示来源 IP

last -aiF

查看完整历史登录记录,包括 IP、完整时间、会话时长

lastb

查看失败登录记录

lastb -aiF

查看完整失败登录记录,常用于分析 SSH 爆破

lastlog

查看所有用户最近一次登录时间

grep "Accepted" /var/log/auth.log

Debian / Ubuntu 查看 SSH 成功登录记录

grep "Failed" /var/log/auth.log

Debian / Ubuntu 查看 SSH 失败登录记录

grep "Accepted" /var/log/secure

RHEL / CentOS 查看 SSH 成功登录记录

grep "Failed" /var/log/secure

RHEL / CentOS 查看 SSH 失败登录记录

cat /etc/ssh/sshd_config

查看 SSH 服务配置

3.2 场景化排查命令

命令

描述

last -aiF | head -50

查看最近 50 条成功登录记录,关注陌生 IP、非常规时间、会话时长

lastb -aiF | head -50

查看最近 50 条失败登录记录,判断是否存在爆破

zgrep -h "Accepted" /var/log/auth.log* /var/log/secure* 2>/dev/null | tail -50

查看最近 SSH 成功登录明细,兼容轮转日志

zgrep -h "Accepted" /var/log/auth.log* /var/log/secure* 2>/dev/null | awk '{for(i=1;i<=NF;i++) if($i=="from") print $(i+1)}' | sort | uniq -c | sort -nr | head

统计成功登录来源 IP,优先关注陌生 IP、境外 IP、云主机 IP

zgrep -h "Accepted" /var/log/auth.log* /var/log/secure* 2>/dev/null | awk '{m=u=ip=""; for(i=1;i<=NF;i++){if($i=="Accepted")m=$(i+1); if($i=="for")u=$(i+1); if($i=="from")ip=$(i+1)} print m,u,ip}' | sort | uniq -c | sort -nr | head

按认证方式、用户名、来源 IP 统计成功登录

zgrep -h "Failed password" /var/log/auth.log* /var/log/secure* 2>/dev/null | awk '{for(i=1;i<=NF;i++) if($i=="from") print $(i+1)}' | sort | uniq -c | sort -nr | head

统计失败登录来源 IP,快速发现爆破源

zgrep -h "Failed password" /var/log/auth.log* /var/log/secure* 2>/dev/null | awk '{for(i=1;i<=NF;i++) if($i=="for"){u=$(i+1); if(u=="invalid")u=$(i+3); print u}}' | sort | uniq -c | sort -nr | head

统计被爆破用户名,关注 root、admin、test、oracle、mysql 等

grep -Ei 'PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|AllowUsers|AllowGroups' /etc/ssh/sshd_config

检查 SSH 关键安全配置

4. 进程排查

4.1 核心基础命令

命令

描述

top -c

实时查看进程资源占用,并显示完整命令

htop

交互式查看进程资源占用,需要系统安装 htop

ps aux

查看所有进程

ps -ef

查看完整进程列表

ps auxf

以进程树形式查看进程关系

pstree -ap

查看进程树、PID 和启动参数

ls -al /proc/PID/exe

查看指定进程对应的可执行文件路径

cat /proc/PID/cmdline

查看指定进程启动命令

cat /proc/PID/environ

查看指定进程环境变量

ls -al /proc/PID/fd/

查看指定进程打开的文件描述符

lsof -p PID

查看指定进程打开的文件、网络连接等

pwdx PID

查看指定进程当前工作目录

4.2 场景化排查命令

命令

描述

ps -eo pid,ppid,user,stat,%cpu,%mem,lstart,cmd --sort=-%cpu | head -30

按 CPU 排序查看高资源进程,适合排查挖矿、异常计算任务

ps -eo pid,ppid,user,stat,%cpu,%mem,lstart,cmd --sort=-%mem | head -30

按内存排序查看异常进程

ps auxfww

查看完整进程树,关注 Web 进程下挂 bash、curl、python、perl 等异常子进程

ps -eo pid,ppid,user,lstart,cmd | grep -Eai '(/tmp|/var/tmp|/dev/shm|curl|wget|bash -i|/dev/tcp|nc |ncat|socat|xmrig|stratum|kdevtmpfsi|kinsing)' | grep -v grep

聚合搜索可疑进程特征,比单独 grep 某个关键词更实用

PID=1234; readlink -f /proc/$PID/exe; pwdx $PID; ls -l /proc/$PID/fd

从 PID 定位进程真实文件、工作目录、打开的文件描述符

PID=1234; lsof -p $PID

查看指定进程打开的文件、网络连接、动态库

PID=1234; tr '\0' '\n' < /proc/$PID/environ | grep -Ei 'LD_PRELOAD|proxy|PATH'

查看进程环境变量,关注 LD_PRELOAD、代理变量、异常 PATH

find /proc -maxdepth 2 -path '/proc/[0-9]*/exe' -lname '*deleted*' -ls 2>/dev/null

查找可执行文件已被删除但进程仍在运行的情况

lsof +L1

查找已删除但仍被进程占用的文件,常见于木马隐藏

5. 网络排查

5.1 核心基础命令

命令

描述

ss -lntp

查看 TCP 监听端口及对应进程

ss -lnup

查看 UDP 监听端口及对应进程

ss -antp

查看所有 TCP 网络连接

ss -anup

查看所有 UDP 网络连接

netstat -lntp

查看 TCP 监听端口,部分系统需要安装 net-tools

netstat -antp

查看 TCP 连接状态

lsof -i -P -n

查看网络连接和对应进程

ip addr

查看本机 IP 地址

ip route

查看路由表

arp -an

查看 ARP 缓存

cat /etc/hosts

查看 hosts 文件是否被篡改

cat /etc/resolv.conf

查看 DNS 配置

iptables -L -n -v

查看 iptables 防火墙规则

nft list ruleset

查看 nftables 防火墙规则

5.2 场景化排查命令

命令

描述

ss -lntup

查看监听端口和对应进程,关注非业务端口

ss -antp state established

查看已建立连接,适合发现 C2、反弹 Shell、矿池连接

ss -Hant state established | awk '{print $5}' | sort | uniq -c | sort -nr | head -30

统计连接目标,快速发现高频外联 IP

lsof -Pan -iTCP -sTCP:ESTABLISHED

查看 TCP 外联连接及对应进程

PID=1234; lsof -Pan -i -p $PID

从可疑 PID 反查网络连接

ss -antp | grep -E ':(3333|4444|5555|7777|14444|23333)\b'

粗查常见挖矿、后门端口,仅作为线索

cat /etc/hosts; cat /etc/resolv.conf

检查 hosts 和 DNS 配置是否被篡改

iptables -S; nft list ruleset 2>/dev/null

检查防火墙规则,关注异常放行、转发、隐藏代理规则

tcpdump -i any -nn host <IP> -w suspect.pcap

对可疑 IP 抓包取证,适合进一步分析通信内容

6. 文件排查

6.1 核心基础命令

命令

描述

find / -type f -mtime -7 2>/dev/null

查找最近 7 天修改的文件

find / -type f -mmin -1440 2>/dev/null

查找最近 24 小时修改的文件

find /tmp -type f -ls

查看 /tmp

目录下的文件

find /var/tmp -type f -ls

查看 /var/tmp

目录下的文件

find /dev/shm -type f -ls

查看 /dev/shm

目录下的文件

find /tmp /var/tmp /dev/shm -type f -executable -ls

查找临时目录中的可执行文件

find / -perm -4000 -type f -ls 2>/dev/null

查找 SUID 文件

find / -perm -2000 -type f -ls 2>/dev/null

查找 SGID 文件

find / -name ".*" -type f 2>/dev/null

查找隐藏文件

file suspicious_file

查看文件类型

strings suspicious_file

查看二进制文件中的可读字符串

sha256sum suspicious_file

计算文件哈希,便于威胁情报查询

stat suspicious_file

查看文件时间戳、权限、属主等信息

6.2 场景化排查命令

命令

描述

find / -xdev -type f -mtime -3 -ls 2>/dev/null

查找近 3 天修改的文件,适合和入侵时间线关联

find /tmp /var/tmp /dev/shm -type f -exec file {} \; 2>/dev/null | grep -Ei 'ELF|script|executable'

检查临时目录中的 ELF、脚本、可执行文件

find /tmp /var/tmp /dev/shm -type f \( -perm -111 -o -name ".*" \) -ls 2>/dev/null

查找临时目录中的可执行文件和隐藏文件

find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -ls 2>/dev/null

查找 SUID / SGID 文件,关注异常路径、异常属主、异常修改时间

find / -xdev -name '.*' -ls 2>/dev/null

查找隐藏文件,重点关注非用户目录下的隐藏文件

find / -xdev -type f \( -name "*.sh" -o -name "*.py" -o -name "*.pl" \) -print0 2>/dev/null | xargs -0 grep -IlE 'curl|wget|nc |ncat|socat|/dev/tcp|base64|chmod \+x|crontab|systemctl'

聚合查找可疑脚本,不需要分别 grep 多个关键词

lsof +L1

查找被删除但仍被进程占用的文件

FILE=/path/to/file; stat "$FILE"; sha256sum "$FILE"; file "$FILE"; strings -a "$FILE" | head -100

对可疑文件做时间戳、哈希、类型、字符串初步分析

7. 持久化排查

7.1 核心基础命令

命令

描述

crontab -l

查看当前用户计划任务

crontab -u root -l

查看 root 用户计划任务

cat /etc/crontab

查看系统级计划任务

ls -al /etc/cron.d/

查看 cron.d 目录

ls -al /etc/cron.hourly/

查看每小时执行的计划任务

ls -al /etc/cron.daily/

查看每天执行的计划任务

ls -al /etc/cron.weekly/

查看每周执行的计划任务

ls -al /etc/cron.monthly/

查看每月执行的计划任务

ls -al /var/spool/cron/

RHEL / CentOS 用户级计划任务目录

ls -al /var/spool/cron/crontabs/

Debian / Ubuntu 用户级计划任务目录

systemctl list-unit-files --type=service

查看所有 systemd 服务及开机启动状态

systemctl list-units --type=service --state=running

查看当前正在运行的 systemd 服务

systemctl list-timers --all

查看 systemd timer 定时任务

cat /etc/rc.local

查看 rc.local 启动脚本

ls -al /etc/init.d/

查看传统 init 启动脚本

cat /etc/profile

查看全局 shell 启动配置

ls -al /etc/profile.d/

查看 profile.d 扩展脚本

cat ~/.bashrc

查看当前用户 bashrc 配置

cat ~/.bash_profile

查看当前用户 bash profile 配置

cat /etc/ld.so.preload

查看 LD_PRELOAD 配置,常用于隐藏后门

7.2 场景化排查命令

命令

描述

for u in $(cut -d: -f1 /etc/passwd); do crontab -u "$u" -l 2>/dev/null | sed "s/^/[$u] /"; done

枚举所有用户 crontab,比只看当前用户更完整

find /etc/cron* /var/spool/cron* -type f -ls 2>/dev/null

查看系统级和用户级计划任务文件

grep -RInE 'curl|wget|bash|sh -c|base64|/tmp|/dev/shm|nc |python|perl' /etc/cron* /var/spool/cron* 2>/dev/null

聚合检查计划任务中的下载执行、反弹 Shell、临时目录执行等特征

systemctl list-unit-files --type=service --state=enabled

查看开机自启服务

find /etc/systemd/system /lib/systemd/system -type f -mtime -30 -ls 2>/dev/null

查找近期新增或修改的 systemd 服务文件

grep -RInE 'ExecStart=.*(curl|wget|/tmp|/dev/shm|bash|python|perl)' /etc/systemd/system /lib/systemd/system 2>/dev/null

聚合检查可疑 systemd 启动命令

systemctl list-timers --all

查看 systemd timer,攻击者可能用 timer 替代 cron

ls -la /etc/init.d/ /etc/rc*.d/ 2>/dev/null; cat /etc/rc.local 2>/dev/null

检查传统启动项

grep -RInE 'curl|wget|bash -i|/dev/tcp|LD_PRELOAD|base64' /etc/profile /etc/profile.d/ /root/.bash* /home/*/.bash* 2>/dev/null

检查 shell 启动配置中的恶意命令

cat /etc/ld.so.preload 2>/dev/null; env | grep -i LD_PRELOAD

检查动态链接库劫持

find /root /home -path '*/.ssh/authorized_keys' -type f -exec ls -l {} \; -exec cat {} \;

检查 SSH 公钥持久化

8. Web 目录与 Web 日志排查

8.1 Web 文件核心基础命令

命令

描述

find /var/www -type f -mtime -7

查找 Web 目录最近 7 天修改的文件

find /var/www -type f -name "*.php"

查找 PHP 文件

find /var/www -type f -name "*.jsp"

查找 JSP 文件

find /var/www -type f -name "*.asp" -o -name "*.aspx"

查找 ASP / ASPX 文件

find /var/www -type f -size +100k -ls

查找体积较大的可疑 Web 文件

stat suspicious_web_file

查看可疑 Web 文件时间戳、权限、属主

sha256sum suspicious_web_file

计算可疑 Web 文件哈希

8.2 Web 文件场景化排查命令

命令

描述

find /var/www -type f -printf '%TY-%Tm-%Td %TT %p\n' 2>/dev/null | sort -r | head -100

按修改时间倒序查看 Web 文件,更适合快速定位新增文件

find /var/www -type f \( -path '*upload*' -o -path '*uploads*' \) \( -name '*.php' -o -name '*.phtml' -o -name '*.jsp' -o -name '*.jspx' -o -name '*.asp' -o -name '*.aspx' \) -ls 2>/dev/null

检查上传目录中的脚本文件,WebShell 高发场景

find /var/www -type f -regextype posix-extended -regex '.*\.(jpg|png|gif|jpeg)\.(php|phtml|jsp|asp|aspx)$' -ls 2>/dev/null

检查双后缀伪装文件,例如 1.jpg.php

grep -RInE --include='*.php' --include='*.phtml' 'eval\s*\(|assert\s*\(|base64_decode|shell_exec|system\s*\(|passthru|proc_open|popen|php://input' /var/www 2>/dev/null

一条命令聚合检查常见 PHP WebShell 特征,避免堆多个 grep

FILE=/var/www/html/shell.php; stat "$FILE"; sha256sum "$FILE"

对可疑 WebShell 文件做时间戳和哈希记录

8.3 Web 日志核心基础命令

命令

描述

tail -n 200 access.log

查看最近 200 行访问日志

tail -n 200 error.log

查看最近 200 行错误日志

less access.log

交互式查看访问日志

grep "suspicious_file" access.log

根据可疑文件名反查访问记录

grep "suspicious_ip" access.log

根据可疑 IP 反查访问记录

8.4 Web 日志场景化排查命令

命令

描述

awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -20

统计访问源 IP,发现高频扫描、爆破、攻击源

awk '{print $7}' access.log | sort | uniq -c | sort -nr | head -30

统计访问 URL,发现高频访问的 WebShell、接口、漏洞路径

awk '{print $9}' access.log | sort | uniq -c | sort -nr

统计状态码分布,观察是否存在大量 404、500、403

awk '$9==404{print $7}' access.log | sort | uniq -c | sort -nr | head -30

查看 404 Top 路径,适合发现批量扫描字典

awk '$6=="\"POST"{print $1,$4,$7,$9}' access.log | sort | uniq -c | sort -nr | head -50

聚合查看 POST 请求,关注上传、登录、命令执行类接口

grep -Eai '\.\./|%2e%2e|union.*select|sleep\(|benchmark\(|/etc/passwd|cmd=|exec=|wget|curl|bash|base64|php://|/bin/sh' access.log

一条命令聚合查目录穿越、SQL 注入、命令执行、下载执行等可疑 payload

awk -F\" '{print $6}' access.log | sort | uniq -c | sort -nr | head -30

统计 User-Agent,发现扫描器、脚本化工具、异常客户端

IP=1.2.3.4; grep "$IP" access.log | awk '{print $1,$4,$6,$7,$9}' | head -100

从可疑 IP 反查访问行为

FILE=shell.php; grep "$FILE" access.log

从可疑 WebShell 文件名反查访问记录

9. 系统日志与命令历史排查

9.1 核心基础命令

命令

描述

journalctl

查看 systemd 日志

journalctl -xe

查看 systemd 详细错误信息

journalctl -p err

查看错误级别日志

dmesg -T

查看内核日志

ls -al /var/log/

查看系统日志目录

tail -n 200 /var/log/messages

RHEL / CentOS 查看系统消息日志

tail -n 200 /var/log/syslog

Debian / Ubuntu 查看系统日志

history

查看当前用户命令历史

cat ~/.bash_history

查看当前用户 bash 历史命令

ls -al /root/ /home/

查看用户目录,辅助定位历史文件

9.2 场景化排查命令

命令

描述

journalctl --since "YYYY-MM-DD HH:MM:SS" --no-pager

按时间范围查看 systemd 日志,时间替换为事件发生时间

grep -Ei 'sudo|su:|session opened|useradd|usermod|passwd' /var/log/auth.log /var/log/secure 2>/dev/null

聚合查看提权、切换用户、创建用户、修改密码行为

find /root /home -name '.*history' -type f -exec ls -l {} \; -exec tail -n 80 {} \;

查看用户命令历史,注意历史文件可能被清理或篡改

grep -RInE 'curl|wget|nc |ncat|socat|/dev/tcp|bash -i|chmod \+x|crontab|systemctl|useradd|passwd' /root/.*history /home/*/.*history 2>/dev/null

聚合搜索历史命令中的下载执行、反弹 Shell、持久化、账号操作

stat /var/log/auth.log /var/log/secure /var/log/wtmp /var/log/btmp 2>/dev/null

检查关键日志文件大小和修改时间,判断是否存在清理痕迹

journalctl --verify

校验 journal 日志完整性

dmesg -T | tail -100

查看最近内核日志,关注异常模块、崩溃、OOM、驱动异常

10. 系统完整性与 Rootkit 排查

10.1 核心基础命令

命令

描述

lsmod

查看当前加载的内核模块

cat /proc/modules

查看内核模块信息

cat /etc/ld.so.preload

检查是否存在动态链接库劫持

which ps

查看 ps 命令路径

which netstat

查看 netstat 命令路径

which ss

查看 ss 命令路径

which lsof

查看 lsof 命令路径

stat /bin/ps

查看 ps 文件状态

stat /usr/bin/ss

查看 ss 文件状态

chkrootkit

使用 chkrootkit 检查 Rootkit

rkhunter --check

使用 rkhunter 检查 Rootkit

10.2 场景化排查命令

命令

描述

rpm -Va | grep -E '(/bin/|/sbin/|/usr/bin/|/usr/sbin/)'

RHEL 系校验系统文件完整性,重点关注系统命令是否被替换

debsums -s 2>/dev/null

Debian / Ubuntu 系校验软件包文件完整性,需要系统已安装 debsums

which ps ss netstat lsof; stat /bin/ps /usr/bin/ss /bin/netstat /usr/bin/lsof 2>/dev/null

检查常用排查命令路径和文件状态

lsmod; find /lib/modules -type f -mtime -30 -ls 2>/dev/null

查看内核模块和近期修改的模块文件

cat /etc/ld.so.preload 2>/dev/null; env | grep -i LD_PRELOAD

检查动态库劫持,Rootkit 常见隐藏方式

ps -e --no-headers | wc -l; find /proc -maxdepth 1 -regex '/proc/[0-9]+' | wc -l

对比 ps 进程数量和 /proc 进程数量,发现明显不一致时继续深入

find /proc -maxdepth 2 -path '/proc/[0-9]*/exe' -lname '*deleted*' -ls 2>/dev/null

查找进程文件已删除但仍在运行的情况

lsof +L1

查找已删除但仍被进程占用的文件

11. 容器环境排查

11.1 核心基础命令

命令

描述

docker ps -a

查看所有 Docker 容器

docker images

查看本地镜像

docker logs CONTAINER_ID

查看指定容器日志

docker inspect CONTAINER_ID

查看容器详细配置

docker top CONTAINER_ID

查看容器内进程

docker exec -it CONTAINER_ID ps -ef

进入容器查看进程

docker exec -it CONTAINER_ID ss -antp

进入容器查看网络连接

crictl ps -a

查看 containerd / CRI 容器

crictl images

查看 CRI 镜像

kubectl get pods -A -o wide

Kubernetes 查看所有命名空间 Pod

kubectl get svc -A

Kubernetes 查看所有 Service

11.2 场景化排查命令

命令

描述

docker ps -a --no-trunc

查看完整容器启动命令,关注异常参数

docker inspect --format '{{.Name}} Privileged={{.HostConfig.Privileged}} Mounts={{json .Mounts}}' $(docker ps -aq)

批量检查容器是否 privileged、是否挂载宿主敏感目录

docker top CONTAINER_ID; docker logs --tail=200 CONTAINER_ID

查看容器内进程和最近日志

docker inspect CONTAINER_ID | grep -Ei 'Privileged|Binds|Mounts|NetworkMode|PidMode'

检查容器特权模式、挂载、网络模式、PID 模式

crictl ps -a; crictl inspect CONTAINER_ID

containerd / CRI 场景下查看容器详情

kubectl describe pod POD_NAME -n NAMESPACE

查看可疑 Pod 的镜像、挂载、环境变量、事件

kubectl get sa,role,rolebinding,clusterrolebinding -A

查看 Kubernetes 账号与权限绑定,排查异常权限

12. 应急处置命令

12.1 核心基础命令

命令

描述

kill -STOP PID

暂停可疑进程,保留现场,不立即杀死

kill -9 PID

强制结束恶意进程,可能破坏现场,慎用

chmod 000 suspicious_file

禁止可疑文件继续执行

mv suspicious_file suspicious_file.bak

隔离可疑文件

passwd root

修改 root 密码

passwd USER

修改指定用户密码

systemctl stop SERVICE_NAME

停止异常 systemd 服务

systemctl disable SERVICE_NAME

禁用异常 systemd 服务

crontab -l

处置前查看当前计划任务

crontab -r

删除当前用户所有计划任务,慎用

iptables -P OUTPUT DROP

阻断出站流量,慎用

iptables -P INPUT DROP

阻断入站流量,慎用

12.2 处置建议

命令

描述

cp suspicious_file suspicious_file.evidence

处置前备份可疑文件

sha256sum suspicious_file > suspicious_file.sha256

记录可疑文件哈希

systemctl cat SERVICE_NAME

查看服务完整配置,确认是否恶意

systemctl disable --now SERVICE_NAME

禁用并停止确认恶意的服务

crontab -u USER -l > USER.cron.bak

删除计划任务前先备份

cp ~/.ssh/authorized_keys authorized_keys.bak

删除异常公钥前先备份

iptables-save > iptables.bak

修改防火墙规则前先备份