上一篇我們完成了 Metasploitable2 的全攻略回顧。在跨入下一個階段之前,有一個問題值得回答:Rapid7 後來又出了 Metasploitable3,它跟我們練的 Metasploitable2 有什麼不同?該不該也練一遍?
這篇不是攻略教學,而是一篇比較分析。幫你理解兩代靶機的設計哲學差異,以及它們各自適合什麼階段的學習者
最大的差異:設計哲學
Metasploitable2 的設計哲學:
「給你一台滿是漏洞的機器,直接開打」
→ 下載 → 匯入 VMware/VirtualBox → 開機 → 開始攻擊
→ 所有漏洞都是「開箱即用」
→ 適合快速上手、理解基本概念
Metasploitable3 的設計哲學:
「模擬一個更真實的企業環境」
→ 需要用 Vagrant + Packer 自動化建置
→ 漏洞可以透過 Chef/Puppet 設定要裝哪些
→ Windows + Linux 雙平台
→ 需要更多前置知識才能開始
部署方式
Metasploitable2:
1. 下載 .vmdk 檔案(約 800MB)
2. 匯入 VMware 或 VirtualBox
3. 開機
→ 完成!3 分鐘搞定
Metasploitable3:
1. 安裝 Vagrant
2. 安裝 Packer
3. 安裝 VirtualBox 或 VMware
4. 準備 Windows Server 2008 ISO(需自行取得)
5. git clone Metasploitable3 repo
6. 執行 packer build 建置映像檔(30-60 分鐘)
7. 執行 vagrant up 啟動虛擬機
→ 完成!可能花 1-2 小時
建置過程中可能遇到的問題:
→ Packer 版本不相容
→ Vagrant 插件問題
→ Windows ISO 授權問題
→ 網路設定衝突
→ 磁碟空間不足(Windows VM 比較大)
漏洞的設計
Metasploitable2 的漏洞特色:
│
├── 古老但經典
│ vsftpd 2.3.4(2011)、Samba CVE-2007-2447
│ → 這些漏洞在現代環境中幾乎不會出現
│ → 但它們的「原理」永遠不會過時
│
├── 一步到位
│ 大部分漏洞都是 Metasploit 一鍵搞定
│ → 適合學習工具的使用
│ → 但容易養成「只會按按鈕」的習慣
│
└── 獨立存在
每個漏洞都是獨立的,互不相關
→ 學習方便,但不夠真實
Metasploitable3 的漏洞特色:
│
├── 更接近現代
│ Jenkins、ElasticSearch、Apache Struts、
│ WordPress、Drupal、ManageEngine
│ → 這些軟體在真實環境中仍然常見
│
├── 需要串聯
│ 很多漏洞需要多步驟組合才能完整利用
│ → 更接近真實滲透測試的流程
│ → 培養「攻擊鏈」的思維
│
└── 有防禦機制
Windows 防火牆、UAC、
某些服務需要先繞過才能利用
→ 學習面對和繞過防禦措施
兩者最大的共同點是:它們都是安全的練習環境。在這裡犯的錯誤不會有任何後果,而你學到的知識在真實世界中都用得上。![]()