Jedna sa o projekt, ktory vyuziva memory trade-off metodu vopred generovanych a do suborov ulozenych hashov v tabulkach na vyhladavanie hesliel podla ich hashu.
Podporuje algoritmy lm (lanmanager) a od verzie 1.2 aj md5 a sha1. Subory s hashmi (tzv. rainbow tables) sa musia vopred vygenerovat pomocou programu rtgen. Je to casovo narocna uloha (na mojej P4 2.8GHz HT s 1 GB RAM trvalo generovanie tabulky alpha-numeric [A-Z,0-9] priblizne 3 tyzdne cisteho casu). Na oplatku ziskate lubovolne heslo (podla pouzitej tabulky) do par minut, pri mensich tabulkach do par sekund (tato vyhoda je dana tym, ze v systeme Windows su vsetky hesla rozdelene do mensich blokov po 7 znakov a nasledne zakryptovane). Nasledne sa vygenerovane tabulky triedia programom rtsort. Potom su pripravene na pozitie. Tabulky sa pri pouziti naloaduju do pamate, kde sa prehladavaju. Pri nedostatku volnej pamate sa tento proces rozdeli na viac casti.
Hesla zo systemu Windows ziskate programom pwdump2/pwdump3. Naziskanie hashov je potrebne mat Administratorske prava na danom systeme!!! Pwdump3 podporuje ziskanie hesiel aj zo vzdialeneho systemu. S pwdump2 musite subory ulozit do suboru a preniest napr. po sieti.
Program RCRACK je dostupny ako binarka pre win32 alebo ako zdrojaky pre win32 a linux. Jedina nevyhoda je, ze program nativne nepodporuje paralelne spracovanie na HT, DualCore, DualCPU alebo MultiCPU systemoch. Tuto situaciu som riesil spustenim viacerych instancii programu rtgen s afinitou k roznym procesorom v systeme. Na platforme x86 sa win32 verzia 1.1 ukazala ako rychlejsia volba pri generovani tabuliek oproti skompilovanej linuxovej verzii. (hmmm)
Generovanie tabuliek je od seba absolutne nezavisle, takze mozete naraz generovat rozne tabulky jednej sady na jednom alebo na viacerych strojoch.
Velkost tabuliek je dost zaujimava. Alpha - asi 610 MB, alpha-numeric - asi 3 GB (zrarovane 1.7GB, vlastnim :), alpha-numeric-other [!@#$%^&*()-_+= ] asi 24 GB (pracuje sa na tom :), a konecne all [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] asi 64 GB.
Pravdepodobnost najdenia hesla je dana poctom tabuliek podla vzorca, ktory najdete na stranke programu. (asi budete potrebovaty matlab ;)
Ukazka vystupu programu (hesla z Windows Server 2003 R2):
lm_alpha-numeric_0_2400x40000000_bla.rt:
370176000 bytes read, disk access time: 8.77 s
verifying the file...
searching for 2 hashes...
plaintext of 77b505f1956c56ec is SW0RD
cryptanalysis time: 3.27 s
269824000 bytes read, disk access time: 6.13 s
searching for 1 hash...
cryptanalysis time: 0.42 s
lm_alpha-numeric_1_2400x40000000_bla.rt:
370176000 bytes read, disk access time: 8.20 s
verifying the file...
searching for 1 hash...
cryptanalysis time: 3.13 s
269824000 bytes read, disk access time: 14.95 s
searching for 1 hash...
plaintext of bbd7f0fc7587497e is H4RDP4S
cryptanalysis time: 0.42 s
statistics
-------------------------------------------------------
plaintext found: 2 of 2 (100.00%)
total disk access time: 38.05 s
total cryptanalysis time: 7.23 s
total chain walk step: 5829047
total false alarm: 2751
total chain walk step due to false alarm: 2293890
result
-------------------------------------------------------
crack_me h4rdp4ssw0rd hex:683472647034737377307264
Stroj: P4 2.4 GHz, 512 MB RAM,
tabulky: alpha-numeric, 5x 610 MB
Viac info na http://www.antsight.com/zsl/rainbowcrack/
ScRaTcHi ;)
no pekne zhrnuty clanok o tom co to vie a nevie.... skusal som, ale je pravda ze na slabsej masine (athlon 1600+)... najdlhsie trva vygenerovanie tabuliek...mna konkretne zaujimaju md5 hashe .....skoda ze som sa nedostal k hotovym tabulkam..mnozstvo vypoctoveho casu ..ale vraj to stoji za to ..... mohli by pomakat na tom projekte a dorobit podporu pre HT a dualcore...aj ked je to celkom cool utilita vzdy je nieco vylepsovat
tak to by ta mohlo zaujimat napriklad aj toto:
http://www.root.cz/clanky/tunely-v-hasovacich-funkcich-kolize-md5-do-min...
http://www.root.cz/zpravicky/kolize-md5-urychleny-do-30-sekund/
---
Ale je to smutná epocha, keď je ľahšie rozbiť atóm ako predsudky. Einstein.
A dalsi! Kdyz tomu nerozumis, tak proc si to neprectes? Od kdy se, generovanim koliznich zprav daji louskat existujici hashe? Schopnost vygenerovat dve nove zpravy (Z1, Z2), ktere budou mit stejny hash (H1) ti neumozni z jineho hashe (H2) ziskat puvodni zpravu (Z3):
Z1(A,B,...) => H1
Z2(C,D,...) => H1
Z3(?,?,...) => H2
mojko, takto ti poviem:
1) ja som mu odpisal prvy
2) zaujimal sa o md5, myslim ze to je k veci
3) netvrdim, ze je to prave to o co sa zaujima ("tak to by ta mohlo zaujimat napriklad aj toto:")
4) netvrdim, ze tomu rozumiem
5) netvrdim, ze sa "generovanim koliznich zprav daji louskat existujici hashe"
dalej neriesim
---
Ale je to smutná epocha, keď je ľahšie rozbiť atóm ako predsudky. Einstein.
sorry, ctu to v linksu. nebylo zrejme na co jsi reagoval. moje chyba.
V pripade MD5 to uz nema zmysel, cesky kryptolog Vlastimil Klima to dotiahol dost daleko pomocou tunelovania... http://cryptography.hyperlink.cz/2004/kolize_hash.htm
A na to jsi prisel kde? Jestli zvladas alespon matematiku zakladni skoly, tak pochopis, ze to je o UPLNE necem jinem.
www.oxid.it !!!
Aj ja som generoval. Tabulku za 6 dni.
pri tom alpha resp. aj v ostanych verziach sa brala do uvahy aj case senzitivita hesiel ? lebo v tych enumeraciach co ste tam vypisali nie su male pismena zahrnute. Aj ked ten sapmle na konci vyzera slubne (h4rdp4ssw0rd).
S Windowsovymi heslami je to takto:
Ak nastavite alebo zmenite heslo k uzivatelskemu uctu na heslo, ktore ma menej ako 15 znakov Windows vygeneruje z hesla dva druhy hashov - LAN Manager hash (LM hash) a Windows NT hash (NTLM hash). Tieto hashe su ulozene v local Security Accounts Manager (SAM) databaze alebo v Active Directory.
NTLM hash je MD4 hash originalneho hesla (v UNICODE), s dlzkou 16 bytov. Teoreticky je dlzka hesla limitovana na 128 znakov.
LM hash je relativne slaby (v porovnani s NTLM hashom) a nachadza sa kvoli spatnej kompatibilite s klientmi Windows 9x (dufam, ze tato "hlupost" bude vo Viste odstranena). Pouziva sa hlavne na autorizaciu vzdialenych pripojeni na dany stroj. A teraz pozor!!!
Na vygenerovanie LM hashu system konvertuje heslo z UNICODE na ANSI (jeden byte na znak) a PRELOZI VSETKY ZNAKY NA UPPERCASE!!! Potom je heslo ROZDELENE DO DVOCH BLOKOV PO 7 ZNAKOV (doplnenych nulami ak je to potrebne). Kazda cast je pouzita ako enkrypcny DES kluc na zakryptovanie preddefinovanej konstanty a vysledny hash je ulozeny v systeme (spojeny do jednej 16-bytovej hodnoty). Takze ak Vas system pouziva LM autentifikaciu (a ma povolene LM hashe), skutocna dlzka hesla (komplexnost) je iba 7 ZNAKOV a 14 znakove heslo nie je o nic silnejsie ako 7 znakove!!!
S pozdravom, Vas ScRaTcHi ;)
--
Never trust an operating system You don't have sources for.
Rainbow tables vyuziva aj Ophcrack (aktualne uz verzia 2.2). Odskusal som a nestihal som sa cudovat. Admin heslo do WinXP za ani nie 5 minut. Soft najdete na http://ophcrack.sourceforge.net/. Je tam image Ophcrack live cd s linuxom - vypalit, vlozit do mechaniky reboot a chvilku pockat :) ani 1 klik netreba :-)) enjoy