Jump to content

BitMap

Active Members
  • Posts

    209
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by BitMap

  1. 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 incercat si 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 eliminam din 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 anumit pattern ( 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 parolele folosite 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/numere etc, adica au un pattern. Iar generarea combinatiile pentru un anumit pattern poate 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 hash e0db131766c68bdcc8d64d1bb0dbd02b +-------------------------------------------------------------------------------------------+ | Clasicul Bruteforce: +-------------------------------------------------------------------------------------------+ Dupa cum spuneam mai sus, Bruteforce-ul a fost combinat cu Mask Attack, iar asta inseamna ca trebuie 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 de puterea de calcul al procesorului pe care il avem, tipul de hash ce trebuie calculat/lungimea acestuia, sau de cat timp suntem dispusi sa astepatm. +---------------------------------------------+ | #1 ( lowercase alpha ) +---------------------------------------------+ Ca un prim test sa presupunem ca parola noastra ar contine doar caractere lowercase ( 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 --force Prima 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 titlul sectiunii 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 = all Toate 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 gasit Exista 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-uri OBS.!!! [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 aproximativ Acesta nu este tot timpul foarte precis, dar daca dorim se poate calcula folosind viteza si nr. total de combinatii. 1M = 10^6 = 1.000.000 1G = 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.........: Exhausted Timpul 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 include si 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.........: Exhausted Timpul 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 random asa 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 #result Time.Estimated.: ... (5 mins, 16 secs) Status.........: Cracked Timpul este mult, mult mai mic, dar sa evaluam comanda, iar diferentele sunt la 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 pozitii Pentru 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 G Acest 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 ele se 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) # command cudaHashcat-plus64.exe -a 3 -m 0 76a2c5f4297bcabd36dcfc96bbc536c9 -1 ?l -2 ?d ?1?1?1?1?2?2?2?2 -p --show --force #result Time.Estimated.: < 1 sec Status.........: Cracked Fiind timpul mai mic putem incerca si lungimi mai mari, spre exemplu 10 caractere, tot pe acelasi pattern: - vwxyz98765 # command cudaHashcat-plus64.exe -a 3 -m 0 70d07f981b2cfc7e041a4232d226c64e -1 ?l -2 ?d ?1?1?1?1?1?2?2?2?2?2 -p --show --force #result Time.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 fi din 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.
  2. Poate va mai aduceti aminte de acest mic tool, sau poate unii dintre voi chiar il mai aveti pe undeva. Eu l-am gasit mai greu pentru ca uitasem cum se numeste, si m-am gandit sa postez un link cu el, sa fie mai la indemana . Nu am vrut sa postez link catre site-uri cu reclame sau altceva asa ca am facut upload aici. http://www.anonmgur.com/up/7fd900f7c65e07a9f88f1ebea954c92f.bmp Mai trebuie doar schimbata extensia la: .7z si o sa fie ok.
  3. Again, a very nice challenge
  4. Another great challenge.
  5. Mersi
  6. Piece of cake A very very challenging challenge, only thanks to ajkaro. // sorry for the long post
  7. This was a bit weird, but i liked it. Very nice.
  8. Challenges like this don't deserve to stay in the shadow
  9. Frumos challenge
  10. Great Challenge
  11. Thank you.
  12. Salut, bine v-am regasit. Dupa o perioada de inactivitate, am zis ca ar fi cazul sa mai revin si eu, si pentru inceput cel mai bine cred ca ar fi cu un challenge, poate un tutorial, ceva mai marunt. ON topic: Nu cred ca este exact la ce te asteptai, dar mersi pentru challenge.
  13. BitMap

    Salutare

    Bun venit. O mica observatie si nu din rautate sau altceva, dar cred ca era mai de apreaciat daca ne spuneai un pic mai exact despre domeniul/domeniile despre care ai ceva cunostiinte. Nu trebuie sa ai cunostiinte de hacking ca sa poti extrage ceva dintr-o baza de date, eu cred ca iti trebuie o carte de SQL sau de care e, sa o stii bine si lucrurile vor decurge de la sine. Daca cineva in tutorialul de hacking a pus in URL: id=3+AND+1=2 si eu pun id=3+AND+12=21 oare mai merge? Oricum, succes
  14. BitMap

    Salut

    Bun venit si succes. Stai linistit cu privire la una numit limbaj de programare, ca sunt multe, unele apar, altele sunt lasate in urma, nu asta conteaza. Daca te-ai invatat cu modul de gandire/lucru (ca programator) o sa reusesti sa treci la orice alt limbaj sau nivel, sintaxa se invata, si daca nu stii exact cum e cu o functie/clasa sau ce o fi (nu le poti stii pe de rost, sunt enorm de multe si apar mereu altele noi) mare lucru, o cauti pe google si vezi parametri/tip/etc.
  15. Salut, bine ai venit si spor la treaba
  16. BitMap

    Salut RST

    Fiind nou pe acest forum, vreau sa va transmit in primul rand salutari tururor, si am zis ca ar fi normal sa postez si eu o mica 'descriere' pentru inceput, apoi mai vedem. Sper sa nu lungesc prea mult,ca nu vreau sa supar pe nimeni,mai ales din prima zi Cum am aflat de voi?, pot sa spun ca din intamplare, cautand un loc unde se discuta diverse probleme, teme pe domeniu. Ca si cunostiinte, poate ca si majoritetea am inceput pe la scoala cu C/C++/JAVA si baze de date la un nivel mediu sa zic asa, ca asta e, unde nu stii mai cauti. Momentan sunt inscris si la cisco, pt. ca as vrea sa merg si pe partea de networking daca nu gasesc altceva. Cam ce m-ar interesa pe mine mai mult, ar fi cam orice legat de baze de date/network si in rest sunt deschis la orice. Nu trebuie sa le stim pe toate si nici nu avem cum, de aia ne ajutam unii pe altii si de aia trebuie sa invatam sa cautam singuri ceea ce dorim. O zi placuta
×
×
  • Create New...