Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Linux 服務器被入侵應急排查實戰:Rootkit 檢測、賬號審計、歷史清理全流程

編輯:關於伺服器

「腳本小子」利用已知漏洞/弱口令/未修補服務入侵服務器,植入 Rootkit、挖礦程序、DDoS 僵屍網絡客戶端。本文提供入侵發現後的標準化應急排查流程:僵屍進程識別、Rootkit 檢測、賬號審計、歷史清理、系統重建決策。

前置認知:Rootkit 本質

  • Rootkit = 獲得 Root 權限後的工具包,包含:隱藏進程/文件/網絡連接/登錄項 的內核/用戶態模組、後門 (SSH/TCP/UDP/ICMP)、日志清理器、提權漏洞利用代碼
  • 一旦 Rootkit 植入內核,**系統命令 (ps/ls/netstat/who/last/top) 皆不可信**,因為它們可能被替換或系統調用被 Hook

排查步驟 1:可信基線工具準備 (關鍵)

原則:不要信任被入侵系統上的任何二進制文件。需從已知乾淨介質引入:

  • 靜態編譯工具包:busybox、chkrootkit、rkhunter、unhide、lsof、netstat、ps、md5sum/sha256sum
  • 存放於只讀介質 (USB/光盤/只讀掛載 NFS) 或內存文件系統 (tmpfs)
  • 驗證工具哈希值與官方發布值一致

排查步驟 2:進程異常檢測

  1. ./ps auxf (可信 ps) 對比系統 ps auxf,關注:
    • PID 不連續/間隙大 (隱藏進程)
    • 命令名異常 (kthreadd 運行用戶程序、[kworker] 佔用高 CPU)
    • 用戶為 root 但非系統服務
    • 可執行路徑指向 /tmp//var/tmp//dev/shm/用戶家目錄
  2. ./lsof -p PID 檢查可疑進程打開文件/網絡連接
  3. ./netstat -antup (可信) 對比系統 netstat,發現隱藏端口/連接
  4. ./unhide proc / ./unhide sys 專用隱藏進程檢測工具

排查步驟 3:二進制文件完整性驗證

  1. 核心命令文件大小/哈希對比:
    # 正常 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
    # 對比已知乾淨系統哈希
  2. 檢查關鍵文件修改時間 (stat) 是否近期異常變更
  3. 檢查 /lib//lib64//usr/lib 下可疑 .so 文件 (LD_PRELOAD Rootkit)

排查步驟 4:賬號與認證審計

  1. UID 0 賬號檢查:
    grep :x:0: /etc/passwd
    # 僅應輸出一行: root:x:0:0:root:/root:/bin/bash
    多行 = 存在後門賬號
  2. sudoers 異常:cat /etc/sudoers、ls -la /etc/sudoers.d/
  3. SSH 授權鍵:cat /root/.ssh/authorized_keys、cat /home/*/.ssh/authorized_keys 檢查陌生公鑰
  4. 計劃任務:crontab -l -u root、ls -la /etc/cron*/、cat /etc/crontab 檢查惡意定時腳本
  5. 啟動項:systemctl list-unit-files --state=enabled、ls /etc/rc*.d/、cat /etc/rc.local

排查步驟 5:歷史記錄與日誌分析

  1. .bash_history 重定向檢測:
    ls -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
    發現轉鏈接 → **立即斷網、備份數據、重裝系統**
  2. 日誌缺口:/var/log/secure/auth.log/messages/wtmp/utmp 有時間段空白/被截斷
  3. last/lastb 對比 utmp/wtmp 異常登錄記錄

排查步驟 6:文件系統異常掃描

  • 近期修改文件:find / -mtime -3 -type f ! -path "/proc/*" ! -path "/sys/*" 2>/dev/null
  • SUID/SGID 異常:find / -perm -4000 -o -perm -2000 -type f 2>/dev/null 對比基線
  • 可疑目錄:/tmp//var/tmp//dev/shm//run 下可執行文件/腳本
  • Web 目錄 Webshell:find /var/www -name "*.php" -o -name "*.jsp" -o -name "*.asp" | xargs grep -l "eval\|base64_decode\|system\|shell_exec" 2>/dev/null

決策矩陣:清理 vs 重裝

  • 指標可嘗試清理必須重裝
    Rootkit 類型用戶態 (LD_PRELOAD/替換二進制)內核態 (LKM/內核模塊)
    隱藏程度僅隱藏文件/進程Hook 系統調用、修改內核結構
    後門數量單一 SSH 鍵/計劃任務多層後門 (SSH/Web/RPC/內核)
    數據價值可接受風險/有完整備份核心業務/合規要求/無可靠備份
    取證需求無法律/合規取證要求需保留證據鏈、配合警方調查

    應急響應標準動作 (SOP)

    1. 斷網隔離:物理拔網線/關閉交換機端口/安全組拒絕所有入站
    2. 記錄現場:拍照/截圖關鍵證據、dd 磁鏡像 (如條件允許)
    3. 備份核心數據:僅備份業務數據庫/代碼/配置,**不備份可執行文件/腳本/二進制**
    4. 全盤重裝:格式化系統盤、重新安裝 OS、應用補丁、部署加固基線
    5. 恢復驗證:數據導入、功能測試、滲透測試驗證修復
    6. 事後複盤:根因分析 (漏洞/弱口令/配置錯誤)、整改措施、更新應急預案
    鐵律:內核級 Rootkit = 必須重裝。任何嘗試在受感染系統上「清理」內核 Rootkit 的行為都是賭博。備份驗證、基線部署、最小權限、持續監控才是長久之計。
    Copyright © Windows教程網 All Rights Reserved