BitMap Posted September 28, 2013 Report Posted September 28, 2013 Cred ca majoritatea dintre voi ati folosit un astfel de program ( nu neaparat acesta,sau aceasta metoda ), sau macar ati citit despre el si de aceea sper sa nu ma repet.De ce hashcat ?Poate din curiozitate, mai multe optiuni ( din care am folosit doar 10% cred ),multe tipuri de hash-uri suportate, la fel si modele de gpu. De incercat am mai incercatsi ighashgpu, de care am fost la fel de multumit, la nivelul la care l-am folosit.De ce Bruteforce ?Nu am multa experienta pe, partea de 'password cracking', dar cred ca pentru a sparge o parola(hash) trebuie sa incerci cam de toate, sau macar cate putin din toate.Chiar si asa exista o sansa mare sa nu reusim nimic, dar incercand macar mai eliminamdin posibilitati. Iar Bruteforce-ul elimina sigur o parte din ele.Si atunci ce este Mask Attack?Cei de la hahscat au combinat cele doua metode pentru a forma una singura. De ce?Pentru ca ele au multe in comun.Mask Attack, la fel ca Bruteforce genereaza toate combinatiile posibile, dar pentru un anumitpattern ( mask ). Cu totii stim ca generarea acestora poate dura foarte mult,in functie de numarule de caractere sau lungime, dar, din experienta stim ca nu toate parolelefolosite de noi oamenii sunt random, ex: A%2/.dTs+1-2(*+6.Ele de obicei au o semnificatie sau contin secvente mici din diferite semnificatii/cuvinte/numereetc, adica au un pattern. Iar generarea combinatiile pentru un anumit patternpoate dura mult mai putin, deoarece nu trebuie sa le generam pe toate.Ca exemplu am ales un hash MD5, despre care presupunem ca nu stim nimic:# target hashe0db131766c68bdcc8d64d1bb0dbd02b+-------------------------------------------------------------------------------------------+| Clasicul Bruteforce:+-------------------------------------------------------------------------------------------+Dupa cum spuneam mai sus, Bruteforce-ul a fost combinat cu Mask Attack, iar asta inseamna catrebuie sa folosim tot un pattern, dar acesta va fi unul care va genera toate combinatiile.Toti acesti pasi care urmeaza trebuie facuti prin incercari si modificati in functie deputerea de calcul al procesorului pe care il avem, tipul de hash ce trebuie calculat/lungimeaacestuia, sau de cat timp suntem dispusi sa astepatm.+---------------------------------------------+| #1 ( lowercase alpha )+---------------------------------------------+Ca un prim test sa presupunem ca parola noastra ar contine doar caracterelowercase ( a-z ) de lungime 8# command:cudaHashcat-plus64.exe -a 3 -m 0 e0db131766c68bdcc8d64d1bb0dbd02b-1 ?l ?1?1?1?1?1?1?1?1 -p --show --forcePrima data vedem ce parametrii contine comanda, iar apoi vedem si rezultatul.La capitolul parametrii cel mai bun prieten este help-ul: ( cudaHashcat-plus64.exe --help ),iar pentru a nu lungi tutorialul si mai mult prin copy/paste am sa includ doar titlulsectiunii din help pentru mai multe informatii despre parametrii.[1] -a 3 : reprezinta tipul atacului, si anume bruteforce. Altele: --help * Attack modes:...[2] -m 0 : reprezinta tipul hash-ului, si anume md5. Altele: --help * Generic hash types:...[3] hash-ul[4] -1 ?l : reprezinta charset-ul cu nr.1, adica ce caractere dorim sa folosim( am spus nr.1, pentru ca putem avea mai multe, dar vom discuta mai tarziu ), si avem asa:?l = lowercase [a-z]?u = uppercase [A-Z]?d = digit [0-9]?s = symbol [space!”#$%&'()*+,-./:;??@[\]^_`{|}~]?a = allToate acestea se pot concatena pentru a rezulta un charset custom,spre exemplu:- ?a se poate rescrie si ca ?l?u?d?s[5] ?1?1?1?1?1?1?1?1 : reprezinta lungimea primului charset ( ?charset_nr de n ori)[6] -p --show : va afisa rezultatul la consola daca hash-ul a fost gasitExista si posibilitatea de a citi hash-urile din fisiere, sau de a scrie rezultatele in fisiere,dar deocamdata ramanem la consola.[7] -- force : ignora unele warning-uriOBS.!!![1] In consola litera 'l' si cifra '1' se pot confunda usor.[2] Exista o legatura intre numarul charset-ului si lungime lui.Ex:- pentru charsetul nr.2: -2 ?l- lungimea de 8 caractere va fi: ?2?2?2?2?2?2?2?2# result:Daca nu exista erori, ar trebui sa avem un rezultat asemanator:Jos exista un mic meniu ce il putem folosi pentru a vedea din cand in cand progresul,sau pentru a opri procesul daca nu are rost.Exista multa informatie in output, dar ceea ce ne intereseaza deocamdata este:- Status.........: Cracked/Exhausted( daca nu a fost gasit hahs-ul )- Time.Estimated.: un timp aproximativAcesta nu este tot timpul foarte precis, dar daca dorim se poate calculafolosind viteza si nr. total de combinatii.1M = 10^6 = 1.000.0001G = 10^9 = 1.000.000.000- Speed.GPU.#1...: viteza de calcul al hash-ului- Progress.......: cate combinatii au fost calculate/cate sunt in total- HWMon.GPU.#1...: un hardware monitor minimal, daca nu aveti deja altul pe care sa il folositi.Parola nu a fost gasita, daca dorim mai putem incerca acelasi charset,dar cu o lungime mai mare si sa vedem ce rezultate avem si daca merita sau nu:- 9 caractere: ?1?1?1?1?1?1?1?1?1 : Time.Estimated.: ... (1 hour, 24 mins)- 10 caractere: ?1?1?1?1?1?1?1?1?1?1 : Time.Estimated.: ... (1 day, 13 hours)+---------------------------------------------+| #2 ( digit )+---------------------------------------------+La fel putem incerca sa schimbam charset-ul si sa folosim doar caractere numerice,fiind doar 10 caractere putem compensa prin a creste lungimea, deocamdata la 12.# command:cudaHashcat-plus64.exe -a 3 -m 0 e0db131766c68bdcc8d64d1bb0dbd02b-1 ?d ?1?1?1?1?1?1?1?1?1?1?1?1 -p --show --force# result:Time.Estimated.: ... (15 mins, 39 secs) : chiar daca durata nu este foarte mare,nu cred ca are rost sa mai continuam daca parola nu a fost gasita.Status.........: Exhausted+---------------------------------------------+| #3 ( lowercase aplha + digit )+---------------------------------------------+La acest test vom incerca o combinatie intre primele doua, modificand charset-ul la: ?l?d.Lungimea charset-ului va creste, deci si timpul, asa ca vom incepe cu lungimea de 8 caractere.# command:cudaHashcat-plus64.exe -a 3 -m 0 e0db131766c68bdcc8d64d1bb0dbd02b-1 ?l?d ?1?1?1?1?1?1?1?1 -p --show --force# result:Time.Estimated.: ... (45 mins, 52 secs)Status.........: ExhaustedTimpul pentru o lungime mai mare:- 9 caractere: Time.Estimated.: ... (1 day, 2 hours)- 10 caractere: Time.Estimated.: ... (39 days, 23 hours)+---------------------------------------------+| #4 ( lowercase/uppercase alpha + digit )+---------------------------------------------+Un ultim test pe care il mai incercam va fi acela prin care vom includesi caractere uppercase ( A-Z ).Fiindca charset-ul aproape s-a dublat ne limitam la o lungime de 7 caractere.# command:cudaHashcat-plus64.exe -a 3 -m 0 e0db131766c68bdcc8d64d1bb0dbd02b-1 ?l?u?d ?1?1?1?1?1?1?1?1 -p --show --force# result:Time.Estimated.: ... (47 mins, 1 sec)Status.........: ExhaustedTimpul pentru o lungime mai mare:- 8 caractere: Time.Estimated.: ... (1 day, 22 hours)Chiar daca rezultatele sunt foarte bune, modificarile pe care le putem face sunt putine,iar timpul creste foarte mult pentru fiecare.Dar folosirea acelui pattern ne permite o flexibilitate mult mai mare,ceea ce inseamna ca putem face mai multe teste diferite intr-un timp mai scurt.+-------------------------------------------------------------------------------------------+| Mask Attack: +-------------------------------------------------------------------------------------------+Dupa cum spuneam mai la inceput, nu toate parolele sunt alese randomasa ca ne putem gandi la cateva pattern-uri posibile, sau folosite mai des.+----+| #1 |+----+Unele parole pot contine diferite cuvinte/nume la care doar prima litera ar putea fi uppercase:- Abcdwxyz: 8 caractere [a-z|A-Z], folosind Bruteforce: Time.Estimated.: ... (11 hours, 26 mins)# command:cudaHashcat-plus64.exe -a 3 -m 0 8050823581961426150c6a9e170e1338-1 ?l?u -2 ?l ?1?2?2?2?2?2?2?2 -p --show --force#resultTime.Estimated.: ... (5 mins, 16 secs)Status.........: CrackedTimpul este mult, mult mai mic, dar sa evaluam comanda, iar diferentele suntla charset si lungime.Tot mai sus undeva spuneam ca putem avea mai multe charset-uri, si ca o sa le folosim mai tarziu,adica aici.De ce? Pentru a putea aplica cate unul pentru o portiune din lungimea parolei,si nu toata.- primul charset contine [a-z|A-Z] ( ?l?u ), un spatiu destul de mare,dar l-am aplicat doar pentru prima pozitie- al doilea contine doar lowercase, pentru celelalte 7 pozitiiPentru a vedea mai bine diferenta am putea face un mic calcul.- numarul total de combinatii se calculeaza ca: nr_total_caractere^lungime_parola- in cazul nostru, pentru bruteforce este 52^8 ( 26 lowercase + 26 uppercase),care pentru simplitate il aprox. ca 53459 G- aplicand acel pattern care care foloseste uppercase doar pentru prima pozitie,calculul devine: 52^1 ([a-z|A-Z] lung. 1) * 26^7 ([a-z] lung. 7) care este aprox. 417 GAcest tip de parola ar putea parea simplu, dar timpul fiind mic putem creste lungimea,iar atunci acest pattern ar putea avea succes in unele situatii.Timpul pentru o lungime mai mare:- 9 caractere: Time.Estimated.: ... (2 hours, 49 mins)+----+| #2 |+----+Un alt tip de pattern poate fi alcatuit din litere si cifre, raportul dintre elese poate face dupa orice regula, eu am ales 50/50:- wxyz6789 : 8 caractere [a-z|0-9], folosind Bruteforce: Time.Estimated.: ... (36 mins, 44 secs)# commandcudaHashcat-plus64.exe -a 3 -m 0 76a2c5f4297bcabd36dcfc96bbc536c9-1 ?l -2 ?d ?1?1?1?1?2?2?2?2 -p --show --force#resultTime.Estimated.: < 1 secStatus.........: CrackedFiind timpul mai mic putem incerca si lungimi mai mari, spre exemplu 10 caractere,tot pe acelasi pattern:- vwxyz98765# commandcudaHashcat-plus64.exe -a 3 -m 0 70d07f981b2cfc7e041a4232d226c64e-1 ?l -2 ?d ?1?1?1?1?1?2?2?2?2?2 -p --show --force#resultTime.Estimated.: ... (19 mins, 8 secs)Status.........: Cracked+----+| #3 |+----+Se pot face multe combinatii de charset-uri, dupa orice pattern, cateva ar mai putea fi:+-------------------------------------------------------------------------------------------+| - lungime 8, primele caractere 'year19', 2 numere. keyspace: year1900 - year1999|| # command| cudaHashcat-plus64.exe -a 3 -m 0 hash -1 ?d year19?1?1 -p --show --force+-------------------------------------------------------------------------------------------+| - lungime 7, primele 2 caractere din intervalul 'MBCJTSARGHVZI', simbolul '-', doua numere,| simbolul '-', trei caractere uppercase. keyspace: AA-00-AAA - ZZ-99-ZZZ|| # command| cudaHashcat-plus64.exe -a 3 -m 0 hash-1 MBCJTSARGHVZI -2 ?d -3 ?u ?1?1-?2?2-?3?3?3 -p --show --force+-------------------------------------------------------------------------------------------+| - lungime 9, 4 caractere, 1 simbol, 4 numere. keyspace: aaaaSpace0000 - zzzz~9999|| # command| cudaHashcat-plus64.exe -a 3 -m 0 hash -1 ?l -2 ?s -3 ?d ?1?1?1?1?2?3?3?3?3 -p --show --force+-------------------------------------------------------------------------------------------+A venit si timpul sa incercam aceasta metoda si pe vechiul nostru hash.- pattern-ul pe care il vom folosi contine elemente din exemplele de mai sus, si anume:- lungime 9, 5 caractere, simbolul '-', 3 caractere, dar toate caracterele vor fidin intervalul 'youlearnedtohack'.# command//// Daca ati inteles cate ceva din acest tutorial, atunci inseamna ca nu a fost scris in zadar.// Rezultatul l-am lasat pe mana voastra iar daca aveti timp si vreti sa incercati,// lasati un reply cu un screenshot la rezultat daca se poate.// Nu ar trebui sa dureze mult, pentru ca asa am incercat sa il fac,// dar daca vedeti ca dureaza, nu forjati pc-ul din cauza mea.Bineinteles, orice parere, buna/rea sau orice adaugare/corectare sunt bine venite. 1 Quote
relaxlike Posted February 1, 2014 Report Posted February 1, 2014 Ce este asta ? (fara raspunsuri sarcastice daca se poate) Quote
erictor233 Posted January 18, 2021 Report Posted January 18, 2021 On 2/1/2014 at 2:04 AM, relaxlike said: Ce este asta ? (fara raspunsuri sarcastice daca se poate) Un tool pentru hacking. Il gasesti in special pe kali linux (sistem de operare). Sper ca am fost de ajutor. Quote