Många användare inser inte att genom att fylla i ett inloggningsnamn och lösenord när de registrerar sig eller loggar in på en stängd internetresurs och trycker på ENTER, kan denna data lätt fångas upp. Mycket ofta sänds de över nätverket i osäkrad form. Därför, om webbplatsen du försöker logga in på använder HTTP-protokollet, är det mycket enkelt att fånga denna trafik, analysera den med Wireshark och sedan använda speciella filter och program för att hitta och dekryptera lösenordet.
Det bästa stället att fånga upp lösenord är kärnan i nätverket, där trafiken för alla användare går till stängda resurser (till exempel post) eller framför routern för att komma åt Internet, när de registrerar sig på externa resurser. Vi sätter upp en spegel och vi är redo att känna oss som en hackare.
Steg 1. Installera och starta Wireshark för att fånga trafik
Ibland, för att göra detta, räcker det att bara välja gränssnittet genom vilket vi planerar att fånga trafik och klicka på Start-knappen. I vårt fall fångar vi över ett trådlöst nätverk.
Trafikfångst har börjat.
Steg 2. Filtrera fångad POST-trafik
Vi öppnar webbläsaren och försöker logga in på någon resurs med ett användarnamn och lösenord. När auktoriseringsprocessen är klar och webbplatsen har öppnats slutar vi fånga trafik i Wireshark. Öppna sedan protokollanalysatorn och se stort antal paket. Det är vid denna tidpunkt som de flesta IT-proffs ger upp eftersom de inte vet vad de ska göra härnäst. Men vi känner till och är intresserade av specifika paket som innehåller POST-data som genereras på vår lokala maskin när man fyller i ett formulär på skärmen och skickar till fjärrserver när du klickar på knappen "Logga in" eller "Auktorisering" i webbläsaren.
Vi anger ett speciellt filter i fönstret för att visa infångade paket: http.begäran.metod == “POSTA"
Och vi ser, istället för tusentals paket, bara ett med den data vi letar efter.
Steg 3. Hitta användarens inloggning och lösenord
Högerklicka snabbt och välj objektet från menyn Följ TCP Steam
Efter detta visas text i ett nytt fönster som återställer innehållet på sidan i kod. Låt oss hitta fälten "lösenord" och "användare", som motsvarar lösenordet och användarnamnet. I vissa fall kommer båda fälten att vara lättlästa och inte ens krypterade, men om vi försöker fånga trafik när vi kommer åt mycket välkända resurser som Mail.ru, Facebook, Vkontakte, etc., kommer lösenordet att krypteras:
HTTP/1.1 302 hittades
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
P3P: CP="NOI ADM DEV PSAi COM NAV VÅR OTRo STP IND DEM"
Set-Cookie: lösenord= ; expires=Tor, 07-Nov-2024 23:52:21 GMT; sökväg =/
Plats: loggedin.php
Innehållslängd: 0
Anslutning: stäng
Content-Type: text/html; charset=UTF-8
Så i vårt fall:
Användarnamn: networkguru
Lösenord:
Steg 4. Bestäm kodningstypen för att dekryptera lösenordet
Gå till exempel till webbplatsen http://www.onlinehashcrack.com/hash-identification.php#res och ange vårt lösenord i identifieringsfönstret. Jag fick en lista över kodningsprotokoll i prioritetsordning:
Steg 5. Dekryptera användarlösenordet
I det här skedet kan vi använda hashcat-verktyget:
~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt
Vid utgången fick vi ett dekrypterat lösenord: simplepassword
Med hjälp av Wireshark kan vi alltså inte bara lösa problem i driften av applikationer och tjänster, utan också prova oss själva som en hackare och fånga upp lösenord som användare anger i webbformulär. Du kan också ta reda på lösenord för brevlådor användare som använder enkla filter för att visa:
- POP-protokollet och filtret ser ut så här: pop.request.command == "USER" || pop.request.command == "PASS"
- IMAP-protokollet och filtret kommer att vara: imap.request innehåller "inloggning"
- Protokollet är SMTP och du måste ange följande filter: smtp.req.command == "AUTH"
och mer seriösa verktyg för att dekryptera kodningsprotokollet.
Steg 6: Vad händer om trafiken är krypterad och använder HTTPS?
Det finns flera alternativ för att svara på denna fråga.
Alternativ 1. Anslut när anslutningen mellan användaren och servern är bruten och fånga trafik i det ögonblick som anslutningen upprättas (SSL Handshake). När en anslutning upprättas kan sessionsnyckeln avlyssnas.
Alternativ 2: Du kan dekryptera HTTPS-trafik med sessionsnyckelloggfilen som registrerats av Firefox eller Chrome. För att göra detta måste webbläsaren vara konfigurerad att skriva dessa krypteringsnycklar till en loggfil (FireFox-baserat exempel) och du bör få den loggfilen. I huvudsak måste du stjäla sessionsnyckelfilen från hårddisk annan användare (vilket är olagligt). Tja, fånga sedan trafiken och använd den resulterande nyckeln för att dekryptera den.
Klargörande. Vi pratar om webbläsaren för en person vars lösenord de försöker stjäla. Om vi menar att dekryptera vår egen HTTPS-trafik och vill öva, så kommer den här strategin att fungera. Om du försöker dekryptera HTTPS-trafiken för andra användare utan tillgång till deras datorer kommer detta inte att fungera - det vill säga både kryptering och integritet.
Efter att ha mottagit nycklarna enligt alternativ 1 eller 2 måste du registrera dem i WireShark:
- Gå till menyn Redigera - Inställningar - Protokoll - SSL.
- Ställ in flaggan "Sätt ihop SSL-poster som spänner över flera TCP-segment".
- "RSA-nycklarlista" och klicka på Redigera.
- Ange data i alla fält och skriv sökvägen i filen med nyckeln
WireShark kan dekryptera paket som är krypterade med RSA-algoritmen. Om algoritmerna DHE/ECDHE, FS, ECC används kommer sniffern inte att hjälpa oss.
Alternativ 3. Få tillgång till webbservern som användaren använder och skaffa nyckeln. Men det här är en ännu svårare uppgift. I företagsnätverk, i syfte att felsöka applikationer eller innehållsfiltrering, implementeras detta alternativ på laglig grund, men inte i syfte att fånga upp användarlösenord.
BONUS
VIDEO: Wireshark Packet Sniffing Användarnamn, Lösenord och Webbsidor
Internetanvändare är så slarviga att det är lika lätt att förlora konfidentiell data som att beskjuta päron. Publikationen 42.tut genomförde ett experiment för att visa hur många "hål" det finns offentligt Wi-Fi-nätverk. Slutsatsen är en besvikelse: alla utan speciella färdigheter och kunskaper kan skapa en komplett dokumentation om en person som bara använder ett öppet trådlöst nätverk.
Vi installerade flera applikationer för experimentet. De skiljer sig åt i funktionalitet, men deras kärna är densamma - att samla allt som passerar genom nätverket som enheten är ansluten till. Inget av programmen positionerar sig som "piratkopierat", "hacker" eller olagligt - de kan laddas ner online utan problem. Experimentet genomfördes i ett köpcentrum med gratis Wi-Fi.
Uppsnappande
Vi ansluter till Wi-Fi: det finns inget lösenord, namnet på nätverket innehåller ordet "gratis". Vi börjar skanna, ett av programmen hittar genast 15 anslutningar till nätverket. För alla kan du se IP-adressen, MAC-adressen, för vissa - namnet på enhetstillverkaren: Sony, Samsung, Apple, LG, HTC...
Vi hittar "offret"-laptopen bland enheterna. Vi ansluter till det - data som passerar genom nätverket börjar dyka upp på skärmen. All information är strukturerad efter tid; det finns till och med en inbyggd visning av avlyssnad data.
Användaridentifikation
Vi fortsätter att titta. Ett onlinespel har helt klart börjat på hans partners bärbara dator: programkommandon skickas ständigt till nätverket, information om situationen på slagfältet tas emot. Du kan se dina motståndares smeknamn, deras spelnivåer och mycket mer.
Ett meddelande kommer från "VKontakte". I en av de detaljerade meddelandespecifikationerna finner vi att användar-ID:t är synligt i var och en av dem. Om du klistrar in det i webbläsaren öppnas kontot för personen som tog emot meddelandet.
"Offret" skriver just nu ett svar på meddelandet och har uppenbarligen ingen aning om att vi stirrar på bilderna på hans konto med all vår kraft. En av de sociala nätverksapplikationerna ger en signal - vi kan lyssna på detta ljud i spelaren.
Lösenord och meddelanden
Foton och ljud är inte allt som kan "överföras" till tillgängligt Wi-Fi. Till exempel har ett av programmen en separat flik för att spåra korrespondens på sociala nätverk och snabbmeddelanden. Meddelanden dekrypteras och sorteras efter tidpunkt för sändning.
Att visa någon annans korrespondens är bortom gott och ont. Men det fungerar. Som en illustration, här är en del av dialogen mellan författaren till texten, fångad av spårningsdatorn från "offrets"-enheten.
Ett annat program "lagrar" alla cookies och användarinformation separat, inklusive lösenord. Lyckligtvis i krypterad form, men det erbjuder omedelbart att installera ett verktyg som kommer att dekryptera dem.
Slutsatser
Nästan all information kan gå förlorad via Wi-Fi. Många offentliga nätverk ger inget skydd alls, och ibland till och med ett lösenord. Det betyder att vem som helst kan avlyssna trafiken från kollegor, vänner eller främlingar.
Den mest tillförlitliga vägen ut ur denna situation är en: sänd inga viktig information genom offentliga nätverk. Skicka till exempel inte telefonnummer och lösenord i meddelanden och betala inte med betalkort utanför hemmet. Risken att förlora personuppgifter är extremt stor.