10 min read

WSL2 安裝 Kali Linux 完整指南:從 Web 滲透跨入 Windows/AD 的工具準備

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-corekali-linux-headlesskali-linux-defaultkali-linux-largekali-linux-everything,其中 default 明確建立在 headless 之上,large 則是在官方預設工具集之外再加入大量延伸工具,everything 幾乎涵蓋所有用途套件。

kali-linux-core

最精簡的 Kali 基底,依賴 kali-system-core(核心系統元件)加上 netcat-traditionaltcpdump,它不是「只有兩個工具」,而是一個可運作的最小系統基底,適合想要完全自訂工具的人。

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,原因:

  1. Windows/AD 工具鏈完整:evil-winrm、impacket、bloodhound.py、netexec、responder、certipy-ad 都包在裡面
  2. 省去手動安裝的麻煩:每打一台新靶機就要 apt install 很煩
  3. 空間不是問題:我的磁碟有 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-largeheadless 多出來的最有價值的部分

工具 用途
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-largeheadless 更適合這個方向。

我的第一台 Windows 靶機

我的第一台 Windows 靶機是 PwnTillDawn 上的 ElMariachi-PC。攻擊鏈很簡單:

  1. nmap 掃到 SMB(445)、RDP(3389)、以及 port 60000 上的 ThinVNC
  2. 利用 CVE-2019-17662(ThinVNC Path Traversal)用 curl --path-as-is 讀取設定檔拿到明文密碼
  3. 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.pyevil-winrmsmbclientldap-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 就夠了,額外手動裝 feroxbusternucleihttpx-toolkit 即可。

如果你想往 Windows/AD 方向走,直接上 kali-linux-large,省去後續無止盡的手動安裝,讓你專注在學習攻擊手法而不是環境設定。