Toto je starší verze dokumentu!
Kali Linux ve VirtualBoxu a připojení USB Wi-Fi karty
Vytvořeno: 16.5.2020
<note warning>Toto je dobový článek. Postup, názvy balíčků i chování ovladačů a VirtualBoxu nemusí odpovídat aktuálním verzím systémů.</note>
Kali Linux se často používá pro testování bezdrátových sítí. Pokud běží jako guest ve VirtualBoxu na hostitelském Ubuntu, je možné do něj přesměrovat externí USB Wi-Fi kartu a používat ji pro monitoring i další experimenty včetně režimu AP.
Praktická zkušenost v tomto případě vychází z USB adaptéru s čipsetem RTL8812AU. Důležité bylo vyřešit čtyři věci:
- výběr adaptéru s použitelným čipsetem
- předání USB zařízení z hostitele do guest systému přes USB filtr VirtualBoxu
- oprávnění uživatele ve skupině
vboxusers - instalaci DKMS ovladače v Kali Linuxu
Výběr Wi-Fi karty
Při výběru USB Wi-Fi adaptéru pro Linux je praktičtější řídit se čipsetem než obchodním názvem produktu. V době psaní článku se jako použitelné řešení osvědčil adaptér s čipsetem RTL8812AU, hledaný například přes AliExpress podle kombinace výrazů typu Kali Linux, monitoring nebo penetration test.
Autor chtěl zařízení, které zvládne 2,4 GHz i 5 GHz pásmo a které půjde použít jak pro monitoring, tak pro AP režim. Konkrétní původní odkaz na produkt byl v článku rozbitý file: odkaz, proto zde není přebírán.
vboxusers
===== Příprava hostitele a VirtualBoxu =====
Hostitelský systém byl Ubuntu, guest systém Kali Linux ve VirtualBoxu. Aby bylo možné předat USB Wi-Fi kartu přímo guest systému, je potřeba mít na hostiteli nainstalované rozšíření VirtualBoxu pro práci s USB zařízeními.
<code bash>
apt install virtualbox-ext-pack virtualbox-guest-additions-iso
</code>
Častý problém je, že VirtualBox nedokáže USB zařízení převzít, protože uživatel, pod kterým se spouští, není členem skupiny . Aktuální členství lze ověřit takto:
<code bash>
groups
</code>
Pokud uživatel ve skupině není, je potřeba ho do ní přidat:
<code bash>
sudo usermod -a -G vboxusers myuser
</code>
Po této změně je vhodné obnovit sezení nebo restartovat počítač a znovu ověřit výstup příkazu groups. Pro řešení problémů s USB předáváním se hodí i oficiální fórum VirtualBoxu USB basics and troubleshooting.
Současně je potřeba mít funkční Guest Additions i uvnitř virtuálního stroje. V původním článku byl pro tuto část použit také videonávod Connect USB Wireless Adapter to Kali Linux in Virtualbox.
===== Přesměrování USB Wi-Fi karty do Kali Linuxu =====
Po připojení adaptéru k hostiteli je vhodné nejdřív zjistit jeho identifikaci přes lsusb:
<code bash>
lsusb
</code>
Ve zdrojovém případě se karta hlásila jako:
<code bash>
Bus 001 Device 013: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter
</code>
Ve VirtualBoxu je pak vhodné postupovat s vypnutým guest systémem:
* otevřít Nastavení → USB
* přidat nový USB filtr
* nastavit ID dodavatele a ID produktu podle výpisu lsusb
realtek-rtl88xxau-dkms''. Praktické použití vycházelo i z videa Installing Drivers for RealTek RTL8812AU on Kali Linux & Testing Monitor Mode & Packet Injection a ze srovnání s dalšími větvemi ovladačů, které měly problémy s monitoring režimem, například RTL8812AU Usb adapter driver issues, gnab/rtl8812au nebo později morrownr/8812au-20210629.
Instalace balíčku:
<code bash>
apt-get install realtek-rtl88xxau-dkms
</code>
Sekvence příkazů pro přepnutí karty do monitoring režimu:
<code bash>
ifconfig wlan0 down
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
airodump-ng wlan0
</code>
Pokud karta po instalaci ovladače funguje, ale ruší například LED indikace, lze ji vypnout takto:
<code bash>
echo 0 > /proc/net/rtl88XXau/wlan0/led_ctrl
</code>
===== Poznámky k AP režimu =====
Původní praktická motivace nebyla jen monitoring, ale i použití stejné karty v AP režimu. Základ byl stejný:
* správně předat USB zařízení do guest systému
* mít funkční ovladač RTL8812AU přes DKMS
* ověřit, že karta v Kali pracuje stabilně
Na samotné nastavení access pointu navazuje článek Vytvoření Wi-Fi access pointu v Kali Linuxu. Pro další experimenty s falešným AP nebo laboratorním access pointem byl v původním článku použit také návod Create A Fake AP With DNSMASQ And HOSTAPD [Kali Linux]. Jako obecný doplněk k nástrojům v Kali se hodí i Kali Linux Cheat Sheet.
===== Zdroje =====
* Kali Linux
* VirtualBox
* USB basics and troubleshooting
* Connect USB Wireless Adapter to Kali Linux in Virtualbox
* Installing Drivers for RealTek RTL8812AU on Kali Linux & Testing Monitor Mode & Packet Injection
* RTL8812AU Usb adapter driver issues
* gnab/rtl8812au
* Zdrojové kódy použitých ovladačů v Kali Linux
* Create A Fake AP With DNSMASQ And HOSTAPD [Kali Linux]
* Kali Linux Cheat Sheet
* Zdrojový kód ovladačů ke kompilaci
Prakticky se osvědčil tento postup:
* vytvořit USB filtr ještě před startem Kali Linuxu
* fyzicky odpojit USB Wi-Fi kartu
* nastartovat guest systém
* až po přihlášení do Kali kartu znovu připojit
Po připojení lze v Kali zkontrolovat, zda guest zařízení skutečně převzal:
<code bash>
lsusb
</code>
===== Instalace ovladače a monitoring režim =====
V guest systému Kali Linux se v době psaní článku osvědčil DKMS balíček