WSL2 安裝 Kali Linux 完整指南:從 Web 滲透跨入 Windows/AD 的工具準備
本文記錄我在新電腦上透過 WSL2 安裝 Kali Linux 的完整過程,包含 metapackage 的選擇策略、kali-linux-large 的 2534 個套件解析,以及從 Web 滲透測試跨入 Windows/AD 內網滲透時的工具準備心得,目標讀者是已有基礎 Linux 經驗、想開始建立滲透測試環境的台灣資安社群朋友。
0x00 前言:為什麼選 WSL2?
如果你跟我一樣,主力工作環境是 Windows,但滲透測試需要 Linux 工具鏈,那 WSL2 是目前最省事的方案,相比傳統 VM(VirtualBox / VMware),WSL2 的優勢在於:
- 啟動速度快:不用等 VM 開機,打開終端機就能用
- 資源佔用低:共享 Windows 的記憶體,不需要預先分配
- 檔案互通方便:Windows 和 Linux 檔案系統可以直接互相存取
- 網路共享:不用額外設定橋接網路
當然 WSL2 也有限制——沒有完整的 Linux 核心控制、USB 裝置需要透過 usbipd-win 額外設定才能使用(不像 VM 那樣原生支援)。但對於 Web 滲透測試、Bug Bounty、CTF 練習、甚至打 HackTheBox 靶機來說,WSL2 完全夠用。
0x01 安裝步驟
Step 1:啟用 WSL
用系統管理員權限開啟 PowerShell,執行:
wsl --install
這條指令會自動啟用 WSL2 和 Virtual Machine Platform
Step 2:確認 WSL2 為預設版本
wsl --set-default-version 2
Step 3:安裝 Kali Linux
wsl --install -d kali-linux
安裝完成後會要求你設定 username 和 password,這組帳密就是你的 Linux 使用者。
Step 4:進入 Kali 並更新系統
sudo apt update && sudo apt full-upgrade -y
到這一步,你已經有了一個乾淨的 Kali Linux 環境。但這時候裡面幾乎沒有任何滲透測試工具——連 nmap 都沒有。接下來就要決定安裝哪個 metapackage。
0x02 Metapackage 選擇策略
Kali 的 metapackage 是一種「套件組合包」,讓你一次安裝整組工具,不用一個一個慢慢裝。官方提供的主要 metapackage 包括 kali-linux-core、kali-linux-headless、kali-linux-default、kali-linux-large、kali-linux-everything,其中 default 明確建立在 headless 之上,large 則是在官方預設工具集之外再加入大量延伸工具,everything 幾乎涵蓋所有用途套件。
kali-linux-core
最精簡的 Kali 基底,依賴 kali-system-core(核心系統元件)加上 netcat-traditional 和 tcpdump,它不是「只有兩個工具」,而是一個可運作的最小系統基底,適合想要完全自訂工具的人。
kali-linux-headless
不需要 GUI/X11 的官方工具集合,包含一場標準滲透測試需要的核心 CLI 工具:nmap、sqlmap、gobuster、hydra、john、hashcat、metasploit-framework、aircrack-ng 等。
適合誰:純 Web Bug Bounty 玩家、只需要 CLI 工具的人、WSL2 使用者的基本選擇。
kali-linux-default(~13 GB 起)
官方預設映像的工具集,依賴 kali-linux-headless + kali-system-gui + kali-tools-top10,另外還加上 autopsy、zenmap 等 GUI 工具,kali-tools-top10 裡包含 Burp Suite 和 Wireshark 等常用工具。
適合誰:使用完整桌面環境的 Kali 使用者。在 WSL2 環境下,除非你有設定 Win-KeX 或 X Server,否則 GUI 工具的用處不大。
kali-linux-large(~19 GB 起)⭐ 本文重點
在官方預設工具集之外再加入大量延伸工具的擴充版,這是以前 Kali 的預設套件組(舊名 kali-linux-full),在 2019.3 版本後被 default 取代,定位改為「進階擴充包」。像 zaproxy(OWASP ZAP)、evil-winrm、certipy-ad 等工具都是在這一層才出現。
適合誰:想打 Windows/AD 靶機、需要完整工具鏈的人、不想每次都手動 apt install 的人。
kali-linux-everything(~34 GB 起)
幾乎把所有東西都裝上。除非你要做離線/斷網環境的滲透測試,否則不建議。太多用不到的工具只會佔空間。
容量說明:以上數字參考 Kali 2024.1 官方安裝大小頁面,實際會依桌面環境和系統更新而變動。
我的選擇:kali-linux-large
因為我原本是 Web 滲透為主,最近開始接觸 Windows 靶機和 AD 環境,所以選了 kali-linux-large,原因:
- Windows/AD 工具鏈完整:evil-winrm、impacket、bloodhound.py、netexec、responder、certipy-ad 都包在裡面
- 省去手動安裝的麻煩:每打一台新靶機就要
apt install很煩 - 空間不是問題:我的磁碟有 200 GB+ 可用,19.2 GB 完全不痛
安裝指令:
sudo apt install -y kali-linux-large
0x03 kali-linux-large 套件解析:2534 個套件裡到底有什麼?
實際安裝時,kali-linux-large 會拉入 2534 個套件,下載大小約 5.4 GB,安裝後佔用約 19.2 GB。
這些套件大致可以分成以下幾類:
資訊蒐集(Information Gathering)
| 工具 | 用途 |
|---|---|
| nmap / ncat | 埠口掃描與網路探測 |
| amass | 子域名枚舉 |
| recon-ng | OSINT 框架 |
| theharvester | Email / 子域名蒐集 |
| dnsenum / dnsrecon / dnsmap | DNS 枚舉 |
| masscan | 高速埠口掃描 |
| nbtscan | NetBIOS 掃描 |
| enum4linux | SMB / LDAP 枚舉 |
| arp-scan / netdiscover | 區域網路主機探測 |
| dmitry | 深度資訊蒐集 |
| fierce | DNS 偵察 |
Web 滲透測試
| 工具 | 用途 |
|---|---|
| burpsuite | Web 代理 / 攻擊平台 |
| zaproxy | OWASP ZAP |
| sqlmap | SQL 注入自動化 |
| nikto | Web 伺服器掃描 |
| gobuster / dirb / dirbuster | 目錄暴力掃描 |
| ffuf | 高速 Fuzz 工具 |
| wpscan | WordPress 掃描 |
| commix | 命令注入工具 |
| xsser | XSS 測試 |
| wfuzz / skipfish | Web Fuzzing |
| whatweb / wafw00f | Web 指紋辨識 / WAF 偵測 |
| beef-xss | 瀏覽器攻擊框架 |
| joomscan | Joomla 掃描 |
Windows / AD 滲透 ⭐ 跨入內網的關鍵工具
這是 kali-linux-large 比 headless 多出來的最有價值的部分:
| 工具 | 用途 |
|---|---|
| evil-winrm | WinRM 遠端連線(比 RDP 方便) |
| impacket-scripts | psexec、secretsdump、GetNPUsers、GetUserSPNs 等 |
| bloodhound.py | AD 攻擊路徑視覺化(Python ingestor) |
| netexec | SMB/WinRM/LDAP/MSSQL 批量掃描(crackmapexec 繼任者) |
| responder | LLMNR/NBT-NS 毒化攻擊 |
| certipy-ad | AD 憑證服務(ADCS)攻擊 |
| mimikatz | 密碼擷取(Windows 二進位檔) |
| nishang | PowerShell 攻擊腳本集 |
| powersploit | PowerShell 後滲透框架 |
| smbmap / smbclient | SMB 共享枚舉與存取 |
| ldap-utils | LDAP 查詢工具 |
| passing-the-hash | Pass-the-Hash 工具 |
| powershell-empire / starkiller | C2 框架 |
| freerdp3-x11 | RDP 連線客戶端(xfreerdp) |
密碼破解
| 工具 | 用途 |
|---|---|
| john / john-data | John the Ripper |
| hashcat / hashcat-utils | GPU 密碼破解 |
| hydra | 線上密碼暴力破解 |
| medusa | 平行登入暴力破解 |
| ncrack | 網路認證破解 |
| crunch / cewl | 字典檔生成 |
| hashid / hash-identifier | Hash 類型辨識 |
| ophcrack | Windows 密碼破解(彩虹表) |
| rainbowcrack / rcracki-mt | 彩虹表攻擊 |
| maskprocessor / statsprocessor / pack | Hashcat 規則與遮罩工具 |
| fcrackzip / truecrack | 壓縮檔 / TrueCrypt 破解 |
漏洞利用(Exploitation)
| 工具 | 用途 |
|---|---|
| metasploit-framework | 滲透測試框架 |
| armitage | Metasploit GUI |
| exploitdb | Exploit 資料庫 |
| msfpc | MSFvenom 指令產生器 |
| set | 社交工程工具集 |
| gophish | 釣魚攻擊平台 |
| caldera | MITRE ATT&CK 自動化模擬 |
無線網路
| 工具 | 用途 |
|---|---|
| aircrack-ng | Wi-Fi 破解套件 |
| kismet | 無線網路偵測 |
| reaver / bully | WPS 破解 |
| wifite | 自動化 Wi-Fi 攻擊 |
| cowpatty | WPA-PSK 離線破解 |
| mdk3 | Wi-Fi DoS |
| hostapd / asleap | 偽造 AP / LEAP 破解 |
| pixiewps | WPS 離線破解 |
| bluelog / blueranger / bluesnarfer | 藍牙攻擊工具 |
逆向工程
| 工具 | 用途 |
|---|---|
| ghidra / ghidra-data | NSA 逆向工程框架 |
| radare2 | 命令列逆向工具 |
| gdb | GNU 除錯器 |
| edb-debugger | GUI 除錯器 |
| binwalk / binwalk3 | 韌體分析 |
| jadx | Android APK 反編譯 |
| dex2jar | DEX 轉 JAR |
| apktool | Android APK 解包 |
| bytecode-viewer | Java Bytecode 檢視 |
鑑識(Forensics)
| 工具 | 用途 |
|---|---|
| autopsy / sleuthkit | 數位鑑識平台 |
| foremost / scalpel | 檔案雕刻 |
| bulk-extractor | 批量資料擷取 |
| dc3dd / dcfldd | 鑑識用 dd |
| ewf-tools | E01 映像檔工具 |
| regripper / reglookup | Windows 登錄檔分析 |
| chntpw | Windows 密碼重設 |
| extundelete / recoverjpeg | 檔案復原 |
| hashdeep | 檔案完整性驗證 |
| pasco / galleta | IE 瀏覽紀錄分析 |
嗅探與欺騙(Sniffing & Spoofing)
| 工具 | 用途 |
|---|---|
| wireshark / tshark | 封包分析 |
| ettercap-graphical | MITM 攻擊 |
| dsniff | 密碼嗅探 |
| mitmproxy | HTTP/HTTPS 代理 |
| netsniff-ng | 高效能封包擷取 |
| yersinia | Layer 2 攻擊 |
| hping3 | 封包構造 |
| hexinject | 封包注入 |
| dnschef | DNS 代理/欺騙 |
網路隧道與 Pivoting
| 工具 | 用途 |
|---|---|
| proxychains4 | Proxy 鏈 |
| socat | 多功能網路工具 |
| dns2tcp | DNS 隧道 |
| iodine | DNS 隧道 |
| ptunnel | ICMP 隧道 |
| sslh | SSL/SSH 多工 |
| stunnel4 | SSL 加密隧道 |
| redsocks | 透明 Proxy 重導 |
| udptunnel | UDP 隧道 |
| miredo | Teredo IPv6 隧道 |
| openvpn | VPN 連線 |
程式語言與開發環境
large 還包含了完整的開發工具鏈:
- C/C++:gcc、g++、make、gdb
- Python:大量 Python3 模組(超過 500 個 python3-* 套件)
- Ruby:ruby3.3-dev + 大量 gem(metasploit 依賴)
- Go:golang-1.24(amass、gobuster 等工具的基礎)
- Java:openjdk-21 + openjdk-11(Burp Suite、ghidra 需要)
- .NET:dotnet-sdk-6.0(PowerShell 跨平台需要)
- Node.js:nodejs + npm(部分工具依賴)
- PHP:php8.4 + apache2(用於搭建測試環境)
- MariaDB / PostgreSQL:資料庫伺服器
報告與文件
| 工具 | 用途 |
|---|---|
| dradis | 滲透測試報告協作平台 |
| faraday | 漏洞管理平台 |
| cherrytree | 階層式筆記 |
| pipal | 密碼分析統計 |
| cutycapt | 網頁截圖 |
0x04 安裝後的注意事項
常用工具名稱差異
在 Kali 上,有些工具的名稱跟你預期的不一樣:
| 你以為的名稱 | Kali 上的實際名稱 |
|---|---|
| httpx | httpx-toolkit(ProjectDiscovery 版) |
| crackmapexec | netexec(新版已改名) |
| xfreerdp | xfreerdp3(freerdp3-x11 套件) |
SecLists 路徑
安裝 seclists 後,字典檔位於:
/usr/share/seclists/
0x05 從 Web 滲透跨入 Windows/AD:工具鏈轉換心得
如果你跟我一樣,原本主力是 Web 滲透(打 Bug Bounty、PortSwigger Lab、Web CTF),想要開始嘗試 Windows 靶機和 AD 環境,以下是我的工具鏈轉換心得。
Web 滲透 vs Windows/AD 滲透:工具思維差異
Web 滲透的工具使用模式通常是:
偵察 → 找入口 → 打 payload → 拿 flag
(nmap → gobuster → sqlmap/burp → 完成)
Windows/AD 滲透則是一條長鏈:
偵察 → 找入口 → 初始立足點 → 資訊蒐集 → 橫向移動 → 權限提升 → 拿域控
(nmap → web exploit → evil-winrm → bloodhound → impacket → mimikatz → DC)
工具數量和種類都多很多,這也是為什麼 kali-linux-large 比 headless 更適合這個方向。
我的第一台 Windows 靶機
我的第一台 Windows 靶機是 PwnTillDawn 上的 ElMariachi-PC。攻擊鏈很簡單:
- nmap 掃到 SMB(445)、RDP(3389)、以及 port 60000 上的 ThinVNC
- 利用 CVE-2019-17662(ThinVNC Path Traversal)用
curl --path-as-is讀取設定檔拿到明文密碼 - 用 xfreerdp 透過 RDP 連入桌面,拿到 flag
接下來的 AD 入門路線
有了 kali-linux-large 裡的完整工具鏈,接下來可以打的 AD 入門靶機:
- HackTheBox - Sauna:AS-REP Roasting 入門
- HackTheBox - Forest:經典 AD 基礎
- HackTheBox - Active:Kerberoasting + GPP 密碼
這些靶機會用到的工具在 large 裡都有:impacket-scripts(GetNPUsers.py、GetUserSPNs.py)、bloodhound.py、evil-winrm、smbclient、ldap-utils 等。
建議的 AD 基礎技能樹
Week 1:理解 AD 基本架構(DC、Domain、Trust、Kerberos vs NTLM)
Week 2:學會使用 BloodHound 看攻擊路徑
Week 3:練習基本攻擊(Kerberoasting、AS-REP Roasting、Pass-the-Hash)
Week 4:打一台完整的 AD 靶機,寫 writeup
0x06 總結
| 項目 | 建議 |
|---|---|
| 安裝方式 | WSL2(省事、快速、夠用) |
| Metapackage | kali-linux-large(Windows/AD 方向首選) |
| 磁碟空間 | 200 GB 足夠,注意 VHDX 定期壓縮 |
| GPU | WSL2 無 Vulkan,需要 GPU 的工具走 CUDA |
| 工具名稱 | httpx → httpx-toolkit、crackmapexec → netexec |
如果你是純 Web Bug Bounty 玩家,kali-linux-headless 就夠了,額外手動裝 feroxbuster、nuclei、httpx-toolkit 即可。
如果你想往 Windows/AD 方向走,直接上 kali-linux-large,省去後續無止盡的手動安裝,讓你專注在學習攻擊手法而不是環境設定。
Member discussion