Operacijski sistemi, ki temeljijo na Linuxu in Unixu, so bili jedro področij informacijske varnosti, omrežne varnosti, kriptografije itd. Prihajajo s široko paleto orodij za namene kibernetske varnosti.
Oglejmo si tri taka orodja: Aircrack-ng, Jack The Ripper in Radare2.
Apartma Aircrack-ng
Zbirka Aircrack-ng je morda najbolj razširjen nabor orodij za vohanje omrežja WiFi in zajemanje gesel. Namenjen je razbijanju gesel za brezžično omrežje protokola IEEE 802.11, ki so večinoma zaščitena s standardoma Wifi Protected Access (WPA) ali Wifi Protected Access 2 (WPA2) in overjena z metodo preverjanja pristnosti pred-Shared Key (PSK).
Ponuja ločene programe za spremljanje stanja omrežnih naprav, zajemanje paketov in odlaganje v datoteke, razbijanje gesel itd.
Upoštevajte, da so raziskovalci ugotovili, da je razbijanje WPA/WPA2 z uporabo kriptoalgoritmov skoraj nemogoče. Zato je način za razbijanje WPA/WPA2 s programi, kot je aircrack-ng, Brute Force in zahteva slovar gesel, da ga razbije. To pomeni, da lahko razbije geslo samo, če je geslo slovarska beseda.
Aircrack-ng lahko enostavno namestite na svoj sistem s pomočjo namestitvenega skripta, ki ga zagotavlja packagecloud.io. Odprite terminal in zaženite naslednje ukaze glede na vaš tip operacijskega sistema Linux.
Na distribucijah, ki temeljijo na Debianu, zaženite naslednji ukaz:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash
Za Red-hat Package Manager (RPM), zaženite naslednji ukaz:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash
Zdaj pa poskusimo razbiti geslo lokalnega omrežja Wi-Fi z Aircrack-ng.
Najprej zaženite ukaz iwconfig
da poiščete ime vašega brezžičnega omrežnega vmesnika.
iwconfig
tukaj, wlp2s0
je ime mojega brezžičnega vmesnika. ESSID, torej ime omrežja je »tmp«, kar je ime omrežja Wifi, s katerim sem povezan.
Uporabili bomo airmon-ng
ukaz za zagon vmesnika omrežnega monitorja wlp2s0
.
sudo airmon-ng start wlp2s0
Poiščite vrstico na koncu, da poiščete vmesnik za način monitorja. V zgornjem primeru je pon0
. Zdaj bomo začeli loviti omrežne pakete z zagonom airodump-ng
na pon0
.
sudo airodump-ng mon0 -w dnevnik
Prikaže monitor omrežnih paketov, ujetih iz različnih omrežij. The -w dnevnik
del je za shranjevanje omrežnih paketov v dnevniške datoteke. Predpona dnevniških datotek bo del, določen za -w, v tem primeru 'log'.
Da bi program ujel zgoščeni ključ gesla, mora v omrežju potekati rokovanje WPA, to pomeni, da se mora uporabnik poskusiti povezati z njim. Uporabnik lahko sam odklopi svoj Wifi in se znova poveže z njim. V zgornjem desnem kotu zdaj obvesti, da je bil ujet WPA rokovanje.
Zdaj pritisnite Ctrl + C
da končate smetišče. Ustvarjene datoteke dnevnika si lahko ogledate v trenutni mapi.
Naslednji in zadnji korak je, da zaženete aircrack-ng s slovarjem, da vidite, katera beseda se ujema s prestreženim ključem razpršitve iz rokovanja.
aircrack-ng log-01.cap -w tmpdict.txt
tukaj log-01.cap je datoteka dnevnika, ki jo ustvari airodump-ng
ukaz in tmpdict.txt je slovarska datoteka. Na spletu je na voljo več velikih slovarjev, ki jih lahko prenesete in uporabite tukaj.
Če želite izbrati ciljno omrežje, vnesite indeksno številko omrežja s seznama omrežij, prikazanega na zaslonu.
Če se ključ ujema iz slovarja, se bo ustavil in prikazal naslednje sporočilo.
Očitno je, da bo v primeru večjih slovarskih datotek program potreboval več časa za delovanje, saj preverja vsak vnos v slovarju.
Kot smo že omenili, je geslo mogoče vdreti le, če je prisotno v slovarski datoteki. Varnost WPA je dovolj močna, da uporaba katerega koli kripto algoritma ne bo omogočila zloma gesla. Zato je dobra praksa, da imate v napravi Wifi močno dolgo geslo z več posebnimi znaki, tako da kakršna koli dejavnost vdora gesla nikoli ne uspe.
John Razparač
John the Ripper je orodje, ki se uporablja za razbijanje šibkih gesel Unixa. To je zelo enostavno orodje, ki se prikliče na datoteke z gesli. Deluje v treh načinih.
Enotni način
Preveri vsa polja GECOS za geslo, torej preveri geslo v podatkih o uporabniškem računu; uporabniško ime, ime, priimek itd.
sudo john --single /etc/shadow
Način seznama besed
Preveri geslo z vsakim vnosom iz datoteke s seznamom besed (slovarjem).
sudo john --wordlist=passlist.txt /etc/shadow
Tukaj je geslo uporabnika »user3« »admin«. John ga je uspel razbiti, ker je bila v datoteki passlist.txt besedna zveza 'admin'.
Inkrementalni način
Preverite vse možne kombinacije za konfiguriran obseg. Privzeto upošteva vse znake v naboru znakov ASCII in vse dolžine od 0 do 13. Ni treba posebej poudarjati, da lahko ta način, odvisno od konfiguriranega obsega, traja ogromno časa, da se zažene.
Konfiguracijo za to je mogoče spremeniti v /etc/john/john.conf
mapa.
sudo john --inkrementalni /etc/shadow
Radare2
Radare2 (alias r2) je orodje za obratni inženiring za Linux. Lahko razstavi, razhroščuje izvedljivo binarno datoteko z ogromnim seznamom možnosti za manipulacijo podatkov med izvajanjem.
Poglejmo, kako razstaviti zelo majhen program C z uporabo r2. Upoštevajte, da je za uporabo orodja potrebno osnovno razumevanje zbirnega jezika.
Najprej ustvarite majhen program C v vim ali katerem koli urejevalniku po vaši izbiri.
/*test.c*/ #include int main() { int i = 0; printf("%d\n", i); vrni 0; }
Kot lahko vidite, ta program samo shrani številko 0 v spremenljivko in dostopa do spremenljivke, da jo natisne.
Zdaj bomo sestavili program.
gcc test.c -o test
V trenutnem imeniku je ustvarjena izvedljiva datoteka z imenom "test". Zaženite ga, da vidite izhod "0".
./test
Namestimo r2 zdaj. Ime paketa v Ubuntuju in podobnih distribucijah je radare2.
sudo apt install radare2
Opomba: Za starejše različice Ubuntuja (različica 14.04 in starejše) morate uporabiti apt-dobi
je treba uporabiti namesto apt
.
Zdaj bomo zagnali ukazni poziv r2 z našo izvedljivo datoteko, 'test'.
r2 test
Če želite dobiti seznam podukazov, vnesite ?
. Npr. da dobite seznam podukazov za ukaz a
, vnesite a?
a?
Zagnali bomo podukaz aa
, ki bo analiziral celotno binarno datoteko. Ne bo dalo ničesar. Toda po analizi binarne lahko uporabimo p?
podukazi za razstavljanje kode.
Nato se premaknemo na glavni
funkcijo programa. Vsak izvedljivi program C ima glavni
deluje kot izhodišče.
s glavno
Vidite lahko, da je predpona poziva spremenila trenutni naslov pomnilnika, kar pomeni, da se program zdaj išče na naslov funkcije glavni
.
Nato uporabimo podukaz pdf
, ki bo natisnil razstavljanje funkcije. Pokličemo ga s sym.main
, kar je ime glavne funkcije v zbirnem jeziku.
pdf sym.main
Kot lahko vidimo na zgornjem posnetku zaslona, imamo popolno razstavljanje našega programa C. Zdaj lahko analiziramo, kaj program počne z branjem sklopa.
na primer mov dword [rbp-0x4], 0x0
je dodelitev vrednosti (0) pomnilniški lokaciji rbp – osnovni kazalec, 0x4 — Velikost pomnilnika, potrebna za celo število.
Imamo pokličite sym.imp.printf
, ki bo natisnil vsebino registra eax
, torej vrednost 0.
Obstaja veliko več možnosti za manipuliranje in odpravljanje napak v toku programa v r2. Poskusite lahko druge možnosti, ki so prikazane z ?
ukaz. Če želite shraniti kakršen koli izhod dnevnika ali razstavljanja v datoteko, lahko izhod prevedete po kanalu, kot je prikazano spodaj:
pdf glavni > glavni.s
To je bil pregled nekaterih najbolj razširjenih hekerskih orodij v Linuxu. Če se vam zdi ta stran v pomoč, jo delite v svojih najljubših spletnih skupnostih.