本文為授權滲透測試複盤,展示攻擊者視角以利防禦者理解威脅模型。未經書面授權禁止對任何系統測試。
# nmap -sT -O 111.111.111.111
Port State Service
7 open echo
9 open discard
19 open chargen
21 open ftp
23 open telnet
25 open smtp
37 open time
79 open finger
80 open http
111 open sunrpc
443 open https
512 open exec
513 open login
514 open shell
515 open printer
540 open uucp
3306 open mysql
OS 指紋識別失敗,但開放服務眾多 → 攻擊面大。
| 埠口 | 服務 | 偵測結果 | 潛在風險 |
|---|---|---|---|
| 21 | FTP | 連線即斷 → 可能有 TCP Wrapper/防火牆過濾 | 需嘗試繞過 |
| 25 | SMTP | Sendmail 8.9.3 | 版本較舊,但無已知致命 RCE |
| 80 | HTTP | Apache 1.3.9 | 無已知預設配置 RCE |
| 111 | SunRPC | 僅 `rpcbind`,無 `cmsd`/`ttdbserverd` 等高危服務 | 無直接利用 |
| 79 | Finger | 列出用戶:root, aaa, bbb, ccc, ddd | 資訊洩露,可用於暴力破解/社交工程 |
| 512-514 | R-services (rsh/rlogin/rexec) | 開放 | 極高風險:若 `.rhosts` 配置不當可免密登入 |
procfs 竄改 `/proc/pid/mem` 繞過 `CHECKIO` 機制獲取 root(CVE-1999-0704 變體)。| 發現 | 修復/緩解 |
|---|---|
| Finger 服務開放洩露用戶列表 | 關閉 port 79 或限制來源 IP |
| R-services (512-514) 開放且信任配置鬆散 | 全面停用 rsh/rlogin/rexec,改用 SSH |
| 舊版核心 FreeBSD 3.2 未修補已知提權漏洞 | 升級至支援版本、套用安全補丁 |
| procfs 掛載允許本地提權 | 掛載選項 `noexec,nosuid` 或卸載(評估相依性) |
| 系統帳號密碼弱/無密碼 | 強制密碼複雜度、鎖定失敗嘗試 |
| 無主機入侵偵測 (HIDS) / 完整性監控 | 部署 Tripwire/AIDE、Auditd、OSSEC |
| 無網路分段,單一失敗點導致全盤淪陷 | DMZ/內網隔離、最小權限、零信任網路 |
這次滲透成功關鍵在於:資訊洩露 → 過時服務 → 弱配置 → 未修補漏洞 形成完整攻擊鏈。任一環節修復即可斷鏈。防禦核心:最小化攻擊面、持續修補、預設拒絕、監控異常。