「腳本小子」利用已知漏洞/弱口令/未修補服務入侵服務器,植入 Rootkit、挖礦程序、DDoS 僵屍網絡客戶端。本文提供入侵發現後的標準化應急排查流程:僵屍進程識別、Rootkit 檢測、賬號審計、歷史清理、系統重建決策。
原則:不要信任被入侵系統上的任何二進制文件。需從已知乾淨介質引入:
busybox、chkrootkit、rkhunter、unhide、lsof、netstat、ps、md5sum/sha256sumtmpfs)./ps auxf (可信 ps) 對比系統 ps auxf,關注:
kthreadd 運行用戶程序、[kworker] 佔用高 CPU)/tmp//var/tmp//dev/shm/用戶家目錄./lsof -p PID 檢查可疑進程打開文件/網絡連接./netstat -antup (可信) 對比系統 netstat,發現隱藏端口/連接./unhide proc / ./unhide sys 專用隱藏進程檢測工具# 正常 ps 約 60-120KB (動態鏈接)
ls -l /bin/ps /bin/ls /bin/netstat /usr/bin/top /usr/bin/who
md5sum /bin/ps /bin/ls /bin/netstat ... > /tmp/clean_hashes.txt
# 對比已知乾淨系統哈希
/lib//lib64//usr/lib 下可疑 .so 文件 (LD_PRELOAD Rootkit)grep :x:0: /etc/passwd
# 僅應輸出一行: root:x:0:0:root:/root:/bin/bash
多行 = 存在後門賬號
cat /etc/sudoers、ls -la /etc/sudoers.d/cat /root/.ssh/authorized_keys、cat /home/*/.ssh/authorized_keys 檢查陌生公鑰crontab -l -u root、ls -la /etc/cron*/、cat /etc/crontab 檢查惡意定時腳本systemctl list-unit-files --state=enabled、ls /etc/rc*.d/、cat /etc/rc.localls -l ~/.bash_history
# 正常: -rw------- 1 user user 13829 Oct 10 17:06 .bash_history
# 被劫持: lrwxrwxrwx 1 user user 9 Oct 10 19:40 .bash_history -> /dev/null
發現轉鏈接 → **立即斷網、備份數據、重裝系統**
/var/log/secure/auth.log/messages/wtmp/utmp 有時間段空白/被截斷utmp/wtmp 異常登錄記錄find / -mtime -3 -type f ! -path "/proc/*" ! -path "/sys/*" 2>/dev/nullfind / -perm -4000 -o -perm -2000 -type f 2>/dev/null 對比基線/tmp//var/tmp//dev/shm//run 下可執行文件/腳本find /var/www -name "*.php" -o -name "*.jsp" -o -name "*.asp" | xargs grep -l "eval\|base64_decode\|system\|shell_exec" 2>/dev/null| 指標 | 可嘗試清理 | 必須重裝 |
|---|---|---|
| Rootkit 類型 | 用戶態 (LD_PRELOAD/替換二進制) | 內核態 (LKM/內核模塊) | 隱藏程度 | 僅隱藏文件/進程 | Hook 系統調用、修改內核結構 |
| 後門數量 | 單一 SSH 鍵/計劃任務 | 多層後門 (SSH/Web/RPC/內核) |
| 數據價值 | 可接受風險/有完整備份 | 核心業務/合規要求/無可靠備份 |
| 取證需求 | 無法律/合規取證要求 | 需保留證據鏈、配合警方調查 |
dd 磁鏡像 (如條件允許)鐵律:內核級 Rootkit = 必須重裝。任何嘗試在受感染系統上「清理」內核 Rootkit 的行為都是賭博。備份驗證、基線部署、最小權限、持續監控才是長久之計。