Debian 系统上 exploit(漏洞利用) 的溯源分析,核心目标是:
搞清楚“谁、什么时候、通过什么方式、利用了哪个漏洞、做了什么”。
下面给你一套 实战型溯源分析流程,从 快速止血 → 日志取证 → 漏洞定位 → 利用链还原 → 根因总结。
在溯源前,先保证现场不再被污染:
隔离系统
保留现场
dd if=/dev/sda of=/mnt/forensic/sda.img bs=4M
记录当前状态
ps auxf
netstat -antup
ss -antup
w
last
last -F
lastb
lastlog
重点看:
journalctl --list-boots
ls -lut /var/log
| 类型 | 路径 |
|---|---|
| 系统日志 | /var/log/syslog |
| 认证日志 | /var/log/auth.log |
| 内核日志 | /var/log/kern.log |
| 服务日志 | /var/log/nginx/, /var/log/apache2/ |
| 定时任务 | /var/log/cron |
grep -R "Accepted" /var/log/auth.log
grep -R "Failed" /var/log/auth.log
grep -R "sudo" /var/log/auth.log
搜索:
ps aux --sort=-%cpu
top
重点:
find /var/www -name "*.php" -mtime -7
find / -name "*.sh" -mtime -7
webshell 常见特征:
| 类型 | 举例 |
|---|---|
| 本地提权 | Dirty Pipe、Dirty COW |
| 远程 RCE | nginx / Apache / Redis / SSH |
| 服务漏洞 | sudo CVE、systemd |
| 容器逃逸 | Docker misconfig |
sudo -V
dpkg -l sudo
对比:
uname -r
对照:
crontab -l
ls /etc/cron*
systemctl list-unit-files
ls /etc/init.d/
ls -la /tmp /dev/shm
find / -perm -4000 2>/dev/null
ss -antup
grep -R "wget\|curl" /var/log/*
cat /var/log/syslog | grep "query"
./linpeas.sh
在复现环境:
应包括:
✅ 帮你 逐条分析某台 Debian 的日志
✅ 判断 是否是某个 CVE exploit
✅ 给你 定制 Debian 加固方案
你可以直接贴:
/var/log/auth.logps auxuname -a