Hoe de beste hacktools van Linux te gebruiken

Op Linux en Unix gebaseerde besturingssystemen vormen de kern van de gebieden informatiebeveiliging, netwerkbeveiliging, cryptografie, enz. Ze worden geleverd met een breed scala aan tools die bedoeld zijn voor cyberbeveiligingsdoeleinden.

Laten we eens kijken naar drie van dergelijke tools: Aircrack-ng, Jack The Ripper en Radare2.

Aircrack-ng Suite

De Aircrack-ng-suite is misschien wel de meest gebruikte set tools voor het snuiven van wifi-netwerken en het vastleggen van wachtwoorden. Het is bedoeld om IEEE 802.11-protocol draadloze netwerkwachtwoorden te kraken, die meestal worden beschermd door Wifi Protected Access (WPA) of Wifi Protected Access 2 (WPA2) standaarden en geverifieerd door Pre-Shared Key (PSK) authenticatiemethode.

Het biedt afzonderlijke programma's voor het bewaken van de status van netwerkapparaten, het vastleggen van pakketten en het dumpen in bestanden, het kraken van wachtwoorden, enz.

Merk op dat het kraken van WPA/WPA2 met behulp van crypto-algoritmen door onderzoekers bijna onmogelijk is gebleken. Daarom is de manier om WPA/WPA2 te kraken door programma's zoals aircrack-ng, Brute Force en vereist een woordenboek met wachtwoorden om het te kraken. Dat betekent dat het wachtwoord alleen kan worden gekraakt als het wachtwoord een woordenboekwoord is.

U kunt Aircrack-ng eenvoudig op uw systeem installeren met behulp van het installatiescript van packagecloud.io. Open de terminal en voer de volgende opdrachten uit op basis van uw Linux-besturingssysteemtype.

Op op Debian gebaseerde distributies, voer de volgende opdracht uit:

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash

Voor Red-hat Package Manager (RPM), voer de volgende opdracht uit:

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash

Laten we nu proberen het wachtwoord van een lokaal wifi-netwerk te kraken met Aircrack-ng.

Ten eerste, voer opdracht uit iwconfig om de naam van uw draadloze netwerkinterface te vinden.

iwconfig

Hier, wlp2s0 is de naam van mijn draadloze interface. ESSID, d.w.z. de netwerknaam is "tmp", de naam van het wifi-netwerk waarmee ik ben verbonden.

We gebruiken de airmon-ng opdracht om een ​​netwerkmonitorinterface te starten op wlp2s0.

sudo airmon-ng start wlp2s0

Zoek naar de regel aan het einde om de interface voor de monitormodus te vinden. In het bovenstaande voorbeeld is dat: mon0. We beginnen nu met het opvangen van netwerkpakketten door de airodump-ng Aan mon0.

sudo airodump-ng mon0 -w log

Het toont een monitor van netwerkpakketten die van verschillende netwerken zijn opgevangen. De -w log een deel is voor het opslaan van de netwerkpakketten in logbestanden. Het prefix van de logbestanden is het gedeelte dat na -w is gespecificeerd, in dit geval 'log'.

Om het programma de hash-sleutel van de wachtwoordzin te laten vangen, moet een WPA-handshake op het netwerk plaatsvinden, d.w.z. een gebruiker moet proberen er verbinding mee te maken. Gebruiker kan zelf zijn Wifi loskoppelen en er opnieuw verbinding mee maken. In de rechterbovenhoek wordt nu gemeld dat er een WPA-handshake is opgevangen.

Druk nu op Ctrl + C om de stortplaats te beëindigen. U kunt de gegenereerde logbestanden in de huidige map zien.

De volgende en laatste stap is om aircrack-ng uit te voeren met een woordenboek om te zien welk woord overeenkomt met de onderschepte hash-sleutel van de handdruk.

aircrack-ng log-01.cap -w tmpdict.txt 

Hier log-01.cap is het logbestand gegenereerd door airodump-ng commando en tmpdict.txt is het woordenboekbestand. Er zijn verschillende grote woordenboeken online beschikbaar die u hier kunt downloaden en gebruiken.

Om een ​​doelnetwerk te selecteren, voert u het indexnummer voor het netwerk in uit de lijst met netwerken die op het scherm wordt weergegeven.

Als een sleutel wordt gevonden in het woordenboek, stopt deze en wordt het volgende bericht weergegeven.

Het is duidelijk dat in het geval van grotere woordenboekbestanden, het programma meer tijd nodig heeft om te draaien, omdat het op elk item in het woordenboek controleert.

Zoals eerder vermeld, kan het wachtwoord alleen worden gekraakt als het aanwezig is in het woordenboekbestand. WPA-beveiliging is sterk genoeg dat het gebruik van een crypto-algoritme het kraken van het wachtwoord niet mogelijk maakt. Daarom is het een goede gewoonte om een ​​sterk lang wachtwoord met meerdere speciale tekens op je wifi-apparaat te hebben, zodat elke vorm van wachtwoordkraakactiviteit nooit lukt.

