Operační systémy založené na Linuxu a Unixu byly jádrem oblastí informační bezpečnosti, síťové bezpečnosti, kryptografie atd. Přicházejí s širokou škálou nástrojů určených pro účely kybernetické bezpečnosti.
Pojďme se podívat na tři takové nástroje: Aircrack-ng, Jack The Ripper a Radare2.
Suita Aircrack-ng
Sada Aircrack-ng je možná nejrozšířenější sadou nástrojů pro čichání WiFi sítí a zachycení hesel. Je určen k prolomení hesel bezdrátových sítí protokolu IEEE 802.11, která jsou většinou chráněna standardy Wifi Protected Access (WPA) nebo Wifi Protected Access 2 (WPA2) a ověřena metodou autentizace Pre-Shared Key (PSK).
Nabízí samostatné programy pro monitorování stavu síťových zařízení, zachycování paketů a ukládání do souborů, prolomení hesel atd.
Všimněte si, že prolomení WPA/WPA2 pomocí krypto-algoritmů bylo podle výzkumníků téměř nemožné. Způsob, jak prolomit WPA/WPA2 pomocí programů jako aircrack-ng, je tedy hrubá síla a vyžaduje slovník hesel k jeho prolomení. To znamená, že může prolomit heslo pouze v případě, že heslo je slovo ze slovníku.
Aircrack-ng můžete snadno nainstalovat do svého systému pomocí instalačního skriptu poskytovaného na packagecloud.io. Otevřete terminál a spusťte následující příkazy podle typu vašeho operačního systému Linux.
V distribucích založených na Debianu spusťte následující příkaz:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash
Pro Red-hat Package Manager (RPM), spusťte následující příkaz:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash
Nyní se pokusíme prolomit heslo místní sítě Wi-Fi pomocí Aircrack-ng.
Nejprve spusťte příkaz iwconfig
vyhledejte název bezdrátového síťového rozhraní.
iwconfig
Tady, wlp2s0
je název mého bezdrátového rozhraní. ESSID, tj. název sítě je „tmp“, což je název sítě Wifi, ke které jsem připojen.
Budeme používat airmon-ng
příkaz ke spuštění rozhraní síťového monitoru wlp2s0
.
sudo airmon-ng start wlp2s0
Hledejte řádek na konci a najděte rozhraní režimu monitoru. Ve výše uvedeném příkladu tomu tak je po0
. Nyní začneme odchytávat síťové pakety spuštěním airodump-ng
na po0
.
sudo airodump-ng mon0 -w log
Zobrazuje monitor síťových paketů zachycených z různých sítí. The -w log
část je pro ukládání síťových paketů do log souborů. Prefix souborů protokolu bude část zadaná za -w, v tomto případě ‚log‘.
Aby program zachytil hash klíč přístupové fráze, musí v síti proběhnout handshake WPA, tj. uživatel by se k ní měl pokusit připojit. Uživatel může sám odpojit svou Wifi a znovu se k ní připojit. V pravém horním rohu nyní oznamuje, že bylo zachyceno handshake WPA.
Nyní stiskněte Ctrl + C
k ukončení výpisu. Vygenerované soubory protokolu můžete vidět v aktuální složce.
Dalším a posledním krokem je spustit aircrack-ng se slovníkem, abyste viděli, které slovo odpovídá zachycenému hash klíči z handshake.
aircrack-ng log-01.cap -w tmpdict.txt
Tady log-01.cap je soubor protokolu generovaný airodump-ng
příkaz a tmpdict.txt je soubor slovníku. Na internetu je k dispozici několik velkých slovníků, které si můžete stáhnout a použít zde.
Chcete-li vybrat cílovou síť, zadejte číslo indexu sítě ze seznamu sítí zobrazených na obrazovce.
Pokud se klíč shoduje ze slovníku, zastaví se a zobrazí se následující zpráva.
Je zřejmé, že v případě větších souborů slovníku bude programu trvat déle, protože kontroluje každý záznam ve slovníku.
Jak již bylo zmíněno, heslo lze prolomit pouze v případě, že je přítomno v souboru slovníku. Zabezpečení WPA je dostatečně silné, aby použití jakéhokoli šifrovacího algoritmu neumožnilo prolomení hesla. Proto je dobrým zvykem mít na svém zařízení Wifi silné dlouhé heslo s několika speciálními znaky, aby se žádná aktivita prolomení hesla nikdy nezdařila.
John Rozparovač
John the Ripper je nástroj používaný k prolomení slabých unixových hesel. Je to velmi snadno použitelný nástroj vyvolávaný u souborů s hesly. Běží ve třech režimech.
Single Mode
Zkontroluje heslo ve všech polích GECOS, tj. zkontroluje heslo v informacích o uživatelském účtu; uživatelské jméno, jméno, příjmení atd.
sudo john --single /etc/shadow
Režim seznamu slov
Kontroluje heslo u každého záznamu ze souboru se seznamem slov (slovníku).
sudo john --wordlist=passlist.txt /etc/shadow
Zde je heslo uživatele „user3“ „admin“. John to dokázal rozlousknout, protože v souboru passlist.txt byla přítomna fráze ‚admin‘.
Přírůstkový režim
Zkontrolujte všechny možné kombinace pro nakonfigurovaný rozsah. Ve výchozím nastavení bere v úvahu všechny znaky ve znakové sadě ASCII a všechny délky od 0 do 13. Netřeba dodávat, že v závislosti na nakonfigurovaném rozsahu může spuštění tohoto režimu trvat velmi dlouho.
Konfigurace pro toto lze změnit v /etc/john/john.conf
soubor.
sudo john --inkrementální /etc/shadow
Radar2
Radare2 (alias r2) je nástroj reverzního inženýrství pro Linux. Umí rozebrat, odladit spustitelný binární soubor s velkým seznamem možností pro manipulaci s daty za běhu.
Podívejme se, jak rozebrat velmi malý program C pomocí r2. Všimněte si, že k používání nástroje je nutná základní znalost jazyka symbolických instrukcí.
Nejprve vytvořte malý program v C buď vimu nebo libovolném editoru podle vašeho výběru.
/*test.c*/ #include int main() { int i = 0; printf("%d\n", i); návrat 0; }
Jak vidíte, vše, co tento program dělá, je uložení číslice 0 do proměnné a přístup k proměnné, aby ji vytiskl.
Nyní zkompilujeme program.
gcc test.c -o test
V aktuálním adresáři se vytvoří spustitelný soubor s názvem „test“. Spusťte jej a uvidíte výstup „0“.
./test
Nyní nainstalujeme r2. Název balíčku v Ubuntu a podobných distribucích je radare2.
sudo apt install radare2
Poznámka: Pro starší verze Ubuntu (verze 14.04 a nižší) musíte použít apt-get
by měl být použit místo apt
.
Nyní spustíme příkazový řádek r2 s naším spustitelným souborem „test“.
test r2
Chcete-li získat seznam dílčích příkazů, zadejte ?
. Např. získat seznam dílčích příkazů pro příkaz A
, zadejte A?
A?
Spustíme dílčí příkaz aa
, který analyzuje kompletní binární soubor. Nevyvede nic. Ale po analýze binárního kódu můžeme použít p?
dílčí příkazy k rozebrání kódu.
Dále se přesuneme do hlavní
funkce programu. Každý spustitelný program C má příponu hlavní
fungovat jako jeho výchozí bod.
s hlavní
Můžete vidět, že předpona výzvy změnila aktuální adresu paměti, tj. program je nyní hledán na adresu funkce hlavní
.
Dále použijeme dílčí příkaz pdf
, který vytiskne rozebrání funkce. Říkáme tomu s sym.main
, což je název hlavní funkce v jazyce symbolických instrukcí.
pdf sym.main
Jak můžeme vidět na obrázku výše, máme kompletní rozebrání našeho C programu. Nyní můžeme analyzovat, co program dělá čtením sestavení.
Například, mov dword [rbp-0x4], 0x0
je přiřazení hodnoty (0) paměťovému umístění rbp – základní ukazatel, 0x4 – velikost paměti požadovaná pro celé číslo.
My máme volání sym.imp.printf
, která vytiskne obsah registru eax
, tedy hodnotu 0.
Existuje mnohem více možností pro manipulaci a ladění toku programu v r2. Můžete vyzkoušet další možnosti, které jsou zobrazeny s ?
příkaz. Chcete-li uložit jakýkoli výstup protokolu nebo rozebrání do souboru, můžete výstup vytvořit kanálem, jak je uvedeno níže:
pdf hlavní > hlavní.s
Toto byl přehled některých nejpoužívanějších hackerských nástrojů v Linuxu. Pokud vám tato stránka přišla užitečná, nezapomeňte ji sdílet ve svých oblíbených online komunitách.