叛逆修女 / RaidyHD
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 應用程式
中階難度
- HackTheBox - 真實世界的滲透測試實驗室
- PortSwigger Web Security Academy - 免費的 Web 應用資安訓練平台
- VulnHub - 可下載的漏洞虛擬機映像檔
進階級別
- Offensive Security Labs - 專業等級的練習實驗室
- SANS NetWars - 資安競技訓練活動
- Cybrary - 專業資安訓練平台
📜 證照學習路線圖
入門級別
- CompTIA Security+ - 一般資安基礎認證
- CompTIA PenTest+ - 入門級滲透測試證照
專業級別
- OSCP(Offensive Security Certified Professional) - 業界標準證照
- CEH(Certified Ethical Hacker) - 廠商中立的道德駭客證照
- GCIH(GIAC Certified Incident Handler) - 事件回應導向證照
專家級別
- OSEP(Offensive Security Experienced Penetrator) - 進階滲透測試認證
- GPEN(GIAC Penetration Tester) - 進階網路滲透測試認證
- 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 - 瀏覽器漏洞利用框架
程式語言學習優先順序
- Python - 最萬用的安全自動化語言
- Bash - Linux 環境自動化腳本
- PowerShell - Windows 系統操作語言
- JavaScript - 網頁測試必備
- 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 著
部落格與網站
- OWASP - 網頁應用安全資源
- Null Byte - 駭客教學文章
- Pentester Academy - 進階課程
- IppSec YouTube 頻道 - HackTheBox 解題教學
Podcast 節目
- Darknet Diaries - 資安事件與真實案例
- Risky Business - 每週資安新聞
- The Secure Developer - 專注於應用程式安全
👥 社群
Discord 伺服器
- 🌟Friendly Empire 我的社區
- TryHackMe 官方群組
- HackTheBox 官方群組
- The Many Hats Club
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 分鐘:筆記與紀錄
每週回顧提問
- 這週我精通了哪個具體技能?
- 完成了哪些實作練習或實驗?
- 下週我會用什麼不同的學習方法?
- 我是否已準備好進入下一主題?
🤝 貢獻指南
這份學習路線圖是個持續更新的文件!歡迎你透過以下方式參與貢獻:
- 加入你覺得實用的新資源
- 分享你的學習經驗與時間規劃
- 提出改善學習路線的建議
- 增加更多練習實驗與挑戰題
⚖️ 法律免責聲明
重要聲明:僅限於你擁有或已獲得明確書面許可的系統上進行滲透測試。在大多數司法管轄區內,未經授權進入電腦系統是違法行為。
當你發現漏洞時,請始終遵循負責任的揭露原則。
📞 尋求協助
卡關了嗎?以下是幾種獲得幫助的方式:
- 加入上面列出的 社群 Discord 伺服器
- 在 Reddit 社群中 提出具體問題
- 透過當地的資安團體 尋找導師
- 和其他學習者組成 讀書會
請記住:每個人都是從初學者開始的。 關鍵是持之以恆、專注練習。
祝你生活駭心!🔒
🧭 滲透測試學習路線圖
https://illumi.love/posts/指南向/滲透測試學習路線圖/