| 类型 | 说明 | 工具 |
|---|---|---|
| HIDS (主机) | 监控主机文件/进程/网络 | Wazuh, Osquery, AIDE |
| NIDS (网络) | 监控网络流量 | Suricata, Snort, Zeek |
| 日志分析 | 从日志发现异常 | ELK + 规则引擎 |
# 查找监听外网的进程
ss -tlnp | grep -v "127.0.0.1"
# 查找无父进程的进程
ps aux | grep -v grep | awk '{if($2==2||$2==1||$2==0)print}'
# 查找隐藏进程
ps aux | awk '{print $2}' > /tmp/ps_pids
ls /proc | grep -E '^[0-9]+$' > /tmp/proc_pids
diff /tmp/ps_pids /tmp/proc_pids | grep '^>'
# 查找异常 crontab
cat /var/spool/cron/crontabs/*
# 最近修改的文件
find / -type f -mtime -1 2>/dev/null
# SUID/SGID 文件
find / -perm -4000 -o -perm -2000 2>/dev/null
# 无主文件
find / -nouser -o -nogroup 2>/dev/null
1. 确认 → 隔离 → 取证 → 清除 → 恢复 → 复盘
↓
2. 隔离手段:
- iptables 切断外部连接
- 仅保留 SSH 跳板机通道
- 如需要,关机保留磁盘镜像
↓
3. 取证关键信息:
- bash history
- /var/log/ 完整备份
- 进程列表、网络连接
- 定时任务、启动服务
- 最近修改的文件
SELECT pid, name, cmdline FROM processes WHERE name LIKE '%malware%';
SELECT * FROM listening_ports WHERE port = 4444;
SELECT * FROM crontab;