Linux- och Unix-baserade operativsystem har varit kärnan inom områdena informationssäkerhet, nätverkssäkerhet, kryptografi, etc. De kommer med en mängd olika verktyg avsedda för cybersäkerhetsändamål.
Låt oss ta en titt på tre sådana verktyg: Aircrack-ng, Jack The Ripper och Radare2.
Aircrack-ng svit
Aircrack-ng-sviten är kanske den mest använda uppsättningen av verktyg för sniffning av wifi-nätverk och lösenordsfångning. Det är tänkt att knäcka IEEE 802.11-protokoll för trådlösa nätverkslösenord, som mestadels skyddas av Wifi Protected Access (WPA) eller Wifi Protected Access 2 (WPA2) standarder och autentiseras av Pre-Shared Key (PSK) autentiseringsmetod.
Det erbjuder separata program för att övervaka status för nätverksenheter, fånga paket och dumpa filer, knäcka lösenord, etc.
Observera att forskare har funnit att det är nästan omöjligt att knäcka WPA/WPA2 med kryptoalgoritmer. Därför är sättet att knäcka WPA/WPA2 med program som aircrack-ng Brute Force och kräver en ordbok med lösenord för att knäcka den. Det betyder att det bara kan knäcka lösenordet om lösenordet är ett ordboksord.
Du kan enkelt installera Aircrack-ng på ditt system med hjälp av installationsskriptet från packagecloud.io. Öppna terminalen och kör följande kommandon baserat på din Linux OS-typ.
På Debianbaserade distributioner, kör följande kommando:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash
För Red-hat Package Manager (RPM), kör följande kommando:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash
Låt oss nu försöka knäcka lösenordet för ett lokalt Wi-Fi-nätverk med Aircrack-ng.
Kör först kommandot iwconfig
för att hitta namnet på ditt trådlösa nätverksgränssnitt.
iwconfig
Här, wlp2s0
är namnet på mitt trådlösa gränssnitt. ESSID, dvs nätverksnamnet är "tmp", vilket är namnet på det wifi-nätverk jag är ansluten till.
Vi kommer att använda luftmon-ng
kommando för att starta ett nätverksmonitorgränssnitt på wlp2s0
.
sudo airmon-ng starta wlp2s0
Leta efter raden i slutet för att hitta gränssnittet för monitorläge. I exemplet ovan är det så mån0
. Vi börjar nu fånga nätverkspaket genom att köra airodump-ng
på mån0
.
sudo airodump-ng mon0 -w logg
Den visar en övervakare av nätverkspaket som fångats från olika nätverk. De -w logga
del är för att spara nätverkspaketen i loggfiler. Prefixet för loggfilerna kommer att vara den del som anges efter -w, i det här fallet "logg".
För att programmet ska fånga hashnyckeln för lösenordsfrasen måste en WPA-handskakning äga rum på nätverket, det vill säga en användare ska försöka ansluta till det. Användaren kan själv koppla bort sitt wifi och återansluta till det. I det övre högra hörnet nu meddelar den att ett WPA-handslag har fångats.
Tryck nu Ctrl + C
för att avsluta soptippen. Du kan se de genererade loggfilerna i den aktuella mappen.
Nästa och sista steg är att köra aircrack-ng med en ordbok för att se vilket ord som matchar den avlyssnade hash-nyckeln från handskakningen.
aircrack-ng log-01.cap -w tmpdict.txt
Här log-01.cap är loggfilen som genereras av airodump-ng
kommando och tmpdict.txt är ordboksfilen. Flera stora ordböcker finns tillgängliga online som kan laddas ner och användas här.
För att välja ett målnätverk anger du indexnumret för nätverket från listan över nätverk som visas på skärmen.
Om en nyckel matchas från i ordboken stoppas den och följande meddelande visas.
Det är uppenbart att i händelse av större ordboksfiler kommer programmet att ta längre tid att köra, eftersom det kontrollerar för varje post i ordboken.
Som nämnts tidigare kan lösenordet bara knäckas om det finns i ordboksfilen. WPA-säkerheten är tillräckligt stark för att användning av någon kryptoalgoritm inte kommer att möjliggöra knäckning av lösenord. Därför är det en god praxis att ha ett starkt långt lösenord med flera specialtecken på din Wifi-enhet, så att någon form av lösenordsknäckningsaktivitet aldrig lyckas.
John The Ripper
John the Ripper är ett verktyg som används för att knäcka svaga Unix-lösenord. Det är ett mycket lättanvänt verktyg som anropas på lösenordsfiler. Den körs i tre lägen.
Singelläge
Kontrollerar alla GECOS-fält för lösenord, d.v.s. söker efter lösenord i användarkontoinformationen; användarnamn, förnamn, efternamn osv.
sudo john --singel /etc/shadow
Ordlista läge
Kontrollerar lösenord med varje post från en ordlista (ordboks) fil.
sudo john --wordlist=passlist.txt /etc/shadow
Här är lösenordet för användaren "user3" "admin". John kunde knäcka det eftersom frasen "admin" fanns i filen passlist.txt.
Inkrementellt läge
Kontrollera alla möjliga kombinationer för ett konfigurerat område. Som standard tar den hänsyn till alla tecken i ASCII-teckenuppsättningen och alla längder från 0 till 13. Beroende på det konfigurerade intervallet kan det självfallet ta enormt lång tid att köra.
Konfigurationen för detta kan ändras i /etc/john/john.conf
fil.
sudo john --inkrementell /etc/shadow
Radare 2
Radare2 (alias r2) är ett reverse engineering-verktyg för Linux. Den kan demontera, felsöka en körbar binär fil, med en enorm lista med alternativ för att manipulera data vid körning.
Låt oss se hur man tar isär ett mycket litet C-program med r2. Observera att en grundläggande förståelse av assemblerspråk krävs för att använda verktyget.
Skapa först ett litet C-program i antingen vim eller valfri redigerare.
/*test.c*/ #include int main() { int i = 0; printf("%d\n", i); returnera 0; }
Som du kan se är allt detta program gör att lagra siffran 0 i en variabel och komma åt variabeln för att skriva ut den.
Vi ska nu sammanställa programmet.
gcc test.c -o test
En körbar fil skapas i aktuell katalog med namnet "test". Kör den för att se utgången "0".
./testa
Låt oss installera r2 nu. Paketnamnet i Ubuntu och liknande distributioner är radare2.
sudo apt installera radare2
Notera: För äldre Ubuntu-versioner (version 14.04 och lägre) måste du använda apt-get
ska användas istället för benägen
.
Vi kommer nu att starta kommandotolken r2 med vår körbara fil, "test".
r2 test
För att få en lista över underkommandon, skriv in ?
. T.ex. för att få en lista över underkommandon för kommandot a
, stiga på a?
a?
Vi kör underkommandot aa
, som kommer att analysera den fullständiga binära filen. Det kommer inte att mata ut något. Men efter att ha analyserat det binära, kan vi använda p?
underkommandon för att ta isär koden.
Därefter går vi till huvud
programmets funktion. Varje körbart C-program har huvud
fungera som dess utgångspunkt.
s huvudsakliga
Du kan se att prefixet för prompten har ändrat den aktuella minnesadressen, dvs programmet söks nu till funktionsadressen huvud
.
Därefter använder vi underkommandot pdf
, som kommer att skriva ut demonteringen av en funktion. Vi kallar det med sym.main
, vilket är namnet på huvudfunktionen i assemblerspråk.
pdf sym.main
Som vi kan se i skärmdumpen ovan har vi den fullständiga demonteringen av vårt C-program. Vi kan nu analysera vad programmet gör genom att läsa sammanställningen.
Till exempel, mov dword [rbp-0x4], 0x0
är tilldelning av ett värde (0) till en minnesplats rbp – baspekare, 0x4 – Minnesstorlek krävs för ett heltal.
Vi har ring sym.imp.printf
, som kommer att skriva ut innehållet i registret eax
, dvs värdet 0.
Det finns många fler alternativ för att manipulera och felsöka flödet av ett program i r2. Du kan prova andra alternativ som visas med ?
kommando. För att spara logg- eller demonteringsutdata till en fil, kan du pipe output enligt nedan:
pdf main > main.s
Detta var översikten över några av de mest använda hackningsverktygen i Linux. Om du tyckte att den här sidan var användbar, se till att dela den på dina favoritcommunities online.