Linux- ja Unix-pohjaiset käyttöjärjestelmät ovat olleet tietoturvan, verkkoturvallisuuden, kryptografian jne. alojen ytimessä. Niiden mukana tulee laaja valikoima kyberturvallisuustarkoituksiin tarkoitettuja työkaluja.
Katsotaanpa kolmea tällaista työkalua: Aircrack-ng, Jack The Ripper ja Radare2.
Aircrack-ng-sviitti
Aircrack-ng-sviitti on ehkä laajimmin käytetty joukko WiFi-verkon haistelua ja salasanan talteenottotyökaluja. Se on tarkoitettu murtamaan IEEE 802.11 -protokollan langattoman verkon salasanat, jotka on useimmiten suojattu Wifi Protected Access (WPA)- tai Wifi Protected Access 2 (WPA2) -standardeilla ja todennettu Pre-Shared Key (PSK) -todennusmenetelmällä.
Se tarjoaa erillisiä ohjelmia verkkolaitteiden tilan valvontaan, pakettien kaappaamiseen ja tiedostojen tallentamiseen, salasanojen murtamiseen jne.
Huomaa, että tutkijat ovat todenneet WPA/WPA2:n murtamisen krypto-algoritmeilla lähes mahdottomaksi. Näin ollen tapa murtaa WPA/WPA2 ohjelmilla, kuten aircrack-ng, on Brute Force, ja sen murtamiseen tarvitaan salasanasanakirja. Tämä tarkoittaa, että se voi murtaa salasanan vain, jos salasana on sanakirjasana.
Voit helposti asentaa Aircrack-ng:n järjestelmääsi käyttämällä packagecloud.io:n tarjoamaa asennusohjelmaa. Avaa pääte ja suorita seuraavat komennot Linux-käyttöjärjestelmän tyypin mukaan.
Debian-pohjaisissa jakeluissa, suorita seuraava komento:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash
Red-hat Package Manager (RPM), suorita seuraava komento:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash
Yritetään nyt murtaa paikallisen Wi-Fi-verkon salasana Aircrack-ng:n avulla.
Ensinnäkin, suorita komento iwconfig
löytääksesi langattoman verkkoliittymäsi nimen.
iwconfig
Tässä, wlp2s0
on langattoman käyttöliittymäni nimi. ESSID, eli verkon nimi on "tmp", joka on sen Wi-Fi-verkon nimi, johon olen yhteydessä.
Käytämme airmon-ng
komento käynnistää verkkomonitorin käyttöliittymä wlp2s0
.
sudo airmon-ng aloita wlp2s0
Etsi rivin lopusta löytääksesi näyttötilan käyttöliittymän. Yllä olevassa esimerkissä se on mon0
. Aloitamme nyt verkkopakettien keräämisen suorittamalla airodump-ng
päällä mon0
.
sudo airodump-ng mon0 -w log
Se näyttää eri verkoista pyydettyjen verkkopakettien monitorin. The -w loki
osa on tarkoitettu verkkopakettien tallentamiseen lokitiedostoihin. Lokitiedostojen etuliite on -w:n jälkeen määritetty osa, tässä tapauksessa "loki".
Jotta ohjelma saa kiinni tunnuslauseen hajautusavaimen, verkossa on tapahduttava WPA-kättely eli käyttäjän tulee yrittää muodostaa yhteys siihen. Käyttäjä voi itse katkaista Wi-Fi-yhteyden ja muodostaa yhteyden siihen uudelleen. Nyt oikeassa yläkulmassa se ilmoittaa, että WPA-kättely on saatu kiinni.
Nyt paina Ctrl + C
kaatopaikan lopettamiseksi. Voit nähdä luodut lokitiedostot nykyisessä kansiossa.
Seuraava ja viimeinen vaihe on suorittaa aircrack-ng sanakirjan avulla nähdäksesi, mikä sana vastaa kädenpuristuksen siepattua hash-avainta.
aircrack-ng log-01.cap -w tmpdict.txt
Tässä log-01.cap on käyttäjän luoma lokitiedosto airodump-ng
komento ja tmpdict.txt on sanakirjatiedosto. Verkossa on saatavilla useita suuria sanakirjoja, jotka voidaan ladata ja käyttää täältä.
Valitse kohdeverkko antamalla verkon indeksinumero näytöllä näkyvästä verkkoluettelosta.
Jos avain löytyy sanakirjasta, se pysähtyy ja näyttää seuraavan viestin.
On selvää, että suurempien sanakirjatiedostojen tapauksessa ohjelman suorittaminen vie enemmän aikaa, koska se tarkistaa sanakirjan jokaisen merkinnän.
Kuten aiemmin mainittiin, salasana voidaan murtaa vain, jos se on sanakirjatiedostossa. WPA-suojaus on riittävän vahva, joten minkään salausalgoritmin käyttö ei mahdollista salasanan murtamista. Tästä syystä on hyvä käytäntö, että Wifi-laitteessa on vahva pitkä salasana, jossa on useita erikoismerkkejä, jotta kaikenlainen salasanan murtaminen ei koskaan onnistu.
John Viiltäjä
John the Ripper on työkalu heikkojen Unix-salasanojen murtamiseen. Se on erittäin helppokäyttöinen työkalu, jota käytetään salasanatiedostoissa. Se toimii kolmessa tilassa.
Yksittäinen tila
Tarkistaa salasanan kaikista GECOS-kentistä, eli tarkistaa salasanan käyttäjätilin tiedoista; käyttäjätunnus, etunimi, sukunimi jne.
sudo john --single /etc/shadow
Sanalistatila
Tarkistaa salasanan jokaisen sanaluettelon (sanakirja) tiedoston kohdalla.
sudo john --wordlist=passlist.txt /etc/shadow
Tässä käyttäjän 'user3' salasana on "admin". John pystyi murtamaan sen, koska ilmaus "admin" oli passlist.txt-tiedostossa.
Inkrementaalinen tila
Tarkista kaikki mahdolliset yhdistelmät määritetylle alueelle. Oletuksena se ottaa huomioon kaikki ASCII-merkistössä olevat merkit ja kaikki pituudet 0-13. On sanomattakin selvää, että määritetystä alueesta riippuen tämän tilan suorittaminen voi viedä valtavasti aikaa.
Tämän kokoonpanoa voidaan muuttaa /etc/john/john.conf
tiedosto.
sudo john --inkrementaalinen /etc/shadow
Radare2
Radare2 (alias r2) on käänteissuunnittelutyökalu Linuxille. Se voi purkaa, virheenkorjata suoritettavan binaaritiedoston ja sisältää valtavan valikoiman vaihtoehtoja tietojen käsittelyyn ajon aikana.
Katsotaanpa kuinka purkaa hyvin pieni C-ohjelma r2:lla. Huomaa, että työkalun käyttäminen edellyttää kokoonpanokielen perusymmärrystä.
Luo ensin pieni C-ohjelma joko vimissä tai missä tahansa valitsemassasi editorissa.
/*test.c*/ #include int main() { int i = 0; printf("%d\n", i); paluu 0; }
Kuten näette, tämä ohjelma vain tallentaa luvun 0 muuttujaan ja käyttää muuttujaa tulostaakseen sen.
Kokoamme nyt ohjelman.
gcc test.c -o testi
Suoritettava tiedosto luodaan nykyiseen hakemistoon nimellä "test". Suorita se nähdäksesi tulos "0".
./testata
Asennataan nyt r2. Paketin nimi Ubuntussa ja vastaavissa jakeluissa on radare2.
sudo apt install radare2
merkintä: Vanhemmille Ubuntu-versioille (versio 14.04 ja sitä vanhemmat) sinun on käytettävä apt-get
pitäisi käyttää sen sijaan apt
.
Aloitamme nyt r2-komentokehotteen suoritettavalla tiedostollamme "test".
r2 testi
Saat luettelon alikomennoista syöttämällä ?
. Esim. saadaksesi luettelon komennon alikomennoista a
, tulla sisään a?
a?
Suoritamme alikomennon aa
, joka analysoi koko binaaritiedoston. Se ei tuota mitään. Mutta binäärianalyysin jälkeen voimme käyttää p?
alikomennot koodin purkamiseksi.
Seuraavaksi siirrymme kohteeseen pää
ohjelman toiminto. Jokaisessa suoritettavassa C-ohjelmassa on pää
toimii sen lähtökohtana.
s tärkein
Voit nähdä, että kehotteen etuliite on vaihtanut nykyistä muistiosoitetta, eli ohjelmaa etsitään nyt funktion osoitteeseen pää
.
Seuraavaksi käytämme alikomentoa pdf
, joka tulostaa toiminnon purkamisen. Kutsumme sitä kanssa sym.main
, joka on päätoiminnon nimi kokoonpanokielellä.
pdf sym.main
Kuten yllä olevasta kuvakaappauksesta näemme, meillä on C-ohjelmamme täydellinen purkaminen. Voimme nyt analysoida, mitä ohjelma tekee lukemalla kokoonpanon.
Esimerkiksi, mov dword [rbp-0x4], 0x0
on arvon (0) määrittäminen muistipaikkaan rbp – perusosoitin, 0x4 – kokonaisluvun vaadittava muistin koko.
Meillä on soita sym.imp.printf
, joka tulostaa rekisterin sisällön eax
eli arvo 0.
R2:ssa on monia muita vaihtoehtoja ohjelman kulun manipulointiin ja virheenkorjaukseen. Voit kokeilla muita vaihtoehtoja, jotka näkyvät kohdassa ?
komento. Tallentaaksesi minkä tahansa lokin tai purkamisen tulosteen tiedostoon, voit putsata tulosteen seuraavasti:
pdf pää> main.s
Tämä oli yleiskatsaus joihinkin Linuxin yleisimmin käytetyistä hakkerointityökaluista. Jos tämä sivu oli mielestäsi hyödyllinen, muista jakaa se suosikkiverkkoyhteisöihisi.