2898 字
14 分鐘
🧭 滲透測試學習路線圖

🎯 滲透測試學習路線圖#

一份結構化的指南,幫助你在滲透測試這個令人眼花撩亂的領域中順利前行

📖 目錄#

🎭 介紹#

感到不知所措是很正常的! 滲透測試是一個結合了網路、程式設計、系統管理與資安專業的龐大領域。這份學習路線圖將協助你系統性地建立技能,而不是隨意跳躍於各種主題之間。

🎯 這份學習路線圖的目標#

  • 有架構性:清楚的學習階段與具體目標
  • 聚焦單一技能:一次只專注於一項技能,避免過度負擔
  • 實務導向:包含實作實驗與真實世界的情境
  • 漸進式學習:每個階段皆建立在前一階段的基礎之上

🔧 先備知識#

在開始滲透測試之前,請確保你已具備以下內容:

基本知識#

  • 網路基礎知識(TCP/IP、DNS、HTTP/HTTPS)
  • 基本 Linux 指令列操作(檔案操作、權限管理、目錄導航)
  • 理解網頁技術(HTML、CSS、基本 JavaScript)
  • 基本腳本撰寫能力(Python 或 Bash——建議使用 Python)

推薦環境設置#

  • 虛擬機環境(VMware 或 VirtualBox)
  • Kali Linux 安裝於虛擬機中
  • Windows 10/11 用於測試跨平台工具
  • 筆記系統(Obsidian、Notion 或簡單的 Markdown 檔案)

🏗️ 第一階段:基礎建構(4-6 週)#

目標:建立穩固的基礎知識,並熟悉基本工具。

第 1–2 週:網路與系統#

  • 學習 OSI 模型 及協定間的互動方式
  • 深入了解 TCP/IP ——理解埠口、協定、封包流程
  • 掌握基本 Linux 指令 ——檔案系統、行程管理、網路指令
  • 理解 Windows 基礎知識 ——登錄檔、服務、檔案系統

實作實驗室:建立一個基礎的家庭實驗環境,讓 2-3 台虛擬機彼此通訊。

第 3–4 週:偵察基礎#

  • 學習資訊收集技術
    • Google 搜尋語法(Google Dorking)
    • WHOIS 查詢
    • DNS 枚舉
    • 社群媒體情報收集(OSINT)

需要熟悉的工具

  • nmap —— 網路掃描
  • dig / nslookup —— DNS 查詢
  • whois —— 網域資訊
  • theHarvester —— 郵件/網域收集

實作實驗室

  • 對 TryHackMe 或 HackTheBox 的目標進行偵察
  • 用結構化報告記錄你的發現

第 5–6 週:網頁應用基礎#

  • 理解網頁應用的架構
  • 認識常見的網頁漏洞(OWASP Top 10 概覽)
  • 熟悉 Burp Suite 的基本功能
  • 練習使用瀏覽器開發者工具

實作實驗室

  • 完成 DVWA(Damn Vulnerable Web Application)初階練習
  • 練習攔截與修改 HTTP 請求

🎯 第二階段:核心技能開發(8-12 週)#

目標:培養在滲透測試主要領域的熟練度。

第 7–10 週:網頁應用安全#

聚焦於現代環境中最常見的攻擊向量。

第 7 週:輸入驗證攻擊#

  • SQL 注入
    • 瞭解不同類型(Union、布林邏輯、時間型)
    • 手動利用技巧
    • 自動化工具(SQLMap)
  • 跨站腳本攻擊(XSS)
    • 反射型、儲存型、DOM 型 XSS
    • Payload 編寫與繞過技巧

實作實驗室

  • PortSwigger Web Security Academy(SQL 注入與 XSS 實驗室)
  • DVWA 中階練習

第 8 週:驗證與會話管理#

  • 繞過身份驗證技術
  • 會話劫持與固定攻擊
  • 密碼攻擊(暴力破解、字典攻擊)
  • 多因素驗證繞過

工具:Hydra、John the Ripper、Hashcat

第 9 週:進階網頁攻擊#

  • 伺服器端請求偽造(SSRF)
  • XML 外部實體(XXE)攻擊
  • 不安全的直接物件參考(IDOR)
  • 檔案上傳漏洞

第 10 週:網頁應用測試方法論#

  • 有結構的測試流程
  • 撰寫網頁應用測試報告
  • 風險評估與 CVSS 評分

