Windows'un İçindeki Linux: Güvenlikçiler için WSL'e Sıcak Bir Giriş
WSL nedir, WSL 1 ile 2 arasındaki fark, Kali kurulumu, reverse shell'leri bozan ağ tuzağı ve günlük işleri kolaylaştıran küçük ayarlar.
Bir zamanlar Windows kullanan bir güvenlikçinin önünde iki seçenek vardı: ya bilgisayarı ikiye bölüp her seferinde yeniden başlatmak (dual boot), ya da birkaç GB RAM'i yiyip yavaş açılan bir sanal makineyle yaşamak. WSL (Windows Subsystem for Linux) üçüncü bir yol açtı: Linux'u Windows'un içinde, bir uygulama açar gibi çalıştırmak.
Bu yazıda WSL'in ne olduğunu, Kali'yi nasıl birkaç dakikada kurabileceğini ve en önemlisi, pentest yaparken insanı saatlerce uğraştıran ağ tuzağını anlatacağım. Görsellerdeki terminal çıktıları kendi makinemden.
WSL tam olarak ne?
Kısaca: Windows'ta, Linux programlarını gerçekten çalıştırmanın resmi yolu. İki sürümü var ve aralarındaki fark, neyin çalışıp neyin çalışmayacağını belirliyor:
- WSL 1, Linux sistem çağrılarını Windows çekirdeğine çeviren bir katmandır. Gerçek bir Linux çekirdeği yoktur; bu yüzden ham soket (raw socket) gibi düşük seviyeli işler sınırlıdır.
- WSL 2, Hyper-V altyapısı üzerinde bir saniyede açılan hafif bir sanal makinede gerçek Linux çekirdeği çalıştırır.
sudo nmap -sSile SYN taraması, Docker, kernel modülü gerektiren araçlar burada çalışır.
Güvenlik işleri için cevap net: WSL 2. Bugün wsl --install zaten varsayılan olarak onu kuruyor.
5 dakikada kurulum
Yönetici olarak açtığın bir PowerShell yeterli:
# WSL'i kur (ilk seferde yeniden başlatma isteyebilir)
wsl --install
# Kurulabilecek dağıtımları gör, Kali'yi ekle
wsl --list --online
wsl --install -d kali-linux
wsl -l -v çıktısındaki VERSION 2, dağıtımın gerçek çekirdekle çalıştığını gösterir.Kali WSL'de neredeyse boş gelir; araçları sen seçersin. Klasik araç setini istiyorsan:
sudo apt update && sudo apt full-upgrade -y
sudo apt install -y kali-linux-default # nmap, burp, impacket, metasploit...
# ya da daha hafifi:
sudo apt install -y kali-linux-headless
Grafik arayüzlü araçlar (Burp, Wireshark) için ekstra bir şey gerekmez: Windows 11'deki WSLg sayesinde Linux pencereleri Windows masaüstünde normal bir uygulama gibi açılır. Tam bir Kali masaüstü istersen sudo apt install -y kali-win-kex ve ardından kex --win -s.
İçeride hayat nasıl?
En tatlı kısmı şu: iki dünya birbirini görüyor.
/mnt altında, Windows programları da bash'ten çağrılabiliyor.- Windows dosyaları Linux'ta:
C:\sürücüsü/mnt/caltında. - Linux dosyaları Windows'ta: Gezgin'in adres çubuğuna
\\wsl.localhost\kali-linuxyaz, ya da Linux'taykenexplorer.exe .çalıştır. - Programlar karşılıklı: bash'ten
powershell.exe,notepad.exe; PowerShell'denwsl nmap -sV 10.10.10.5.
Güvenlikçinin asıl tuzağı: ağ
Görseldeki 172.31.45.208 adresine dikkat. Varsayılan modda WSL 2, Windows'un arkasında kendi küçük NAT ağında yaşar. Dışarı bağlanmak sorun değil; ama içeri gelen bağlantılar (reverse shell!) WSL'e ulaşmaz.
Klasik senaryo: HTB/PG VPN'ini Windows'ta açarsın, Kali'de nc -lvnp 443 dinlersin, hedefe LHOST olarak VPN IP'ni verirsin… ve hiçbir şey gelmez. Bağlantı Windows'a çarpar, kimse dinlemediği için düşer. İki temiz çözüm var:
Çözüm 1: VPN'i WSL'in içinde çalıştır
sudo apt install -y openvpn
sudo openvpn lab.ovpn # tun0 artık Linux'ta
ip -4 addr show tun0 # LHOST olarak bu IP'yi kullan
Tünel, dinleyicinin olduğu yerde bittiği için NAT modunda bile çalışır. En az ayar isteyen yol bu.
Çözüm 2: Mirrored ağ modu
Windows 11'de WSL'e Windows'un ağ arayüzlerini aynen kullandırabilirsin. Kullanıcı klasöründe %UserProfile%\.wslconfig dosyasını oluştur:
[wsl2]
networkingMode=mirrored
memory=6GB # isteğe bağlı: WSL'in RAM üst sınırı
processors=4 # isteğe bağlı
Sonra wsl --shutdown ile WSL'i kapatıp yeniden aç. Artık Kali, Windows'un tun0 adresini de görür. Gelen bağlantıları Hyper-V güvenlik duvarı engelleyebilir; her şeyi açmak yerine sadece dinleyici portuna izin ver (yönetici PowerShell):
New-NetFirewallHyperVRule -Name WSL-443 -DisplayName "WSL reverse shell 443" `
-Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' `
-Protocol TCP -LocalPorts 443
Kısa yol: Lab'da en az sürprizi Çözüm 1 yaşatır. Mirrored mod ise Windows'taki araçlarla (ör. Burp'ün Windows sürümü) WSL'i aynı ağda buluşturmak istediğinde güzel.
Küçük ama tatlı ayarlar
- Çalışma dosyalarını Linux tarafında tut (
~/)./mnt/cüzerinden dosya işlemleri belirgin şekilde yavaştır; ayrıca exploit ve payload'larını Windows klasörlerinde tutmak, Defender'ın onları "bulup" silmesine davetiye çıkarır. - Bir şeyler tuhaflaşınca:
wsl --shutdown. Bilgisayarı yeniden başlatmanın WSL'deki karşılığı, iki saniye sürer. - Windows Terminal'de Kali'yi varsayılan profil yap; sekmeler ve bölünmüş paneller tmux'a alışık olmayanlar için bile rahat.
- VS Code'u WSL eklentisiyle kullan: Kali'de bir klasördeyken
code .yazınca editör Windows'ta açılır ama dosyalar ve terminal Linux'ta kalır. - Yedek al:
wsl --export kali-linux kali-yedek.tarile tüm kurulumu tek dosyada saklayabilir, başka makinedewsl --importile geri açabilirsin.
WSL'in yetmediği yerler
- Kablosuz testler: Wi-Fi adaptörünü monitor modda kullanmak için USB'yi WSL'e aktarmak (
usbipd-win) ve uygun sürücüyü derlemek gerekiyor. Bu iş için ayrı bir Kali kurulumu ya da VM daha az uğraştırır. - Sınav ortamı: OSCP gibi sınavlarda OffSec'in önerdiği ortam Kali sanal makinesi. WSL'i günlük işler ve lab için düşün; sınav günü sürpriz istemezsin.
- Kurumsal cihazlar: EDR ve şirket politikaları WSL'i kısıtlayabilir ya da izleyebilir. İş bilgisayarında kullanmadan önce kuralları kontrol et.
Özet kartı
| İstediğin | Komut |
|---|---|
| Kali kur | wsl --install -d kali-linux |
| Dağıtımları ve sürümleri gör | wsl -l -v |
| WSL'i yeniden başlat | wsl --shutdown |
| Linux dosyalarını Gezgin'de aç | explorer.exe . |
| Reverse shell sorunsuz gelsin | VPN'i WSL'de çalıştır ya da networkingMode=mirrored |
| Kurulumu yedekle | wsl --export kali-linux kali.tar |
WSL, "Linux mu Windows mu?" sorusunu "ikisi birden" diye cevaplıyor. Ağ tuzağını bir kez çözdükten sonra, günlük pentest notlarından lab makinelerine kadar çoğu işi tek bir bilgisayarda, yeniden başlatmadan yapabiliyorsun. OSCP'ye hazırlanıyorsan, buradaki komutların çoğunu OSCP Ultimate Guide'da sınav akışı içinde bulabilirsin.