Ma_Sys.ma Brute Force Programme

Repository

Dieses Repository enthält alle Versionen der Programme, standardmäßig wird im JAR file aber nur die neuste Version (3) integriert. Kompilieren erfolgt durch Eingabe von ant.

Beschreibung

Der Versionssprung kam dadurch zu Stande, dass der Quelltext von Broute Force 1.1 BrouteForce2.java hieß. Deshalb wurde diese Version BrouteForce3.java genannt, weshalb auch in der Versionsangabe „Version 3.0“ steht.

Anstatt einer kompletten Neuentwicklung handelt es sich um eine Weiterentwicklung des alten Konzeptes, dass man ein Array verwendet, um eine Kombination abzubilden, die dann erst in eine Zeichenkette konvertiert wird.

Als Neuerung enthält das Programm jetzt eine dedizierte Benchmark-Funktion und verzichtet auf Optionen wie das Schreiben der Ausgabe in eine Datei. Es gibt ein Diagramm, welches anders als beim alten ComputerInfo auch unter Windows funktionieren sollte.

Um die Betriebssystemkompatibilität noch weiter voranzutreiben, gibt es in dieser Version auch keine weiße Statuszeile mehr, sondern diese wird nicht mehr vom Hintergrund hervorgehoben.

Außerdem wurde die Suchweise des Programmes geändert: Man kann neuerdings MD5-Summen „cracken“. Das geht im Test bei bis zu fünf Zeichen relativ schnell. Andererseits wurde auch das Verteilen auf mehrere Kerne optimiert. Jeder Thread hat seine eigene Zählvariable, wordurch die Genauigkeit der Geschwindigkeitsmessung deutlich stieg, weshalb die Vorversionen auch nicht zur Geschwindigkeitsmessung zu empfehlen sind.

Man muss jetzt keine Passwortlänge mehr angeben, das Programm versucht einfach alle Passwörter (angefangen von nur ein Zeichen Länge immer weiter) und bricht erst beim Ergebnis ab. Dadurch wurde auch das System geändert, nach dem die Threads arbeiteten: Vorher war ein Thread jeweils für einen Teilbereich zuständig (bei Buchstaben von a bis z waren daher maximal 26 Kerne auslastbar). Mit dem neuen Programm werden unterschiedliche Passwortlängen auf die Kerne verteilt. Immer wenn einer der Threads fertig ist, holt er sich bei der Hauptklasse eine neue Passwortlänge, die er in Angriff nimmt. Dadurch fängt das Programm bei vier Kernen an, gleichzeitig nach Passwörtern mit einem, zwei, drei und vier Zeichen zu suchen. Alle diese Threads sind schnell fertig und der erste (der Passwörter mit nur einem Zeichen gesucht hat) bekommt die „fünfstelligen“ Passwörter zugewiesen.

Der Nachteil dieser Idee ist natürlich, dass wenn das Programm auf z.B. 32 Kernen rechnet, ein Thread von vorn herein mit dem Suchen von 32-stelligen Passwörtern beschäftigt ist. Dadurch, dass die wenigsten Nutzer solch lange Passwörter benutzen, ist dies wohl in den meisten Fällen Rechenzeitverschwendung. Andererseits ist das Programm aber nicht hauptsächlich für das Knacken von Passwörtern sondern viel mehr für Benchmarks und Tests zuständig, weshalb man bspw. bei dieser Version das Alphabet nicht mehr ändern kann. Der Nutzen, extrem kurze Passwörter (bspw vier oder fünfstellig) vollständig abzusuchen, kann aber immernoch helfen, um plakativ zu zeigen, warum man beim Speichern von Passwörtern nicht einfach nur MD5(PASSWORT) rechnet.

Beispielausgabe

~$ bruteforce3 --md5 testx
Broute Force 3.0, Copyright (c) 2012 Ma_Sys.ma.
For further info send an e-mail to Ma_Sys.ma@web.de.

259aa0dd6cd9465e193e753c6dcf38c4

~$ bruteforce3 --crack 259aa0dd6cd9465e193e753c6dcf38c4
Broute Force 3.0, Copyright (c) 2012 Ma_Sys.ma.
For further info send an e-mail to Ma_Sys.ma@web.de.

Trying to crack 259aa0dd6cd9465e193e753c6dcf38c4...
Using 8 Threads to search.
Creating and starting threads...

STATUS speed=11646640/s strlen=13
Combination found:  testx
Status Display Thread interrupted.

Statistics
    Time:                823484 ms.
    Combinations total:  9433326460
    Avg Combinations/ms: 11455
    Strlen:              20
    Fully searched:      5
    Max Combinations/ms  14165

 _____#________________________________________________________________________
 _____#________________________________________________________________________
 ____##___________________#____________________________________________________
 #######################_############_#_#_#####_###########_######__###########
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################
 ##############################################################################

Press enter to exit...

~$

Beschreibung Bruteforce 1

In der ersten Version konnte ein „Alphabet“ ausgewählt werden (z.B. A-Z, 1-F, ö.Ä.), um anzugeben, welche Zeichen durchprobiert werden sollten. Außerdem zeigte das Programm unter Linux den Fortschritt in einer weißen Zeile an.

Brute Force 1 unter Linux

Brute Force 1 unter Linux


Ma_Sys.ma Website 5 (1.0.0) – no Flash, no JavaScript, no Webfont, no Copy Protection, no Mobile First. No bullshit. No GUI needed. Works with any browser.

Created: 2019/12/11 13:18:01 | Revised: 2020/02/17 23:58:50 | Tags: bruteforce, brouteforce, benchmark | SRC (Pandoc MD) | GPL

Copyright (c) 2014, 2019 Ma_Sys.ma. For further info send an e-mail to Ma_Sys.ma@web.de.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.