malsploit Posted May 11, 2011 Report Posted May 11, 2011 (edited) Stiu ca pare o prostie, dar poate iesi ceva frumos:programatorii din toate epocile rst sa-si bata capurile(impropriu spus) si sa dea viata digitala unui program capabil de a ne face tuturor viata(digitala) mai usoara.Acest program trebuie sa aiba 2 parti: o parte de tip server detinuta de un admin dupa forum ,sau de begood.A doua parte de tip client instalata pe pc-urile noastre.Ar trebui scris intr-un limbaj independent de sistemul de operare(python sau java).Programul trebuie sa decripteze parolele introduse la server(comandat prin http)folosindu-se de puterea calculatoarelor userilor pe care sunt instalate clienti serverului.Partea grea este impartirea sarcinilor intre pc-uri. Edited May 11, 2011 by hate.me Quote
ripoff Posted May 11, 2011 Report Posted May 11, 2011 este o idee usor absurda.cine crezi ca o sa-l tina sa-i haleasca din resurse pentru ceilalti?Doar cand ar avea nevoie l-ar folosi. Quote
malsploit Posted May 11, 2011 Author Report Posted May 11, 2011 (edited) @nullbyte In lini mari da.Daca instalam 1000 de useri programul,puterea de procesare va fi maricica. @ripoff daca programul este scris bine nici nu o sa se simta. Edited May 11, 2011 by hate.me Quote
nedo Posted May 12, 2011 Report Posted May 12, 2011 (edited) Eu spun ca ar fi posibil ceva de genul. Eu nu am un calculator foarte stralucit, 1 gb ram, p4 d805 stock, si rulam john the ripper si ma jucam diferite chestii fara probleme. Se poate face altfel insa. Se poate face o astfel de aplicatie pe post de screen saver, cand calculatorul nu este folosit screen saverul face treaba asta. Asa ceva s-a facut acum vreo 8-9 ani intr-o incercare de a creea un vaccin pentru hiv.Le: Daca e vorba de facut ceva in c++ poate pot ajuta si eu, desii cunostiintele mele sunt limitate cel mult, chestiile simplute cred ca le pot face si eu Edited May 12, 2011 by nedo Quote
hammerfall Posted May 12, 2011 Report Posted May 12, 2011 Se poate rezolva problema cu "marlania" folosind un sistem de rationare. Spargi o parola, trebuie sa tii 10 ore programul deschis. Daca nu, nu o poti sparge pe a doua.Imi place ideea, insa din pacate eu sunt incepator in domeniul software development. Daca pot ajuta cu ceva, in partea de Linux, unde am ceva cunostinte (am auzit de el ) o sa ajut cu mare placere comunitatea, mai ales daca e ceva care sa ma puna sa-mi storc creierul. Quote
Nytro Posted May 12, 2011 Report Posted May 12, 2011 Sa decripteze sau sa crack-uiasca hash-uri ca md5? Quote
nedo Posted May 12, 2011 Report Posted May 12, 2011 Dap, cam la asta s-a gandit, cred eu. Poate fi folosita sursa de la john the ripper nu? Problema la un astfel de program este cum ai grija ca nici unul din clienti sa nu incerce acelasi hash pentru aceeasi parola. Quote
Nytro Posted May 12, 2011 Report Posted May 12, 2011 Da, e interesanta ideea. Dar proiectul in sine ar fi destul de complicat. Trebuie selectate elegant calculatoarele care vor crackui md5-urile (initial ar fi de ajuns), trebuie luate in considerare toate posibilitatile: daca un calculator trebuie sa faca 1.000.000 de incercari si face decat una? Daca se intrerupe conexiunea apoi revine? Ar fi ceva de munca. Quote
sado Posted May 12, 2011 Report Posted May 12, 2011 E ceva de genu Boinc...Nu e ceva extrem de complicat dar necesita experienta...Mai este problema unui sistem care sa foloseasca cu cap resursele , nu sa iesi din screen si sa trebuiasca sa dai restart la pc ca nu mai merge sau chestii de genu pe care le intampini in mare parte la boinc... Quote
hammerfall Posted May 12, 2011 Report Posted May 12, 2011 Pai ar fi indicat ca fiecare client, dupa 100 de combinatii nereusite, sa trimita un raspuns la server, apoi sa treaca la urmatoarele 100. Serverul sa distribuie combinatiile intre clienti, in asa fel incat, daca un client nu raspunde in intervalul X, serverul il considera "picat" si atribuie sarcina unui alt client.Ar fi o metoda misto sa si stocam toate hash-urile in baza de date, astfel la urmatoarea spargere, avem deja o parte "traduse". Dar aici intervine problema cu traficul prea mare dintre server si client. Plus si load mare atat pe server, cat si pe client. Quote
nedo Posted May 13, 2011 Report Posted May 13, 2011 In priviinta controlului aplicatiei cred ca e o idee mai buna sa generam codul secvential. Nu avem cum sa tinem toate hash-urile pe care le genereaza clientii, ar fi nevoie de zeci sau chiar sute de gb de spatiu. Este mult mai simplu sa secventiem codurile. Sa zicem ca avem un hash doar din cifre si litere lower case. Serverul doar noteaza ce secventa de cod v-a verifica fiecare client. Sa zicem primul client incepe cu aaaaaa pana la aaazzz, clientul trecand prin secvente de genul: aaaaaa, aaaaab, aaaaac, aaaaad... aaaaaz, aaaaa0 ... aaaaa9, aaaaba, si asa mai departe, urmatorul client are de la aabaaa pana la urmatoarea secventa. In felul acesta e mai usor sa tine cont care client face ce anume. In plus in felul acesta avem un trafic mai mic, deoarece clientii nu se conecteaza la server decat pentru a recupera urmatoarea secventa sau pentru a incarca rezultatul daca unul din clienti a reusit sa nimereasca hash-ul. Din cate imi aduc aminte john the ripper ia codurile la intamplare, nu le ia secvential. Quote
hammerfall Posted May 13, 2011 Report Posted May 13, 2011 Eu m-am referit in felul urmator... Putem face un script care in foarte scurt timp, ar genera toate variantele de combinatii md5. Un script, care sa ia fiecare combinatie, de la 00000000000000000000000000000000 pana la ffffffffffffffffffffffffffffffff si sa o stocheze intr-o baza de date. Apoi, pe baza clientilor ce decripteaza hash-urile, introducem in baza de date: 'abc' intra la 900150983cd24fb0d6963f7d28e17f72. Apoi, cand ai o parola criptata cu md5 si are forma 900150983cd24fb0d6963f7d28e17f72, vei sti ca este vorba despre 'abc'. Nu o vei sparge si a doua oara.De exemplu luam parola "qwerty" care se cripteaza in "d8578edf8458ce06fbc5bb76a58c5ca4". Clientii trec prin toate combinatiile, pana ajung la "qwerty", combinatia valida, care e salvata in baza de date. Apoi, luam codul "4b52c4432016b039d50db27fe4c727b2" care este criptarea lui "qwerta", cod prin care tocmai am trecut, dar nu l-am salvat pentru ca nu era cel pe care-l cautam.Poate ocupam mult spatiu si facem mult trafic, dar salvand fiecare combinatie md5 si valorile ei posibile, nu vom fi nevoiti sa decriptam de doua sau mai multe ori parole similare.Eu nu ma pricep foarte bine la baze de date, deci nu stiu ce sistem ar trebui folosit, pentru a fi cat mai usor si rapid de accesat de catre clienti, deci cu un load cat mai mic. Ca limbaj de programare, cred ca C++ ar fi cel mai indicat. Corectati-ma daca gresesc. Quote
nedo Posted May 13, 2011 Report Posted May 13, 2011 (edited) Din pacate ceea ce sugerezi tu hammerfall nu este practic. Uita-te la Rainbow Tables de la ophcrack si ai sa vezi cat de mari sunt unele, alea deja contin ceea ce spui tu. Problema e ca asa ceva ocupa foarte mult loc. Uita-te la cat ocupa pentru ntlm cu charset 0-9, a-z, A-Z, si "!@#$%^&*()" . Chestia asta ocupa aproximativ 30 gb. Si nu contine absolut toate posibilitatile. De aia am propus acea parte secventiala, deoarece este impractic sa creezi toate hasurile posibile. Poti face treaba asta cu cain sau cu john the ripper, si iti v-a genera toate hash-urile cu un anumit char set, dar sper sa ai un hdd ce 1 tb ca sa poti stoca toate hashurile.Totusi poate ceva intermediar se poate face. Poate putem genera un wordlist mai mare care sa fie tinut pe server, un fisier de cel mult 3-5 gb. Edited May 13, 2011 by nedo Quote
ripoff Posted May 13, 2011 Report Posted May 13, 2011 la ce iti trebuie sa generezi toate hashurile posibile "de la 00000000000000000000000000000000 pana la ffffffffffffffffffffffffffffffff " eu nu inteleg.Majoritatea parolelor sunt de cel mult 15 caractere si contin cuvinte sau nume uzuale ,sunt multe baze de date pentru hashuri ,trebuie doar sa venim fiecare cu ce are sa le combinam.Inceputul e greu la noi Quote
nedo Posted May 13, 2011 Report Posted May 13, 2011 Nu numai ca nu ai cum sa generezi toate hash-urile posibile(ar dura zeci de ani sa le generezi pe toate, nu ai unde sa le stochezi, este nevoie de TB, sau chiar PB de spatiu, nu cred ca se gasesc destui oameni sa puna atat de mult spatiu la dispozitie 24/7. Quote
hammerfall Posted May 13, 2011 Report Posted May 13, 2011 Avand in vedere ca parolele nu pot fi mai scurte de 4 caractere (in general chiar 6 sau 8) si mai lungi de 32 majoritatea, cred ca ne usureaza mult munca.Eu unul tind sa cred ca metoda perfecta ramane social engineering. Nu exista nici un firewall pentru prostia umana Quote