~~~~~~~~~~~~~~~~~~~~~~~~
Author: Logic
Tutorial: Password Basics
~~~~~~~~~~~~~~~~~~~~~~~~
Ēfarė janė fjalėkalimet bazike?
Shumica e llogarive (accounts) nė njė sistem kompjuteri zakonisht kanė disa metoda kufizimi tė llogarive, zakonisht nė formė fjalėkalimi. Kur tė kesh tė drejta nė sistem, pėrdoruesit i duhet tė shkruaj njė ID te vlefshme pėr ta pėrdor sistemin, e ndjekur nga njė fjalėkalim qė ta pėrdor llogarinė. Shumica e sistemeve nuk e pasqyrojnė nė shesh fjalėkalimin ashtu siē ėshtė shtypur, ose ata e shkruajnė nga njė yll pėr ēdo karakter.
Nė shumicėn e sistemeve fjalėkalimi ėshtė i nisur ndėrmjet disa algoritmeve qė prodhojnė tė ashtuquajturėn hash (qė do tė thotė njė pėrzierje, rrėmuje). Hash, pra ėshtė zakonisht mė shumė se njė pėrzierje e versioneve origjinale tė tekstit qė e krijojnė fjalėkalimin, ėshtė zakonisht hash njėkahėsh. Hashi njėkahėsh ėshtė varg i karaktereve tė cilat nuk mund tė konvertohen nė tekst. Pra, shumica e sistemeve nuk i dekodojnė fjalėkalimet e ruajtura gjatė vėrtetimit, ata i ruajnė nė hashe njėkahėsore. Gjatė procesit tė kyējes, ti e plotėson llogarinė me emrin dhe fjalėkalimin. Fjalėkalimi niset nėpėrmes njė algoritmi qė prodhon hashe njėkahėsore. Ky hash ėshtė i krahasuar me hashin e ruajtur nė sistem. Nėse janė tė njėjtė, do tė tregoje sė fjalėkalimi ėshtė aprovuar.
Tė flasim, disa algoritme janė mė tė mira se disa tjera nė prodhimin e hasheve njėkahėsorėsh. Tė gjitha sistemet operative tė cilat i mbulojmė kėtu -- Windows and Unix – tė gjitha pėrdorin algoritme tė cilat janė tė krijuara publikisht dhe janė shikuar dhe vėzhguar nė disa shkalle.
Tė thyesh njė fjalėkalim kėrkohet tė kopjosh hashin njėkahėsor tė ruajtur nė ndonjė sistem, dhe atėherė duke pėrdorur algoritmet prodhojnė hashin tėnd deri sa tė ketė njė pėrputhje. Kur tė pėrputhen, sidoqoftė fjala qė pėrdoret ju tė prodhoni hashin tuaj do t’iu lejoj juve tė kyēeni nė sistem. Ka shume “freeware password cracker” tė gatshėm nė internet pėr Windows and Unix.
Pse mbrohen hashet?
Nėse hashet njė kahėsore nuk janė fjalėkalimet vet por derivate matematike, pse duhet tė mbrohen? Mire, atėherė qė nga i dimė algoritmet, njė thyes fjalėkalimesh mund tė pėrdoret thjesht qė tė dekodoj fjalėkalimet e mundshme dhe ti krahasoj me hashet njėkahėshe derisa sa tė ketė pėrputhje. Ekzistojnė dy mėnyra pėr nė ketė rrugė -- “dictionary” dhe “brute-force”.
Zakonisht hashet janė tė ruajtura nė pjesė tė sistemit qė kanė ekstra sigurim qė tė limitojnė qasjen nga cracker-et e mundshėm.
Ēka ėshtė “dictionary” thyesh fjalėkalimesh?
Njė fjalor (dictionary) thyesh fjalėkalimesh thjesht merr njė listė tė fjalėve tė fjalorėve, dhe i kodon ato qė tė shikon nėse kodohen me ato hashet njė kahėshe nga sistemi. Nėse hashet janė tė barabarta, fjalėkalimi konsiderohet i thyer, dhe fjala qė ėshtė pėrdorur nga fjalori ėshtė fjalėkalimi.
Disa nga kėta thyesh fjalorėsh (dictionary crackers) mund tė manipulojnė secilėn fjalė nė listėn e fjalėve duke pėrdorur filtra. Kėto filtra i mundėsojnė tė ndėrrojnė: “hacker” nė “h4ck3r” dhe mėnyra tė tjera tė avancuara. Mė tė mirėt e njohur nga kėta filtėr janė rregullat tė cilat vijnė me “Crack”(per Unix). Kėto rregulla filtrimi janė shumė tė popullarizuara dhe pėrdoren tė thyhen aplikacione tė windowsit.
Nėse je ti njė “dictionary cracker” nuk do tė kesh rregulla manipulimesh, ti mund tė kombinosh me listėn e fjalėve. Ka shume vegla tė mira pėr manipulimin e listave tė fjalėve qė ju mundėsojnė tė gjitha llojet e filtrave. Me njė punė tė vogėl, ti mund tė kthesh njė koleksion tė vogėl fjalėsh nė njė listė gjigante.
Ēka ėshtė “brute-force” thyesh fjalėkalimesh?
“Brute force” thyesi thjesht provon tė gjitha fjalėkalimet e mundshme deri sa tė merr fjalėkalimin e duhur. Nga njė perspektive e thyesit, kjo tė merr shumė kohė. Sido qė tė jetė, nėse i jep kohe tė mjaftueshme dhe fuqi tė CPU fjalėkalimi eventualisht mund tė thyhet.
Pothuaj tė gjithė “brute force” thyesit modern lejojnė numėr te opsioneve tė zgjedhėsh, si maksimumi i zgjatjes sė fjalėkalimit ose karakteret qė tė bėj “brute force”.
Cila ėshtė metoda mė e mirė e thyerjes?
Vėrtet kjo bazohet nė cakun tuaj, aplikacionin thyesh qė ke, dhe sistemin operativ qė po mundohesh tė thyesh. Lė tė shkojmė nė mes disa plan veprimeve.
Nėse caku juaj ėshtė tė kesh qasje nė njė sistem. Me fjalėkalimin qė din, ti ke llogarinė e pėrdoruesit dhe hashin. Njė “dictionary attack” duket se ėshtė mė e shpejta metodė. Kjo ėshtė tipike nėse ke njė metodė bazike qė tė kesh qasje tė marrėsh statusin e pronarit.
Nėse je duke thyer njė program mund tė bėjnė qė tė dyja “dictionary” dhe “brute force”, dhe qė tė dyja janė si tė ngadalshme, ti dėshiron vetėm tė hedhesh njė sulm “brute force” dhe pastaj tė shikosh rreth ditės. Nga tė gjitha kuptimet unė tė rekomandoj njė sulm “dicitonary” me liste fjalėsh tė kombinuara, tė ndjekur me brute force vetėm nėse llogarite tė cilat vėrtet po ju donė fjalėkalimet.
Ty tė duhet para-pėrpunimet e listės sė fjalėve nėse makina tė cilėn ti je ka shkon tė thyesh nga kompjuteri yt duhet tė jetė e forte. P.sh. disa kompjuter tė ngadalshėm ju merr shumė kohė, shumė qė tė kryejnė punėn e tyre me “brute-force” apo me “dictionary”.
Shumė hacker serioz kanė lista tė mėdha tė rregulluara dhe tė kombinuara mirė qė i pėrshtaten dhe i duhen.
Ēka ėshtė “salt”?
Qė tė zhvillosh punėn nė thyerjen fjalėkalimeve, disa algoritme punėsojnė “salts” qė tė shtojnė mė tej komplikimin dhe vėshtirėsitė nė thyerjen e fjalėkalimeve. Kėto “salts” janė qė nga 2 deri ne 8 bit tė gjata, dhe algoritmet njoftojnė pėr shtimin e errėsirės nė hashet njė kahėsore. Nė rendėsi tė madhe sistemet operative mbulojnė ketė, vetėm Windows nuk pėrdor “salt”. Sistemi Unix pėrdor “salt” dhe mbulon pjesė individuale te fjalėkalimeve.
Cili ėshtė rreziku i thyerjes sė fjalėkalimeve?
Rreziku ėshtė i thjesht, dhe i vėrtet. Nėse je zėne me njė fajll fjalėkalimesh nga sistemet ti nuk do tė kesh tė drejta qasje mė nė tė, ti teknikisht je nė pozicionin e vjedhėsit nė syt e pėrfaqėsuesve te ligjit.
Nisjen e njė programi thyes (cracking software) nė fshehtėsi nė shtėpinė tėnde i ka pėrparėsitė e lejimit tėnd qė tė hedhesh tė gjitha fuqitė kompjuterike qė ke nė dispozicion nė njė fjalėkalim, por nėse kapesh atėherė ėshtė njė pune e vogėl tė zbulohesh se po e kryen punėn e thyerjes sė fjalėkalimeve, por janė disa mundėsi tė vogla qė mund tė bėsh pėr mbrojtjen e vetes.
Rainbow Tables
Shpjegimi i Tabelave Rainbow (Ylber)
Pra ēka janė saktėsisht tabelat rainbow? Tabelat Rainbow janė gjenerata e re e cracking, duke pėrdorur metoda tė avancuara pėr thyerjen e fjalėkalimeve tė enkriptuara me algoritme siē ėshtė Message Digest 5 (MD5) ose LanManager (LM). Tabelat Rainbow janė bėrė mė tė popullarizuara dhe tė njohura pėr shpejtėsinė e thyerjes sė fjalėkalimeve tė enkriptuara me ato algoritme. Ėshtė thelbėsore qė tė ecėsh me kohėn nė teknologji; pėr ketė arsye, ky paper do tė ju mėsoj gjithēka pėr tabelat rainbow dhe si po pėrdoren dhe aplikohen nė ditėt e sotme.
Tabela rainbow ėshtė njė lloj special i kėrkimit. Ėshtė si kėrkim i fjalėve nė njė skedar teksti, por mė shumė i komplikuar. Tabelat rainbow pėrdorin time-memory trade-off (shpjegohet mė vonė) qė tė zvogėloj kohėn qė tė thyej (to crack) tekstin e koduar (fjalėt tė enkriptuara) nė tekst tė kuptueshėm. Algoritmet md5 dhe lm janė njėkahėsore, qė donė tė thotė nuk mund tė dekriptohen (dekodohen), por ato mund tė shikohen pėr ngjashmėri.
Time-Memory Trade-Off
Metoda tradicionale pėr thyerjen e fjalėkalimeve ėshtė brute forcing, e cila thjesht vetėm do ti provoje tė gjitha fjalėt nė listė njė nga njė. Kjo rruge tė konsumon shumė kohė pėr thyerjen e fjalėkalimeve. Pajisja e Philippe Oechslin metoda time-memory trade-off e zvogėlimit tė kohės sė kriptoanalizės duke pėrdorur tė dhėna paraprake tė ruajtura nė memorie, ėshtė burimi qė pėrdoret nė rainbow talbes. Ideja e time-memory trade-off ėshtė qė tė bėj tė gjithė kohėn e thyerjes llogaritje tė avancuara dhe tė ruaj rezultatet nė fajllet pėrkatese (rainbow talbes).
Procesi i para- zvogėlimit tė tabelave rainbow do tė merr njė kohė tė caktuar. Sidoqoftė, kur tė gjitha tabelat janė krijuar, time-memory trade-off cracker ėshtė njėqind herė mė i shpejt se njė brute force tradicional. Time-memory trade-off ka bere revolucion nė thyerjen e fjalėkalimeve qė ka bėrė zvogėlimin e kohės nė kriptoanalizė. Qė tė arrijmė pėrfundim, pra time-memory trade-off ėshtė pėrdorur nė tabelat rainbow qė tė shpejtoj kohėn qė duhet pėr thyerjen e tekstit tė koduar.
Ngritja e programit
Ka shumėllojshmėri tė programeve pėr krjimin e tabelave rainbow dhe time-memory trade-off crackers. Pėr hir tė kėtij mėsimi dhe pėr preferenca personale unė do tė pėrdori RainbowCrack i cili ėshtė i mundshme tė shkarkohet (Free) nė http://www.antsight.com/zsl/rainbowcrack/. Nėse nuk e parapėlqen RainbowCrack dhe po kėrkon pėr rainbow table generator dhe time-memory trade-off cracker shiko pėr Winrtgen dhe Cain&Abel, tė cilat janė qė tė dyja tė mundshme pėr shkarkim nė http://www.oxid.it/projects.html (Free).
Fillojmė tė shkarkojmė dhe tė instalojmė RainbowCrack. Ekstraktoni pėrmbajtjen e tij nė direktorinė e preferuar; unė kam marrė “E:\” pėr ketė mėsim, dhe riemėro skedarin nė diē si “rainbowcrack”. Pas ekstraktimit do tė duhet te duket kėshtu disi si nė Figurėn 1.1, tė mėposhtme:
Nėse dėshiron, mund tė kesh njė shikim tė parė nė ReadMe, por nuk ėshtė e nevojshme. Nėse aty nuk ka pasur gabime nė ekstraktim dhe fajlli pėrmban ato qė ka arkiva zip qė shkarkuat nga faqja krysore Project RainbowCrack, atėherė ti ke instaluar me sukses RainbowCrack nė kompjuterin tėnd.Kodi:http://b.imagehost.org/0872/1_1_1.jpg
Generating Rainbow Tables
Para se tė fillosh tė thyesh hashet ty tė duhet tė kesh njė sasi tė mirė tė tabelave rainbow tė mundshme. Prandaj, gjatė kėsaj pjese procesi i krijimit tė tabelave rainbow ėshtė i mbuluar. Sasia e hapėsirės qė ti dėshiron tė caktosh pėr tabelat rainbow normal varet nga preferencat tuja. Nėse ke ndėr 100gb unė do tė rekomandoja krijimin e shumė tabela rainbow.
Programi qė pėrdoret pėr krijimin e tabelave rainbow ėshtė “rtgen”, i lokalizuar nė direktorinė e rainbowcrack qė e krijuam mė herėt. Pėr krijimin e tabelave rainbow ty tė duhet tė caktosh argumente specifike, kėto argumente pėrmbajnė:
hash algorithm \ character set \ plaintext length minimum \ plaintext length maximum \
rainbow table index \ rainbow chain legth \ rainbow chain count \ file title suffix
Hash algorithm options: algorithm of choice (exp: md5)
Character set: located in the RainbowCrack directory as charset.txt, can be
modified (exp: alpha-numeric [123456789ABCDEFGHIJKLMNOPQRSTUV])
Plaintext length minimum: Minimum characters in each word (exp: 1)
Plaintext length maximum: Maximum amount of characters in each word(exp:8)
Rainbow Table Index: The index of the rainbow table (exp: 0)
Rainbow Chain Length: The length of the rainbow chain (exp: 11300)
Rainbow Chain Count: The amount of rainbow chains to generate (exp: 6000)
File Title Suffix: This is used for rainbow tables which are to be linked with
eachother to prevent duplicating (exp: 0)
Para fillimit tė krijimit tė tabelave ėshtė ide e mirė qė tė kontrollosh dhe tė shikosh vlershmin e pėrafėrt tė sasisė sė kohės qė tabela do tė merr nė krijim. Pėr tė bėrė ketė pėrdore argumentin “-bench” nė fund tė argumenteve (me pėrjashtim tė rainbow chain count/length dhe prapashtesėn e argumenteve tė titullit tė fajllit). Pėr tė bėrė ketė sė pari hape cmd promt (sepse rtgen ėshtė njė aplikacion konzole) pastaj cd te direktoria rainbow crack (ku instaluat rainbow crack). Shiko Figurėn 1.2 poshtė.
Tani ju duhet tė jeni nė direktorinė raibowcrack, si nė Figurėn 1.3 poshtė.Kodi:http://b.imagehost.org/0932/1_2.jpg
Tani pasi jeni nė direktorinė RainbowCrack tė duhet tė nisėsh ‘rtgen.exe’ ose krijuesin e tabelave rainbow pastaj ti mund tė nisėsh krijimin e tabelave rainbow.Kodi:http://b.imagehost.org/0281/1_3_2.jpg
Le ta nisim rtgen dhe tė shikojmė ēfarė ndodhė, shiko Figurėn 1.4 poshtė.
Siē po mund tė shikosh janė vetėm argumentet (folėm mė parė)qė rtgen kėrkon qė tė krijon tabelė bazuar nė argumentet e kėrkuara nga pėrdoruesi. Tani pasi e dimė se si punon programi, le tė krijojmė rainbow tabelėn tonė tė parė. Para se mund tė krijosh, ėshtė ide e mirė qė tė shikojmė ose ta kemi nė mendje se sa kohe do tė na merr qė tė krijohet. Pėr tė bėrė ketė pėrdore argumentin –bench, shiko Figurėn 1.5 poshtė.Kodi:http://b.imagehost.org/0121/1_4.jpg
Pasi ta kesh testuar dhe e ke shikuar sa gjate do tė shkojė procesi i krijimit, ti je i gatshėm pėr krijimin. Pjesa dėshpėruese rreth procesit tė krijimit ėshtė se zakonisht tė merr kohe tė gjatė tė pabesueshme. Nėse ke kompjuter tė shumėfishte, atėherė krijimi i tabelave rainbow nuk do tė merr shumė kohe.Kodi:http://b.imagehost.org/0703/1_5_8.jpg
Rainbow tabelat e caktuara janė vetėm se rainbow tabela bazuar nė njėra tjetrėn, pėr shembull ti nuk mund tė kesh 39GB rainbow tabela sepse kompjuteri yt s’mund tė pėrmbaj ketė madhėsi tė madhe. Sidoqoftė, ti mund tė kesh 39GB me 1GB tabela; ti mund ta bėsh ketė duke pasur indekse nė tabelat tuaja. Rtgen e din qė nėse indeksi ėshtė 1 dhe aty ėshtė edhe njė 0 indeks tabelė atėherė nuk do tė ri krijojė tė njėjtat pėrmbajtje qė ishin nė tabelėn e parė (0 tabela). Nė parim, tabelat rainbow tė caktuara tė lejon ty qė tė kesh tabela tė shumėfishta tė cilat janė njė tabelė gjigante, veēse e ndarė nė pjesė tė caktuara.
Nė Figurėn 1.6 poshtė, aty janė 1”basic 1-3 character lower-alpha char.set rainbow table generating.” Pas krijimit do duhet tė duket disi si nė Figurėn 1.7.
Kodi:http://b.imagehost.org/0640/1_6_1.jpgPasi procesi i krijimit ėshtė kompletuar, ty tė duhet ti radhitėsh tabelat rainbow duke pėrdorur rtsort, i gjithė ky program bėn organizmin e tabelave rainbow tė reja. Shiko Figurėn 1.8 poshtė, kur rainbow tabela e mėparshme qė ėshtė krijuar nė Figurėn 1.7 ėshtė duke u radhitur.Kodi:http://b.imagehost.org/0554/1_7_10.jpg
Pasi krijimi dhe radhitja ėshtė kompletuar ėshtė koha qė ti testojmė tabelat rainbow.Kodi:http://b.imagehost.org/0544/1_8.jpg
Cracking Hashes (Thyerja e hasheve)
Algoritmi e tabelės rainbow tė cilin sapo e krijuam ėshtė MD5 le tė shkojmė tė enkriptojmė njė tekst tė thjesht me algoritme. Janė me tona online MD5 encryptors nė internet, qė tė bėjmė me lehtė mund tė shkosh tė shfletosh nė google MD5 encryptor.
Mbaje nė mend kur ta miraton ndonjė fjale tė thjesht, bėhu i sigurt pėr pėrputhjen e karaktereve tė pėrdorura mė herėt nė krijimin e tabelave rainbow. Pėr nė ketė paper, unė do tė enkriptoj ‘ad’ (pa thonjėza) me md5 algoritėm. Pastaj do tė shikoj tė pėrpiqem ta thyej hashin me rainbow table. Kjo vėrtet ėshtė vetėm tė testohet aftėsia e rainbowtable.
ad: 523af537946b79c4f8369ed39ba78605
Tani rainbow tabela duhet tė jete nė gjende tė thyej hashin dhe tė jep tekstin ‘ad’. Programi i pėrdorur ėshtė rcrack, argumentet pėr tė janė tė lehta, ti nė tė vėrtet mund tė nisesh tė gjitha rainbow tabelat nė njė direktori me tė, por nė ketė mėsim ne do tė pėrdorim vetėm njė rainbow tabel. Nė Figurėn 1.9 (poshtė) ‘rcrack’ po kėrkon pėr hash nė rainbow tabelėn.
Ne Figurėn 2.1 (poshtė) ti mund tė shohėsh se rainbow tabela funksionoj.Kodi:http://b.imagehost.org/0917/1_9.jpg
Urime! Ti ke krijuar dhe ruajtur me sukses njė rainbow tabel dhe e pėrdore pėr tė thyer njė hash tė thjesht. Me ‘rcrack’ janė edhe dy argumente tjera pėrveē (-h). Ti ke –p e cila pėrmban njė grumbullim fajllash tė fjalėkalimeve. Ke edhe –I, qė pėrmban njė fajll teksti me hashe tė shumta. Pra ti mund tė thyesh hashe tė shumėfishta nė njė sezon.Kodi:http://b.imagehost.org/0986/2_1.jpg
FUND
Gjatė kėtij mėsimi, fjala ‘crack’ thyerje ėshtė pėrdorur; sidoqoftė, hashet nė tė vėrtet kurrė nuk thyhen ‘cracked’. MD5 dhe LM algoritmet ende nuk janė thyer ‘cracked’, ato janė algoritme njė kahėsore dhe vetėm mund tė shikohen pėr ngjashmėri. Pra nė tė vėrtet nėse thua “Unė po thyej ketė hash me rainbow tabelen time”, ti je gabim.
LAN Man Hash (LM)
Lan Man Hash (LM) ėshtė njė Microsoft algoritėm i enkriptuar qė pėrdoret tė enkriptoj fjalėkalimet pėr Windows NT, 95, 98, ME 2000, XP, dhe 2003 Server. Megjithėse nė versionet e fundit tė Windows (XP, 2003, Vista) Microsoft i ka ndėrruar tė NTLM pėr shumicėn e enkriptimeve, por LM ėshtė ende shumė i pėrdorur. LM ėshtė krijuar qė ti merr pėrdoruesit fjalėkalimet dhe ti konvertoj ato nė tė gjitha shkronja tė mėdha dhe ato ti ndajė fjalėkalimet nė dy gjysma nga shtate karaktere. Secila gjysmė me shtatė karaktere ėshtė i konvertuar nė fjalėkalim “bit hash” dhe pastaj tė dy gjysmat janė tė kombinuara qė krijojnė njė 32 bit hash e cila ėshtė hashi i kompletuar LM.
ED39C160E34521DCBF02B3DFE230653A = CERT276ROSENVA
ED39C160E34521DC__________BF02B3DFE230653A=_______ CERT276______ROSENVA
1st 7 upper Encrypted______2nd 7 Upper encrypted________pass^________pass^
Message Digest Five (MD5)
MD5 hashi ėshtė njė 128-bit (16-byte) hash dhe janė pėrfaqėsues tipik si numra hexadecimal 32-digit. MD5 (Message-Degest algoritėm 5) ishte dizajnuar nga Ronald Rivest nė 1991 dhe ishte krijuar tė zėvendėsoj algoritmet e vjetra. Sot MD5 hashi ėshtė se tepėrmi ėshtė i pėrdorur dhe pjesa mė e madhe janė tė siguruara. Gjeja mė e mirė tė kujtosh ėshtė se me ēdo fjalėkalim tė duhet tė besh atė tė komplikuar dhe tė gjatė. Fjalėkalimet mė tė mira janė 15 karaktere ose me fjalėkalimet tė gjatė qė pėrmbajnė shkronja tė mėdha, tė vogla, numra dhe karaktere speciale gjithashtu.
MD5 Hash Example:
16d2c02aad8d116bc403f73454a5eeb1 = emocan
32-Digit Hash________________________pass^
p.s.
Per arsye qe ne nje post lejohen 3 foto, u detyrova ti fus te gjitha foto ne "code"...
Krijoni Kontakt