第 11–14 週:網路滲透測試#

第 11 週:網路掃描與枚舉#

  • 進階 Nmap 技巧
    • 腳本引擎(NSE)
    • 隱形掃描技術
    • 防火牆/入侵偵測系統(IDS)規避
  • 服務枚舉
    • SMB、FTP、SSH、HTTP、DNS
    • 橫幅抓取與版本偵測

實作練習:TryHackMe 的網路安全模組

第 12–13 週:漏洞利用技巧#

  • 精通 Metasploit 框架
    • 漏洞模組、Payloads、編碼器
    • 後滲透模組
    • Meterpreter 使用方式
  • 手動漏洞利用技術
  • 緩衝區溢位基礎(非必要但極具價值)

第 14 週:後滲透階段#

  • 權限提升(Linux 與 Windows)
  • 橫向移動技術
  • 持久性機制
  • 資料外洩手法

第 15–18 週:腳本撰寫與自動化#

第 15–16 週:為滲透測試人員設計的 Python#

  • 網路程式設計(Sockets、HTTP 請求)
  • 自動化腳本以處理常見任務
  • 自製漏洞利用程式的基礎
  • API 測試自動化

專案練習

  • 建立一個 Port Scanner(埠口掃描器)
  • 製作一個網站目錄暴力破解工具
  • 自動化 SQLi 偵測流程

第 17–18 週:進階腳本開發#

  • Bash 腳本(用於 Linux 環境)
  • PowerShell 腳本(用於 Windows 環境)
  • 工具整合與工作流程自動化

🚀 第三階段:專業化(12 週以上)#

目標:根據你的興趣與職涯目標,選擇 1–2 個專業領域深入研究。

選項 A:進階網站應用程式安全性#

  • 進階漏洞利用技巧
  • 程式碼審查與靜態分析
  • API 安全測試
  • 現代框架的漏洞分析

選項 B:基礎設施與網路安全#

  • Active Directory 漏洞利用
  • 雲端安全(AWS、Azure、GCP)
  • 無線網路安全測試
  • 物聯網與嵌入式裝置測試

選項 C:行動應用程式安全性#

  • Android 應用程式測試
  • iOS 應用程式測試
  • 行動裝置管理繞過技巧
  • 行動 API 安全性測試

選項 D:紅隊作戰(Red Team Operations)#

  • 社交工程技術
  • 實體安全測試
  • 進階持續性威脅模擬(APT)
  • 指揮與控制框架(C2)

🏆 第四階段:職業發展#

Capture the Flag(CTF)參與#

  • 參加每週的 CTF 競賽
  • 參與大型 CTF(如 DefCon、PlaidCTF 等)
  • 撰寫解題過程與心得(write-up)

漏洞賞金計畫(Bug Bounty Programs)#

  • 從新手友善的計畫開始
  • 建立系統化的測試方法
  • 與資訊安全社群建立人脈

持續學習#

  • 追蹤資安研究人員與專業出版物
  • 參加資安會議(BSides、DefCon、Black Hat)
  • 參與開源資安工具的貢獻與開發

🥽 實作實驗室與學習平台#

初學者友善#

  • TryHackMe - 有引導式的學習路徑
  • OverTheWire - 各種難度的對戰式學習遊戲
  • DVWA - 人為設計的弱點 Web 應用程式

中階難度#

進階級別#


📜 證照學習路線圖#

入門級別#

  1. CompTIA Security+ - 一般資安基礎認證
  2. CompTIA PenTest+ - 入門級滲透測試證照

專業級別#

  1. OSCP(Offensive Security Certified Professional) - 業界標準證照
  2. CEH(Certified Ethical Hacker) - 廠商中立的道德駭客證照
  3. GCIH(GIAC Certified Incident Handler) - 事件回應導向證照

專家級別#

  1. OSEP(Offensive Security Experienced Penetrator) - 進階滲透測試認證
  2. GPEN(GIAC Penetration Tester) - 進階網路滲透測試認證
  3. OSCE(Offensive Security Certified Expert) - 專家級漏洞利用認證

🛠️ 工具清單#

核心工具(優先掌握)#

  • Nmap - 網路掃描與列舉工具
  • Burp Suite - 網頁應用測試代理工具
  • Metasploit - 漏洞利用框架
  • Wireshark - 網路封包分析工具
  • Nikto - 網頁弱點掃描器
  • Dirb/Gobuster - 目錄暴力破解工具
  • SQLMap - SQL 注入自動化工具
  • John the Ripper - 密碼破解工具
  • Netcat - 網路萬用工具

