2006-11-12, 13:59
#1
Här kommer ytterliggare en guide från min sida, som kommer ta upp hur man knäcker en MD5-hash med hjälp av programmet Cain & Abel. Precis som tidigare guider som jag skrivit, är målet att ha en sån simpel beskrivning och detaljerad som möjligt. Precis som i tidigare guider, så vill jag att ni berömmer/kritiserar guiden, så att jag vet om jag skall ändra någonting i mitt sätt att skriva.
Till att börja med måste du ladda ner programmet Cain & Abel. När jag skriver den här guiden, är den senaste fungerande versionen för Windows NT/2000/XP version 3.6 (direktlänk här), sedan är det bara att installera programmet genom att följa instruktionerna. Under installationens gång, kommer programmet (eventuellt, i alla fall i installationen av versionen som jag använt mig av) att fråga om du vill installera drivrutiner för Winpcap. Du skall acceptera detta, för annars kommer du inte att kunna köra programmet överhuvudtaget, utan det kommer bara bli ett error-meddelande, och du måste sedan installera om programmet i alla fall. Själva programmet Cain & Abel har massor av användbara funktioner, jag kommer antagligen att skriva några fler guider om hur man använder vissa funktioner i programmet så håll utkik efter det.
När du installerat färdigt programmet, så märker du att det finns flera flikar som man kan välja mellan, bland annat så finns det "Protected Storage", "Network" med mera. Den flik som du skall välja, är "Cracker". När du valt den fliken, ser dui att det finns massor av olika algoritmer som man kan välja mellan, bland annat "LM & NTLM Hashes", "SHA-1 Hashes". Det du skall välja är "MD5 Hashes (0)". Som du märker, består den delen av olika tabeller, med olika namnen "MD5 Hash" och "Password". Högerklicka i tabellfältet, och välj "Add to list" (du kan även använda [Insert], som är ett snabbkommando för "Add to list"), och i fältet som kommer upp (med titeln "MD5 Hash (In HEX)) skall du klistra in den MD5 hash som du vill knäcka. Som exempel använder vi en hash med värdet 7D1AB1E1A40366EABBE48E134988F0BD (i fall du anger en felaktig hash, kommer det att stå "The length of the MD5 Hash must be exactly 16 bytes long"). När allt detta är gjort, är det dags att börja knäcka hashen.
När du nu skall försöka att knäcka hashen, har du ett flertal olika funktioner du kan använda dig av. Du har "Brute-Force" och "Dictionary Attack", men du kan även använda dig utav "Cryptanalys Attack via RainbowTables" (mer detaljerad information om Rainbow Tables finns här http://www.flashback.org/showthread.php?t=399945, guiden är skriven av DaVajj). Vi börjar med att ta upp lite information om vad en Dictionary Attack är, och hur man använder sig utav en sådan attack.
Brute-Force Attack
==============
En Brute-Force attack går ut på att man genom att testa extremt många olika kombinationer mot en (eller flera) hash, för att få fram vilket lösenord hashen döljer. Den kan exempelvis testa alla kombinationer mot ett lösenord som du misstänker har 1-6 tecken, och små bokstäver och siffror. Det kommer betyda att det finns 2238976116 olika kombinationer. Om jag sedan lägger till så att den skall inkludera tecken (såsom !, ^ och liknande), så kommer det bli 100343116692 kombinationer. Hur lång tid det tar att testa alla kombinationer, beror på hur snabb dator du har, ju snabbare dator, desto fortare går det att knäcka hashen. Själv tror jag att det är därför som organisationer som t.ex NSA skaffar in så extremt många datorer, för att samköra datorerna så att de får en enorm kapacitet, vilket betyder att de är extremt bra på att bland annat dekryptera algoritmer och annan "hemlig" information som skickas över Internet, men nu skall jag inte dra mina konspirationsteorier över er. Om ni är mer intresserade om den saken, kan ni kolla här http://sv.wikipedia.org/wiki/Echelon_%28data%29.
Ok, men då ska jag beskriva för er hur ni går till väga för att utföra en Brute-Force attack mot hashen. Börja med att högerklicka på hashen som du vill försöka knäcka (eller markera alla som du vill testa på, om du har flera stycken). Välj sedan "Brute-Force Attack", då kommer du komma in i alternativen för hur brute-force attacken skall gå till. Först och främst finns alternativet "Charset". Där ställer du in vilka tecken den skall ta med i attacken, om du t.ex endast vill ha små bokstäver, eller om du vill ha små bokstäver och siffror, eller små och stora bokstäver med siffror, ja, ni fattar.
Alternativet "Password Length", där ställer ni in hur många tecken den skall ta med på försöket, jag rekommenderar att max ha 1-6 tecken om ni kör bokstäver och siffror, på min dator tar det ungefär 10 minuter, men om man har en segare dator kan ju tiden variera förstås. Om du däremot ökar till 1-7 tecken, kommer tiden att öka markant, eftersom att antalet kombinationer som finns tillgängliga även ökar. För mig tar det ungefär fem timmar att genomföra en sådan attack, och därför anser jag att det är bättre att använda Rainbow Table's i stället, för att spara tid.
Vi säger att jag skall försöka knäcka hashen 7D1AB1E1A40366EABBE48E134988F0BD, eftersom att det är "en kompis lösenord" (bara som exempel). Han har berättat för mig att hans lösenord är fem tecken långt, och att jag aldrig kommer kunna lista ut vad det är, men om vi säger så här, att jag lyckats komma över databasen på ett forum där han är registrerad, och har fått fram hashen på hans lösenord, då ligger han riktigt risigt till. Jag sätter igång att attackera, genom att ställa in 5 till 5 tecken, och små bokstäver och siffror. Det blir tillsammans 60,466,176 olika kombinationer. Det går snabbt att räkna ut för min dator, och när jag sedan klicka på "Start", får jag efter två sekunder fram denna information:
Så enkelt var det.
Dictionary Attack
=============
När man säger att man använder sig utav en Dictionary attack, menar man att man försöker knäcka en hash genom att testa den mot en eller flera ordlista/ordlistor. För att detta skall lyckas, krävs det såklart att lösenordet är ett ord som finns med i ordlistan. Det läckte ut ett flertal lösenord till personer som haft konton på uppladdningstjänsten Silentwhisper, och genom att ta alla hashes som fanns i databasen (som läckte ut när sidan blev hackad, mer info om händelsen hittas här http://www.flashback.org/showthread.php?t=380202), och attackera dem med en dictionary attack, och på det sättet lyckades man knäcka flera tusen lösenord. Det bevisar ju hur många som använder ord som lösenord, vilket inte är någon smart idé (som ni som blev drabbade kanske har upptäckt).
Hur gör jag då för att använda mig utav en Dictionary attack i Cain & Abel?
Jo, du gör som så att när du lagt in hash och allt annat som det tidigare i guiden står att du skall göra, så högerklickar du på den hash du vill attackera, och väljer alternativen "Dictionary Attack". När du kommit in där, väljer du under "Dictionary", att lägga till den ordlista som du vill använda dig av. Klickan på "Add" och välj ordlistan. Ett tips är ju att använda Cain & Abel's egna ordlista, som du hittar i din Cain-mapp (där du installerat programmet, jag tror att default-installationen är i "C:\Program\Cain") och sedan väljer du mappen "Wordlists", och där finns en .txt-fil som heter Wordlist.txt, när du hittat den dubbelklickar du på den, och nu används den för att testa hashen. Du kan även välja till fler ordlistor om du vill, genom att använda "Add"-funktionen en gång till. När alla ordlistor är färdig konfigurerade, är det bara att klicka på "Start"-knappen, och den sätter igång att jämföra.
Rainbow Table's
============
När det gäller information och liknande om detta alternativ, hänvisar jag er till DaVajj's guide, eftersom att han är mer erfaren än mig på området, och eftersom att han har skrivit en hel guide ämnat om just det ämnet. Den hittar ni här http://www.flashback.org/showthread.php?t=399945. Däremot så skriver jag hur ni använder er utav Rainbow Table's i Cain & Abel.
Börja med att precis som i föregående attacker-exempel, med att högerklicka och välja "Cryptanalysis Attack via RainbowTables". När du sedan kommit in där, lägger du till de/den tabellen som du vill använda, genom att klicka på "Add Table". Sedan är det bara att klicka på "Start", och den genomför attacken.
Övrigt
=====
Om du misstänker att du redan vet vad lösenordet är, kan du helt enkelt välja (genom att först högerklicka) "Test Password", och skriva in vad du tror att lösenordet är. Om det är rätt, kommer du att märka det.
Användbara länkar:
http://en.wikipedia.org/wiki/Brute_force_attack - Detaljerad information om vad en brute-force attack är, och hur det går till.
http://en.wikipedia.org/wiki/Dictionary_attack - Detaljerad information om vad en dictionary attack är.
http://www.flashback.org/showthread.php?t=399945 - Detaljerad guide om vad Rainbow Tables är.
http://www.oxid.it/ca_um/ - Cain & Abel's användarmanual.
http://www.oxid.it/cain.html - Cain & Abels officiella webbsida.
Till att börja med måste du ladda ner programmet Cain & Abel. När jag skriver den här guiden, är den senaste fungerande versionen för Windows NT/2000/XP version 3.6 (direktlänk här), sedan är det bara att installera programmet genom att följa instruktionerna. Under installationens gång, kommer programmet (eventuellt, i alla fall i installationen av versionen som jag använt mig av) att fråga om du vill installera drivrutiner för Winpcap. Du skall acceptera detta, för annars kommer du inte att kunna köra programmet överhuvudtaget, utan det kommer bara bli ett error-meddelande, och du måste sedan installera om programmet i alla fall. Själva programmet Cain & Abel har massor av användbara funktioner, jag kommer antagligen att skriva några fler guider om hur man använder vissa funktioner i programmet så håll utkik efter det.
När du installerat färdigt programmet, så märker du att det finns flera flikar som man kan välja mellan, bland annat så finns det "Protected Storage", "Network" med mera. Den flik som du skall välja, är "Cracker". När du valt den fliken, ser dui att det finns massor av olika algoritmer som man kan välja mellan, bland annat "LM & NTLM Hashes", "SHA-1 Hashes". Det du skall välja är "MD5 Hashes (0)". Som du märker, består den delen av olika tabeller, med olika namnen "MD5 Hash" och "Password". Högerklicka i tabellfältet, och välj "Add to list" (du kan även använda [Insert], som är ett snabbkommando för "Add to list"), och i fältet som kommer upp (med titeln "MD5 Hash (In HEX)) skall du klistra in den MD5 hash som du vill knäcka. Som exempel använder vi en hash med värdet 7D1AB1E1A40366EABBE48E134988F0BD (i fall du anger en felaktig hash, kommer det att stå "The length of the MD5 Hash must be exactly 16 bytes long"). När allt detta är gjort, är det dags att börja knäcka hashen.
När du nu skall försöka att knäcka hashen, har du ett flertal olika funktioner du kan använda dig av. Du har "Brute-Force" och "Dictionary Attack", men du kan även använda dig utav "Cryptanalys Attack via RainbowTables" (mer detaljerad information om Rainbow Tables finns här http://www.flashback.org/showthread.php?t=399945, guiden är skriven av DaVajj). Vi börjar med att ta upp lite information om vad en Dictionary Attack är, och hur man använder sig utav en sådan attack.
Brute-Force Attack
==============
En Brute-Force attack går ut på att man genom att testa extremt många olika kombinationer mot en (eller flera) hash, för att få fram vilket lösenord hashen döljer. Den kan exempelvis testa alla kombinationer mot ett lösenord som du misstänker har 1-6 tecken, och små bokstäver och siffror. Det kommer betyda att det finns 2238976116 olika kombinationer. Om jag sedan lägger till så att den skall inkludera tecken (såsom !, ^ och liknande), så kommer det bli 100343116692 kombinationer. Hur lång tid det tar att testa alla kombinationer, beror på hur snabb dator du har, ju snabbare dator, desto fortare går det att knäcka hashen. Själv tror jag att det är därför som organisationer som t.ex NSA skaffar in så extremt många datorer, för att samköra datorerna så att de får en enorm kapacitet, vilket betyder att de är extremt bra på att bland annat dekryptera algoritmer och annan "hemlig" information som skickas över Internet, men nu skall jag inte dra mina konspirationsteorier över er. Om ni är mer intresserade om den saken, kan ni kolla här http://sv.wikipedia.org/wiki/Echelon_%28data%29.
Ok, men då ska jag beskriva för er hur ni går till väga för att utföra en Brute-Force attack mot hashen. Börja med att högerklicka på hashen som du vill försöka knäcka (eller markera alla som du vill testa på, om du har flera stycken). Välj sedan "Brute-Force Attack", då kommer du komma in i alternativen för hur brute-force attacken skall gå till. Först och främst finns alternativet "Charset". Där ställer du in vilka tecken den skall ta med i attacken, om du t.ex endast vill ha små bokstäver, eller om du vill ha små bokstäver och siffror, eller små och stora bokstäver med siffror, ja, ni fattar.
Alternativet "Password Length", där ställer ni in hur många tecken den skall ta med på försöket, jag rekommenderar att max ha 1-6 tecken om ni kör bokstäver och siffror, på min dator tar det ungefär 10 minuter, men om man har en segare dator kan ju tiden variera förstås. Om du däremot ökar till 1-7 tecken, kommer tiden att öka markant, eftersom att antalet kombinationer som finns tillgängliga även ökar. För mig tar det ungefär fem timmar att genomföra en sådan attack, och därför anser jag att det är bättre att använda Rainbow Table's i stället, för att spara tid.
Vi säger att jag skall försöka knäcka hashen 7D1AB1E1A40366EABBE48E134988F0BD, eftersom att det är "en kompis lösenord" (bara som exempel). Han har berättat för mig att hans lösenord är fem tecken långt, och att jag aldrig kommer kunna lista ut vad det är, men om vi säger så här, att jag lyckats komma över databasen på ett forum där han är registrerad, och har fått fram hashen på hans lösenord, då ligger han riktigt risigt till. Jag sätter igång att attackera, genom att ställa in 5 till 5 tecken, och små bokstäver och siffror. Det blir tillsammans 60,466,176 olika kombinationer. Det går snabbt att räkna ut för min dator, och när jag sedan klicka på "Start", får jag efter två sekunder fram denna information:
Kod:
Plaintext of 7D1AB1E1A40366EABBE48E134988F0BD is fl4sh Attack stopped! 1 of 1 hashes cracked
Så enkelt var det.
Dictionary Attack
=============
När man säger att man använder sig utav en Dictionary attack, menar man att man försöker knäcka en hash genom att testa den mot en eller flera ordlista/ordlistor. För att detta skall lyckas, krävs det såklart att lösenordet är ett ord som finns med i ordlistan. Det läckte ut ett flertal lösenord till personer som haft konton på uppladdningstjänsten Silentwhisper, och genom att ta alla hashes som fanns i databasen (som läckte ut när sidan blev hackad, mer info om händelsen hittas här http://www.flashback.org/showthread.php?t=380202), och attackera dem med en dictionary attack, och på det sättet lyckades man knäcka flera tusen lösenord. Det bevisar ju hur många som använder ord som lösenord, vilket inte är någon smart idé (som ni som blev drabbade kanske har upptäckt).
Hur gör jag då för att använda mig utav en Dictionary attack i Cain & Abel?
Jo, du gör som så att när du lagt in hash och allt annat som det tidigare i guiden står att du skall göra, så högerklickar du på den hash du vill attackera, och väljer alternativen "Dictionary Attack". När du kommit in där, väljer du under "Dictionary", att lägga till den ordlista som du vill använda dig av. Klickan på "Add" och välj ordlistan. Ett tips är ju att använda Cain & Abel's egna ordlista, som du hittar i din Cain-mapp (där du installerat programmet, jag tror att default-installationen är i "C:\Program\Cain") och sedan väljer du mappen "Wordlists", och där finns en .txt-fil som heter Wordlist.txt, när du hittat den dubbelklickar du på den, och nu används den för att testa hashen. Du kan även välja till fler ordlistor om du vill, genom att använda "Add"-funktionen en gång till. När alla ordlistor är färdig konfigurerade, är det bara att klicka på "Start"-knappen, och den sätter igång att jämföra.
Rainbow Table's
============
När det gäller information och liknande om detta alternativ, hänvisar jag er till DaVajj's guide, eftersom att han är mer erfaren än mig på området, och eftersom att han har skrivit en hel guide ämnat om just det ämnet. Den hittar ni här http://www.flashback.org/showthread.php?t=399945. Däremot så skriver jag hur ni använder er utav Rainbow Table's i Cain & Abel.
Börja med att precis som i föregående attacker-exempel, med att högerklicka och välja "Cryptanalysis Attack via RainbowTables". När du sedan kommit in där, lägger du till de/den tabellen som du vill använda, genom att klicka på "Add Table". Sedan är det bara att klicka på "Start", och den genomför attacken.
Övrigt
=====
Om du misstänker att du redan vet vad lösenordet är, kan du helt enkelt välja (genom att först högerklicka) "Test Password", och skriva in vad du tror att lösenordet är. Om det är rätt, kommer du att märka det.
Användbara länkar:
http://en.wikipedia.org/wiki/Brute_force_attack - Detaljerad information om vad en brute-force attack är, och hur det går till.
http://en.wikipedia.org/wiki/Dictionary_attack - Detaljerad information om vad en dictionary attack är.
http://www.flashback.org/showthread.php?t=399945 - Detaljerad guide om vad Rainbow Tables är.
http://www.oxid.it/ca_um/ - Cain & Abel's användarmanual.
http://www.oxid.it/cain.html - Cain & Abels officiella webbsida.