13.07.2015 Views

The art of cracking - Tutoriali

The art of cracking - Tutoriali

The art of cracking - Tutoriali

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

odredjuje pomocu brojaca (I) i xorovana ASCII vrednoscu prvog bajta izenkriptovanog fajla jednaka 4D hex ili M u ASCII obliku. Ako je ovo ispunjenoprovericemo da li je drugi bajt jednak 5A hex ili Z u ASCIIu. Sta sve ovoznaci ??? Ovo znaci da cemo prepisati prvih 6 bajtova iz originalnog fajla(4D5A90000300) i da cemo jednacinu postaviti ovako:Da li je 10h xor ESI xor ASCII(A) = 4DDa li je 03h xor ESI xor ASCII(A) = 5ADa li je C0h xor ESI xor ASCII(A) = 90Da li je 4Dh xor ESI xor ASCII(A) = 00Da li je 5Fh xor ESI xor ASCII(A) = 03Da li je 5Ah xor ESI xor ASCII(A) = 00gde je 10h prvi bajt iz enkriptovanog fajla (prvih 6 bajtova iz enkriptovanogfajla encrypted.exe 1003C04D5F5A), ESI sadrzaj ESI registra, a ASCII(A) jeASCII vrednost prvog slova iz predpostavljenog passworda. Predpostavljenipassword za prvi prolaz je AAAAAA, za drugi prolaz je AAAAAB, za treci jeAAAAAC, itd... sve dok se ne dodje do ZZZZZZ. Ovo radimo ovako zato stopokusavamo da dekriptujemo bajtove iz enkriptovanog fajla pomocuxorovanja enkriptovanog bajta sa vrednoscu ESIa i vrednoscu slova prolaza,ako je dobijena vrednost jednaka neenkriptovanoj onda moguce da jepredpostavljeni password tacan. Da bi sve ovo bilo jasnije pogledajte sledecutabelu:Password ESI Prolaz Slovo / ASCII Enkriptovano Rez. OriginalABCDEF 7 1 A / 65 / 41h 10h / 16 86 77ABCDEF 7 2 B / 66 / 42h 03h / 03 70 90ABCDEF 7 3 C / 67 / 43h C0h / 192 132 144ABCDEF 7 4 D / 68 / 44h 4Dh / 77 14 0ABCDEF 7 5 E / 69 / 45h 5Fh / 95 29 3ABCDEF 7 6 F / 70 / 46h 5Ah / 90 27 0- Kolona ESI se dobija ASCII(A) xor ASCII(B) xor ASCII(C) xor.... ASCII(F)- Prolaz je brojac koji se koristi za odabiranje slova iz passworda- Kolona enkriptovano sadrzi prvih 6 bajtova iz encrypted.exe fajla- Rezultat je: kolona ESI xor ASCII iz istog reda xor EnkriptovanoPrimer: 7 xor 65 xor 16 = 86- Posto 86 nije jednako originalnom bajtu 77 (4Dh) ovaj predpostavljenipassword nije tacan pa se ostali prolazi ne moraju ni proveravati.Precicemo samo na sledeci password ABCDEG i pokusacemo sa njim.Sada znamo sve sto nam treba kako bi smo napisali algoritam u nekomprogramskom jeziku. Ono sto moramo da napravimo je da napisemoalgoritam koji ce genirisati sve moguce passworde (od AAAAAA-ZZZZZZ) iproveravati da li je predpostavljen seriski broj tacan ili ne. Provera se vrsibas onako kako je opisano u tablici iznad. Ja sam napravio jedan jako dobarprimer u VB kako se to moze napisati jedan bruteforcer. Ovaj primer naravnonije optimizovan i posle par sekundi bruteforceovanja program ce prikazivatida je “zakucao” ali nije, on u pozadini radi svoj posao sto brze moze. Dajtemu vremena i on ce zavrsiti svoj posao, kad tad :) Ovo moze mnogo da<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 105 <strong>of</strong> 165

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!