Cum poți să spargi orice parolă de pe lumea asta

Știți ce se spune, pentru a sparge o parolă trebuie să încerci milioane și miliarde și trilioane de combinații, ani de zile, până s-o găsești pe cea bună.

Ei bine, nu sunt de acord. Și cred că, dacă mi-ar fi plăcut programarea, aș fi făcut un sistem care să spargă orice parolă, cu condiția să avem acces la hash-ul parolei, adică la parola criptată.

Cum aș fi făcut?

  1. M-aș fi interesat cum e codificată parola. WordPress, Joomla!, Windows-ul folosesc niște algoritmi cunoscuți, deci dacă ai acces la hash, poți ști cum a fost construit.
  2. Aș fi folosit mecanismul de criptare a parolei pentru a construi o bază de date cu hash-urile tuturor parolelor.
  3. Aș fi comparat hash-ul parolei cu intrările din baza de date…

Aspecte avansate (hardcore):

  1. În ciuda opiniei generale, criptarea unei parole este o operațiune extrem de rapidă, oricât de complicat ar fi mecanismul de criptare, pentru că se folosește memoria cache din microprocesor.
  2. Ce este lent? Păi să generezi o parolă, să-i generezi hash-ul, să-l compari cu cel existent și apoi să o iei de la capăt.
    1. Da, operațiunile de comparare sunt mult, mult mai lente decât cele necesare generării parolei. Noi tocmai pe asta ne bazăm, că scoatem comparațiile din joc, deci economisim timp. 😀
  3. Întrucât nu este eficient să cauți în bazele de date după hash-uri, de obicei acestea fiind niște șiruri destul de lungi, de sute sau mii de caractere, poți să optimizezi căutarea în baza de date astfel încât să cauți după suma MD5 a hash-ului parolei. Dacă obții o mie de rezultate identice, poate două mii, îți este mai simplu să limitezi căutarea după hash-ul întreg la doar acele înregistrări unde MD5-ul corespunde, decât să cauți după întreg hash-ul în toată baza de date.

Ce resurse sunt necesare?

  1. Un VPS sau un server dedicat care să genereze parolele și hash-urile aferente, cu un sistem de operare cât mai simplu, probabil un Linux fără interfață grafică.
    1. Un PlayStation 3 crackuit ar merge de minune pentru chestia asta.
  2. Un server de baze de date, preferabil pe un alt server, cu rețea gigabit între cele două, care să stocheze parolele și hash-urile într-o bază de date Oracle sau MySQL, eventual PostgreSQL.
  3. Scrierea și testarea aplicației care să genereze parolele, preferabil ceva extensibil în care fiecare tip de hash corespunzător fiecărei aplicații de spart să fie un modul, la o adică să poți să spargi orice.

Exemplu estimativ: din estimările mele personale, cu această metodă căreia nu-i pasă de caractere mari, caractere mici, semne de punctuație, orice parolă se poate sparge în doar câteva zile…

Paradoxal, acest articol nu este despre hacking/ cracking, fiindcă nu vă învață cum să puneți mâna și pe hash-urile parolelor de spart, nu pune la dispoziție unelte de spart, ci doar atrage atenția asupra faptului că nu totul este așa cum se vehiculează în public.

Eh, acum vă mai simțiți în siguranță?