進階工具#

  • Cobalt Strike - 進階攻擊模擬工具
  • BloodHound - AD 架構分析工具
  • Responder - 網路認證捕捉工具
  • Empire - PowerShell 後滲透工具
  • BeEF - 瀏覽器漏洞利用框架

程式語言學習優先順序#

  1. Python - 最萬用的安全自動化語言
  2. Bash - Linux 環境自動化腳本
  3. PowerShell - Windows 系統操作語言
  4. JavaScript - 網頁測試必備
  5. Go - 現代化工具開發利器

📚 資源#

書籍(必讀)#

  • 《The Web Application Hacker’s Handbook》 - Dafydd Stuttard 著
  • 《The Hacker Playbook 3》 - Peter Kim 著
  • 《Penetration Testing: A Hands-On Introduction to Hacking》 - Georgia Weidman 著
  • 《Black Hat Python》 - Justin Seitz 著
  • 《The Shellcoder’s Handbook》 - Chris Anley 著

部落格與網站#

Podcast 節目#

  • Darknet Diaries - 資安事件與真實案例
  • Risky Business - 每週資安新聞
  • The Secure Developer - 專注於應用程式安全

👥 社群#

Discord 伺服器#

Reddit 社群#

  • r/NetSecStudents - 學習與職涯建議
  • r/AskNetsec - 專業資安問題交流
  • r/HowToHack - 技術性討論區

在地組織#

  • OWASP Local Chapters
  • 2600 Meetings
  • BSides Conferences

📈 進度追蹤#

每月目標檢查清單#

  • 第 1 個月:完成第一階段基礎知識
  • 第 2 個月:網頁應用程式安全基礎
  • 第 3 個月:網路滲透測試基礎
  • 第 4 個月:腳本撰寫與自動化
  • 第 5 個月:選定專精領域並深入學習
  • 第 6 個月:首次嘗試證照考試(PenTest+ 或 OSCP)

每週時間投入建議#

  • 最低建議:每週 10-15 小時
  • 推薦量:每週 20-25 小時
  • 密集訓練:每週 30 小時以上

成功指標#

  • 能在新手環境中完成端到端滲透測試
  • 撰寫過第一份專業滲透測試報告
  • 解出 50 題以上 CTF 挑戰
  • 拿到第一張滲透測試相關證照
  • 對資安社群有所貢獻(如寫部落格、開發工具等)

🎯 專注策略:對抗資訊過載#

「一件事」法則#

每週專注掌握一項主要技能。 不要試圖一次學會所有東西。

建議的每日學習結構#

  • 1 小時:閱讀/理論學習(書籍、文章、官方文件)
  • 2-3 小時:動手實作(實驗室、CTF、工具練習)
  • 30 分鐘:筆記與紀錄

每週回顧提問#

  1. 這週我精通了哪個具體技能?
  2. 完成了哪些實作練習或實驗?
  3. 下週我會用什麼不同的學習方法?
  4. 我是否已準備好進入下一主題?

🤝 貢獻指南#

這份學習路線圖是個持續更新的文件!歡迎你透過以下方式參與貢獻:

  • 加入你覺得實用的新資源
  • 分享你的學習經驗與時間規劃
  • 提出改善學習路線的建議
  • 增加更多練習實驗與挑戰題

⚖️ 法律免責聲明#

重要聲明:僅限於你擁有或已獲得明確書面許可的系統上進行滲透測試。在大多數司法管轄區內,未經授權進入電腦系統是違法行為。

當你發現漏洞時,請始終遵循負責任的揭露原則。


📞 尋求協助#

卡關了嗎?以下是幾種獲得幫助的方式:

  1. 加入上面列出的 社群 Discord 伺服器
  2. 在 Reddit 社群中 提出具體問題
  3. 透過當地的資安團體 尋找導師
  4. 和其他學習者組成 讀書會

請記住:每個人都是從初學者開始的。 關鍵是持之以恆、專注練習。


祝你生活駭心!🔒

🧭 滲透測試學習路線圖
https://illumi.love/posts/指南向/滲透測試學習路線圖/
作者
Illumi糖糖
發布於
2024-11-22
許可協議
🔒CC BY-NC-ND 4.0