John The Ripper

John the Ripper is een tool die wordt gebruikt om zwakke Unix-wachtwoorden te kraken. Het is een zeer eenvoudig te gebruiken tool die wordt aangeroepen op wachtwoordbestanden. Het werkt in drie modi.

Enkele modus

Controleert alle GECOS-velden op wachtwoord, d.w.z. controleer op wachtwoord in gebruikersaccountinformatie; gebruikersnaam, voornaam, achternaam, enz.

sudo john --single /etc/shadow

Woordenlijstmodus

Controleert het wachtwoord bij elke invoer uit een woordenlijstbestand (woordenboek).

sudo john --wordlist=passlist.txt /etc/shadow

Hier is het wachtwoord van gebruiker 'user3' 'admin'. John kon het kraken omdat de zin 'admin' aanwezig was in het passlist.txt-bestand.

Incrementele modus

Controleer alle mogelijke combinaties voor een geconfigureerd bereik. Standaard worden alle tekens in de ASCII-tekenset en alle lengtes van 0 tot 13 in aanmerking genomen. Het is onnodig om te zeggen dat, afhankelijk van het geconfigureerde bereik, deze modus enorm veel tijd in beslag kan nemen.

De configuratie hiervoor kan worden gewijzigd in /etc/jan/jan.conf het dossier.

sudo john --incremental /etc/shadow

Radare2

Radare2 (alias r2) is een reverse engineering-tool voor Linux. Het kan een uitvoerbaar binair bestand demonteren, debuggen, met een enorme lijst aan opties om gegevens tijdens runtime te manipuleren.

Laten we eens kijken hoe we een heel klein C-programma kunnen demonteren met r2. Merk op dat een basiskennis van assembler vereist is om de tool te gebruiken.

Maak eerst een klein C-programma in vim of in een editor naar keuze.

/*test.c*/ #include int main() { int i = 0; printf("%d\n", ik); retourneer 0; }

Zoals je kunt zien, slaat dit programma alleen het cijfer 0 op in een variabele en opent het de variabele om het af te drukken.

We gaan nu het programma compileren.

gcc test.c -o test

Er wordt een uitvoerbaar bestand gemaakt in de huidige map met de naam 'test'. Voer het uit om uitvoer '0' te zien.

./test

Laten we nu r2 installeren. De pakketnaam in Ubuntu en vergelijkbare distributies is radare2.

sudo apt install radare2

Opmerking: Voor oudere Ubuntu-versies (versie 14.04 en lager), moet u gebruik maken van apt-get moet worden gebruikt in plaats van geschikt.

We zullen nu de r2-opdrachtprompt starten met ons uitvoerbare bestand, 'test'.

r2 test

Om een ​​lijst met subcommando's te krijgen, typt u ?. bijv. om een ​​lijst met subopdrachten voor de opdracht te krijgen een, binnenkomen een?

een?

We zullen de subopdracht uitvoeren: aa, die het volledige binaire bestand zal analyseren. Het zal niets opleveren. Maar na analyse van het binaire bestand kunnen we de P? subopdrachten om de code te demonteren.

Vervolgens gaan we naar de voornaamst functie van het programma. Elk uitvoerbaar C-programma heeft de voornaamst als uitgangspunt dienen.

de belangrijkste

U kunt zien dat het voorvoegsel van de prompt het huidige geheugenadres heeft gewijzigd, d.w.z. het programma wordt nu gezocht naar het adres van de functie voornaamst.

Vervolgens gebruiken we het subcommando pdf, waarmee de demontage van een functie wordt afgedrukt. We noemen het met sym.main, wat de naam is van de hoofdfunctie in assembler.

pdf sym.main

Zoals we in de bovenstaande schermafbeelding kunnen zien, hebben we de volledige demontage van ons C-programma. We kunnen nu analyseren wat het programma doet door de assembly te lezen.

Bijvoorbeeld, mov dword [rbp-0x4], 0x0 is toewijzing van een waarde (0) aan een geheugenlocatie rbp – base pointer, 0x4 — Geheugengrootte vereist voor een geheel getal.

We hebben bel sym.imp.printf, die de inhoud van het register zal afdrukken eax, d.w.z. de waarde 0.

Er zijn veel meer opties voor het manipuleren en debuggen van de stroom van een programma in r2. U kunt andere opties proberen die worden weergegeven met de ? opdracht. Om logboek- of demontage-uitvoer naar een bestand op te slaan, kunt u de uitvoer als volgt pipen:

pdf hoofd > hoofd.s

Dit was het overzicht van enkele van de meest gebruikte hacktools in Linux. Als je deze pagina nuttig vond, deel hem dan op je favoriete online communities.