萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Solaris 伺服器防範 Rootkit 攻擊完整指南

一、Rootkit 定義與威脅

Rootkit 一詞已歷十餘年,意指一組讓攻擊者持久、隱蔽保持 root 最高權限存取的工具套件。其核心在於「難以偵測」:隱藏檔案、目錄、進程、網路連線,甚至竊聽網路封包。結合遠端存取與竊聽功能,Rootkit 能對系統安全造成毀滅性打擊。

取得主機控制權最直接方式是密碼猜測,但登入限制使其效果有限。進階攻擊者利用服務漏洞(Sun 空窗期)植入惡意程式,並將工具打包散播,形成流行的 Rootkit 套件。

二、Rootkit 分類與典型特徵

1. 應用層 Rootkit

以惡意程式取代系統合法執行檔,提供後門並掩蓋蹤跡。常見被替換工具:

  • 隱藏蹤跡: ls、find、du(隱藏檔案);ps、top、pidof(隱藏進程);netstat(隱藏連線);killall(阻止終止進程);ifconfig(隱藏混雜模式旗標);crontab(隱藏排程);tcpd、syslogd(停止記錄)。
  • 後門程式: chfn、chsh、passwd(輸入特定密碼獲取 root);login(記錄所有密碼);bd2(rpcbind 後門任意執行碼)。
  • 惡意服務: inetd(開放後門埠);rshd/rsh(遠端 Shell 與密碼竊取);sshd(特定帳號登入獲 root shell)。
  • 嗅探工具: linsniffer、sniffchk、le(Solaris 專用)、sniff-10mb/100mb 等。
  • 其他: fix(偽造時間戳與校驗和);wted/z2/zap3(清理 wtmp/utmp/lastlog);bindshell(綁定 root shell 於埠 31337)。

2. 核心層 Rootkit

透過可載入核心模組(LKM)操作核心,繞過應用層檢查,極難發現。雖多針對 Linux,但可移植至 Solaris 等支援 LKM 系統。一旦安裝,系統徹底失陷,管理員甚至無法發現異常。

運作手法包括:

  • 攔截 sys_getdents() 隱藏 /proc 中進程記錄。
  • 篩選 /proc/net/tcp、/proc/net/udp 隱藏網路連線。
  • 使用 EXPORT_NO_SYMBOLS 隱藏模組符號。
  • 替換 sys_settimeofday() 透過特殊參數傳遞指令。
  • Hook sys_execve() 替換執行檔行為而不動檔案本體。

知名核心層 Rootkit:Linux knark(含 hidef、unhidef、nethide、taskhack、rexec、rootme)、Solaris LKM 套件。

copyright © 萬盛學電腦網 all rights reserved