60 Comentarii

  1. Nelly 09 februarie 2012 la 12:48 - Raspunde

    Nimic nu e sigur pe lumea asta…

    • Robin Molnar 10 februarie 2012 la 08:32 - Raspunde

      Este sigur că nimic nu e sigur pe lumea asta. Merge? =))

  2. TNH 09 februarie 2012 la 12:55 - Raspunde

    Dar bazele de date nu pot fi exportate într-un Excel? Dacă da, foloseşti opţiunile de sortare şi compararea îţi ia câteva ore.

    • Robin Molnar 09 februarie 2012 la 13:32 - Raspunde

      Nu, Excel este un program lent și nu suportă prea multe chestii, plus că sortarea nu se poate face manual, că n-are sens, întrucât algoritmul automat e mai rapid.

  3. Mircea C. 09 februarie 2012 la 13:07 - Raspunde

    Bine ca nu intra pe aici vreun expert in criptografie, ca ar desfiinta postul asta urgent :))
    Chiar daca ai acces la hash-uri, nu ai acces si la sare

    • Robin Molnar 09 februarie 2012 la 13:31 - Raspunde

      Bănuiesc că dacă ai acces la hash, ai acces și la secret words.. Dar așa e, la unele sisteme nu ai. Uitasem. 🙁

      • Mircea C. 09 februarie 2012 la 14:05 - Raspunde

        Da, cred ca ai acces si la ce se mai pune pe acolo (random bits), dar e un caz in care consumul de sare dauneaza grav sanatatii… algoritmului 🙂

  4. brontozaurel 09 februarie 2012 la 13:38 - Raspunde

    Din cate stiu eu, wp foloseste md5.
    md5 can be cracked

    Acum, intrebarea e… cui dracu’ ii pasa?

  5. brontozaurel 09 februarie 2012 la 13:39 - Raspunde

    Pi.eS. my gravatar

  6. O fata 09 februarie 2012 la 14:13 - Raspunde

    siguranta asta nu-i decat o iluzie mai ceva decat fata morgana.

  7. Bogdan 09 februarie 2012 la 14:57 - Raspunde

    Chiar daca ar fi atat de simplu, dar iti zic ca nu e, ar trebui sa vii peste mine in casa sa-mi iei hdd-ul. Un hacker/cracker nu face asta. Nu vii “coa’, am nevoie de hdd-ul tau putin”. Utilitatea ei practica e limitata.

  8. Mihai Todor 09 februarie 2012 la 15:01 - Raspunde

    Gogule, de data asta trebuie să te anunț că ai reinventat roata 😛 Metoda descrisă de tine se numește “rainbow table” și, în unele cazuri particulare, este extrem de eficientă.

    “Exemplu estimativ: din estimările mele personale, cu această metodă căreia nu-i pasă de caractere mari, caractere mici, semne de punctuație, orice parolă se poate sparge în doar câteva zile…” – Ia gândește-te mai bine și vezi câte combinații posibile există pentru o parolă de, să zicem, 16 caractere și apoi încearcă să estimezi cam de ce capacitate de stocare vei avea nevoie ca să le inserezi pe toate într-o bază de date. În zilele de azi, 16 caractere (litere mari, litere mici, cifre și semne de punctuație) ar fi lungimea minimă adecvată pentru o parolă (deși majoritatea se mulțumesc cu doar 8). Apoi ține cont de faptul că, în cele mai multe cazuri, trebuie să ghicești și un “salt” de lungime necunoscută, așa cum a menționat domnul Mircea C 😉

    “Eh, acum vă mai simțiți în siguranță?” – Desigur. Dacă am ceva de ascuns, fii sigur că se va afla pe un stick / HDD îngropat la 10 metri adâncime într-o pădure deasă și retrasă 😉 În rest, am încredere suficientă în securitatea conturilor importante, deoarece sunt construite să reziste la majoritatea tipurilor de atacuri standard: brute force (blochează accesul la cont, după x încercări nereușite), timed attacks, man in the middle (SSL) etc.

    • Mircea C. 09 februarie 2012 la 18:14 - Raspunde

      Ce nemilos suntem astazi 😀 Ca sa fiu si eu la fel, sa stii ca nici macar rainbow table nu a inventat, ce descrie e o simpla tabela de lookup “dreasa” cu MD5, care nu ti economiseste prea mult spatiul de stocare al hash-urilor. Proof :

      Daca parola e alfanumerica [A-Za-z0-9], sunt posibile (28+28+10)^16 combinatii pentru o lungime a parolei de fix 16 caractere = 129629238163050258624287932416 = 1.296e29. Sa zicem ca un hash are 100 bytes (nu stiu de unde a scos ca ar avea mii de caractere ), ti-ar trebui 1.29e19 TB de spatiu … asteptam sa se mai ieftineasca hdd-urile si sa creasca si capacitatea :))

      Daca folosesti MD5 (128 biti) in loc de hash-ul parolei, economisesti 84 bytes, adica aproximativ 2 ordine de marime (puteri ale lui 10) … nu-i prea grozav cand ordinul de marime este aproximativ 19 😀

      Prin comparatie ophcrack (tare programul, nu stiam de el) are nevoie de o tabela de doar 703MB pentru parole alfanumerice de 14 caractere in XP. Daca refacem calculul pentru parole de 14 caractere, metoda lui Robin tot ar avea nevoie de 4.76e14 TB spatiu de stocare pt hashuri MD5. Deci, toata chestia e in acele rainbow table-uri. Desteapta chestie !

      Concluzia : astia cu criptografia lor in general stiu ce fac, mai putin cei de la M$ care abia la Vista au fost in stare sa bage o criptare mai ca lumea a parolelor. Cu functiile exponentiale nu poti sa te joci, poti sa ai toate supercomputerele de pe planeta. De repetat matematica de clasa a 11-a partea de combinatorica, in special permutari/aranjamente/combinari cu repetitie 😀

      • Mihai Todor 10 februarie 2012 la 02:39 - Raspunde

        Deh, nu m-am obosit să intru în detalii de astea, că, deși dom’ Robin se laudă că nu-i place matematica, sunt sigur că se prinde el ce-am vrut să zic =)) Oricum, sunt apreciate completările matale, care m-au făcut să mă întreb cam cât va dura ca AES-ul (algoritmul Rijndael) să trebuiască înlocuit cu unul mai complex

        Metoda “rainbow tables”, din câte lecturasem eu când m-a interesat subiectul, se bazează pe “chain collisions” și exploatează vulnerabilități cunoscute în anumiți algoritmi de criptare. Dacă nu mă înșel, ophcrack poate fi folosit chiar și pentru Windows 7 🙂

        PS: Am menționat că noul job pe care urmează să îl încep va necesita să implementez algoritmi de clustering și criptare? 😛

      • Robin Molnar 10 februarie 2012 la 08:37 - Raspunde

        Cu un pic de inteligență poți să renunți la anumite combinații. De exemplu, câtă lume folosește de două ori același semn de punctuație într-o parolă? 😉

        • Mircea C. 10 februarie 2012 la 10:02 - Raspunde

          Inca n-am elaborat formula pentru permutari cu repetitie selectiva 😀 dar nu cred ca reduci prea mult numarul acela imens. Plus ca metodei tale “nu-i pasă de caractere mari, caractere mici, semne de punctuație, orice parolă se poate sparge în doar câteva zile…”, deci ar trebuie sa fie ceva gen brute-force care nu se impiedica in detalii de astea psihologice 😉

          Acu’ recunoaste ca te-ai lacomit la cascaval si ai pus un titlu bun pentru “Dan Senzationescu in direct” doar ca sa faci clickuri :))

          • Robin Molnar 16 februarie 2012 la 08:29 -

            Nu sunt senzaționalist. =))

        • Mihai Todor 10 februarie 2012 la 17:46 - Raspunde

          Atunci îți doresc multă baftă dacă-ți propui să-mi spargi vreo parolă =))

          • Robin Molnar 16 februarie 2012 la 08:34 -

            Nu-mi propun, dar mersi. =))

    • Robin Molnar 10 februarie 2012 la 08:35 - Raspunde

      No, pe mine atât m-a dus capul. =))

  9. Flavy 09 februarie 2012 la 16:51 - Raspunde

    Interesant.. Dar pentru un necunoscator este o treaba foarte complicata.. Dupa ce ne-ai povestit aici incep sa ma gandesc ca parola mea ar putea fi sparta in orice minut.

  10. Cristi 03 noiembrie 2012 la 11:26 - Raspunde

    Va rog am nevoie de ajutorul vostru,Ma numesc Cristi si am o mare problema va rog din sufletul meu ajutatima sa recuperez parola de la un id,sau mail…….dati-mi add la id alex4u008 va rog din suflet ajutatima,nu conteaza ce mar costa,va rog enorm de mult. Multumesc !

    • Robin Molnar 03 noiembrie 2012 la 11:28 - Raspunde

      Poate aveai CAPS LOCK apăsată când ai băgat parola.

  11. Cristi 03 noiembrie 2012 la 11:28 - Raspunde

    va rog din suflet am nevoie de ajutorul vostru ,va rog froarte frumos,da-ti add la acest id ” alex4u008 ” e id meu actual, si va rog din suflet ajutatima

    • Cristi 03 noiembrie 2012 la 12:35 - Raspunde

      nu am ..cineva mi-a schimbato ,si nu mai stiu in ce parte sa o mai iau zici ca o iau razna

  12. Cristi 03 noiembrie 2012 la 12:38 - Raspunde

    Robin,daca stii pe careva care ar putea sa ma ajute sau tu,sau oricine altcineva,nu conteaza cat trebue sa platesc sau io mai stiu ce,numai sa ma ajute ca am niste chestii de la firma si inebunesc….inca o data va rog respectuos,daca ma puteti ajuta va sunt recunoscatot asa cum trebue,va rog ajutati-ma….id meu actual e ,” alex4u008 ” Va rog ajutati-ma, Multumesc !

    • Mihai Todor 03 noiembrie 2012 la 19:09 - Raspunde

      Câți verzișori dai?

    • Robin Molnar 05 noiembrie 2012 la 08:04 - Raspunde

      Am dat mesajul tău mai departe.

  13. cristi 11 noiembrie 2012 la 13:20 - Raspunde

    cat trebue as plati ca sa pot afla,doar daca se poate si nu e o cacealma,sau sa ma abureasca careva

  14. cristi 12 noiembrie 2012 la 18:24 - Raspunde

    platesc cat trebue numai ajutati-ma,va rog respectos

    • Mihai Todor 12 noiembrie 2012 la 22:52 - Raspunde

      Păi cu ce să te ajutăm? Momentan n-ai cerut nimic concret și n-ai făcut nici o ofertă 🙂

  15. cristi 13 noiembrie 2012 la 08:36 - Raspunde

    pai spuneti-mi cat trebue si eu o fac ,,plates cat mi se spune..vreu sa aflu pass de ma aceasta adresa pe care mi-a schimbat-o cineva adresa e: mihai_vn69@yahoo.com

    • Mihai Todor 13 noiembrie 2012 la 12:17 - Raspunde

      OK, bagă o cifră de afaceri și mai discutăm 😉

  16. cristi 25 noiembrie 2012 la 17:38 - Raspunde

    pai spunemi tu cat se plateste si nu e problema fara discutii

  17. Marius 01 ianuarie 2013 la 13:12 - Raspunde

    Pentru “aflarea” nu spargerea de parole yahoo, facebook, etc… add : m_marius_catalin@yahoo.com, am cateva trucuri in care te pot ajuta cu ceea ce ai tu nevoie :). in video de mai jos am facut acel tutorial sa vedeti cum puteti intra in pc cuiva doar cu ip-ul sau! http://www.youtube.com/watch?v=0cPnqQxqkDc

    • Robin Molnar 03 ianuarie 2013 la 12:08 - Raspunde

      Nu cred că poți intra remote pe PC-ul cuiva chiar atât de facil, dar unii ar putea avea nevoie de expertiza ta, așa că-ți public comentariul.

      • Mihai Todor 03 ianuarie 2013 la 17:03 - Raspunde

        Bre, de ce lași toți cocălarii ăștia să se dea importanți? Apoi o să se laude cum or stors bani de pe fraieri.

        • Robin Molnar 15 ianuarie 2013 la 08:23 - Raspunde

          Cred că unii ar avea destule cunoștințe cât să ofere un minim de îndrumare.

          • Mihai Todor 15 ianuarie 2013 la 12:12 -

            Crecă poți fi sigur că nu o să-i găsești pe aici 😀

          • Robin Molnar 30 ianuarie 2013 la 08:31 -

            =)) Și eu cred.

  18. MMC System 13 decembrie 2013 la 13:09 - Raspunde

    Vroiai sa inveti metode de a afla o parola ?
    Viziteaza site-ul meu, daca vrei sa afli parola
    persoanei iubite sa vezi cat de incredere este ea
    sau prietenii tai , afla ce cred despre tine!
    sau alte motive pentru care vrei parola…..
    http://mmc-system.ro/hackers/home_page.html

  19. marius 12 mai 2014 la 09:50 - Raspunde

    deci in final exista vreo posibilitate de a afla parola de facebook a unei persoane care nu foloseste calculatorl tau ,ca tot vad pe aici o multime de chestii dar sint valabile doar daca este folosit calculatorul tau ,dar daca nu este se poate ,sint interesat astept un raspuns concret email mariusalexandrescu77@yahoo.com

    • Robin Molnar 12 mai 2014 la 09:57 - Raspunde

      Nope.

  20. Alin 15 iulie 2015 la 10:58 - Raspunde

    Cum pot sparge o parola de pe Ask.fm-retea de socializare ?

    • Robin Molnar 15 iulie 2015 la 21:19 - Raspunde

      Nu poți.

  21. Anonnim 06 octombrie 2015 la 01:41 - Raspunde

    Dar de la ce site-uri poti. ?

    • Robin Molnar 06 octombrie 2015 la 11:15 - Raspunde

      Practic, nu prea poți. Cel puțin, nu pe ușa din față.

  22. Clanul Butoane 09 ianuarie 2016 la 19:43 - Raspunde

    Daca te pot ajuta cu ceva trimite un email: Clan.Butoane@yahoo.com
    http://www.clanbutoane.mfirma.ro

    • Robin Molnar 09 ianuarie 2016 la 19:48 - Raspunde

      Faceți o demonstrație, ca să știm că-i pe bune?

  23. danielxp dany 12 iulie 2016 la 15:43 - Raspunde

    as veni cu o provocare spargeti un ip de vps pe care vil dau si apoi va cred , dar fapte nu vorbe

  24. sobo daniel 12 iulie 2016 la 16:05 - Raspunde

    dovada ca am platit acel vps?

    • Robin Molnar 12 iulie 2016 la 16:09 - Raspunde

      Da. Și dovada scrisă că cei care țin VPS-ul sunt de acord să ne jucăm cu el.

  25. sobo daniel 12 iulie 2016 la 16:13 - Raspunde

    vrei sa merg la ei in cluj sa imi dea in scris acum? etc … eu am platit va aduc dovada factura ca e platit si voi , imi demostrati , ca ati spart parola atat . eu asta am spus si mai sus

Lasa un raspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Vreau să fiu părtaș la faptă. Poți, de asemenea, să fii părtaș și fără martori.

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.