![]() |
Brute-Force suche
Hi,
ich beschäftige mich immer noch mit dem Thema Cryptographie und möchte jetzt gerne wieder ein neues Experiment machen: Ich will einen Brute-Force-Hash-Cracker proggen. Dabei soll man auswählen können, welche Zeichen zur Verwendung kommen sollen (Ziffern, Großbuchstaben, Kleinbuchstaben, Sonderzeichen)... Außerdem soll man festlegen können, bei welcher Länge die Suche beginnen und enden soll! Tja und zuletzt soll dann angezeigt werden, wie viele Kombinationen mit den eingestellten Parametern möglich sind, sodass dann angegeben werden kann, welcher Bereich dieser möglichen Kombinationen getestet werden soll. (z.B.: 1.256.000 -> 1.550.000) Und das ist mein Problem! Ich bräuchte quasi zwei Funktionen: Beide Funktionen bekommen die eingestellen Parameter übergeben (s.o.). Die erste Funktion gibt mir anhand der Parameter an, wie viele Möglichkeiten es gibt. Die zweite Funktion gibt mir anhand der Counternummer (0 bis Result(erste Funktion)) die aktuelle Kombination an. Auf diese Weise kann ich anhand der Nummern auch gleich einen Fortschrittsbalken einbauen ;-) Sowas zu programmieren ist ja nun verdammt aufwendig. Aber da ich nicht der einzige bin, der auf die Idee gekommen ist sowas zu proggen, wird es ja sicherlich irgendwo einen Sourcecode dafür geben ?! Weiß jemand was darüber? MfG, Daniel. |
Re: Brute-Force suche
menge der möglichen Kombinationen müsste sich aus MengeMöglicherZeischen hoch Länge ergeben.
|
Re: Brute-Force suche
hi!
brute-force bei hashwerten ist kaese... unterschiedliche inhalte koennen gleiche hashwerte produzieren - interessant ist nur ob gleiche hashwerte bei vernuenftigem inhalt auftreten... ausserdem: gesetz den fall du hast keinen wirklich tollen cluster zu hause dann kommst aber bei beiden nicht weiter wenn du moderne hashwerte wie z.b. ripemd untersuchen willst... mein literaturtip: reinhard wobst - abenteuer kryptologie isbn 3-8273-1413-5 bzgl. zweiter frage: wenn ich das richtig verstehe, dann brauchst du nur eine umrechnung in ein anderes zahlensystem zu realisieren auf basis der vorhandenen characters. als beispiel - inhalt darf sein 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F - max stellen = 2 dann ist die maximale kombination 16^2-1 also FF und die anzahl der moeglichen kombinationen 16^2 und die moeglichkeit 180 (wenn die erste moeglichkeit die moeglichkeit 0 ist) ist dann: 180 div 16 = 11 = B (180- (180 div 16)*16) = 4 also B4 alles roger? Best_Regards Burning_Chrome |
Re: Brute-Force suche
Dass Brute-Force dabei Käse ist, das ist mir auch klar. Denn 4 Zeichen Länge gehen noch, 5 sind dann schon für einen normalen PC zu viel. Es geht ja darum, dass du auf diese Art und Weise z.B. Kennwörter knacken kannst, die nur als Hash abgespeichert sind. Und da ist es halt so, dass du theorethisch ein weiteres funktionierendes Passwort finden kannst!
Meine eigentliche Frage war ja auch nur, wie ich dieses "Zählen" der Zeichen schaffe. Also: a ... 998 999 aaaa aaab aaac ... aaaz aaa1 aaa2 ... aaa9 aaba aabb ... Verstanden was ich meine? MfG, Daniel. |
Re: Brute-Force suche
sowas hab ich auch schon gecoded... ist ziemlich einfach und funzt auch.. aber schnell ists nicht gerade
das teil kann MD5 hashes bruteforcen mit configurierbarem zeichensatz ist auch erpropt ;) aber ab 5-6 zeichen wirds schon kritisch wie du sagst allerdings kann man sowas auch clusterfähig coden und dann mit verteilter rechenpower einzelne "ranges" bruteforcen n fertiges prog ( hab freeware MD5 hash algo verwendet ) könnte ich anhängen wenn willst mit source |
Re: Brute-Force suche
Zitat:
Hier in der Codelib habe ich schon einen schneller Kombinatorik Algortihmus gepostet. Dieser kann so umgebaut werden das er für diese Zwecke nützlich ist. Ich empfehle aber anders vorzugehen. Dazu benötig man ein Wörterbuch aller interessanten Wörter. Z.b. nutzen wir ca. 5.000 deutsche Worte in unserer Alltagssprache, und laut Pisa Studie wäre das ja schon enorm viel :) Nun nimmt man dieses Wörterbuch und versucht alle Abwandlungen dieses Wortes durchzuprobieren. Z.b. mit allen Geburtstags daties kombiniert. Dies ergibt eine durchaus hohe Wahrscheinlichkeit. Gruß Hagen |
Re: Brute-Force suche
Hi,
ich glaub Sleepymaster wollte sowas auch schonmal machen. Fürs Zeichen durchzählen hab ich ihm einen Array of Char empfohlen, den man beim Programmstart mit Zeichen füllt. Den wiederum kann man dann mit ner normalen For-While-oder Until-Schleife durchgehen, und man bekommt die Zeichen alle nacheinander. Ich wusste nur nicht, wie man das Durchzählen verschachtelt ohne vorher die Zeichenanzahl zu kennen. Aber dafür gibts wohl auch nen Weg. Vielleicht hab ich auch nen schlechteren Ansatz, aber SleepyMasters Prog hat funktioniert... Bis dann, S - tefano |
Re: Brute-Force suche
hi!
@daniel-volk: hab dir doch eh in meinem posting beide routinen erklaert... wenn du mir sagst wo du bei der anwendung obiger ueberlegungen noch probleme hast, dann geh ich gern weiter ins detail... @negaH: a)haben die meisten hash routinen ihre schwachstellen, die sich ausnutzen lassen. ist ungefaehr so wie wenn du die pkzip verschluesselung brute force brechen wolltest... ist einfach nicht notwendig, weil du ein paar bits rechnen kannst - und von da weg nutzen dir obige routinen aber garnix mehr...b) bei 256bit hash werten, und einer durchschnittlichen schluessellaenge von 8 brauchst entweder ein 'paar' rechner oder ein paar paralleluniversen um auch nur eine geringe chance zu haben was zu finden (und da gibts auch keine paare von inhaltlich unterschiedlichen im hash gleichen kombinationen). c) ein woerterbuchangriff ist wenn du ein vernuenftiges userverhalten (das erzwungen werden kann) bei der keyerstellung voraussetzt absoluter unfug. oder hast du wwMSdzzWF22 schonmal in nem woerterbuch gesehen (walle walle manche srecke dass zum zwecke wasser fliesse 2 2)... :hi: Best_Regards Burning_Chrome |
Re: Brute-Force suche
Zitat:
Zu behaupten das heutige Hashfunktionen gebrochen wurden, bzw. eine Hashfunktion überhaupt mit der PKZip "Verschlüsselung" zu vergleichen halte ich für gewagt. 1.) wurden sehr stark abgeschwächte Hashfunktion gebrochen, d.h. es wurden vereinzelte Kollisionen produziert. Dies hat aber keinen Einfluß auf eine Brute Force Suche. 2.) PKZip nutzt eine 3*32 Bit Verschlüsselung die effektiv nur 31 Bit stark ist. Zudem wurde sie als obfuscated Algo. von einem "Amateur" entwickelt und hält keinerlei modernen Kryptoanalyse Verfahren stand. Die heutigen Standard Hashfunktion stehen am ganz anderen Ende der Wurst und sind sehr genau und gut analysiert wurden. Bisher wurden zB. MD4/MD5/SHA/RipeMD/Haval nicht gebrochen. Ok, bei MD4 hat man mit einer sehr stark abgeschwächten Version Kollisionen nachweisen können, die aber mit der Original MD4 Version nicht auftreten. Zitat:
Auch wenn "wwMSdzzWF22" als Passwort erstmal sicher erscheint so ist es um ein vielfaches schlechter als ein echter Haswert mit 128 Bit Entropie. Dieses Passwort käme auf ca. 40 Bit Entropie. Damit ist es 2^88 = 309485009821345068724781056 mal leichter zu finden als ein 128 Bit Hash. Anders ausgedrückt, in der selben Zeit in der man ein 128 Bit Passwort finden kann, hat man schon 309485009821345068724781056 mal das obige Passwort geknackt. Gruß Hagen |
Re: Brute-Force suche
hi!
@negaH: wir haben alle mal rechnen gelernt, trotzdem danke... allerdings sollten wir nun anfangen am lesen zu arbeiten... :roll: @Daniel: brauchst du noch hilfe? wenn ja, sag bescheid... :?: Best_Regards Burning_Chrome |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz