Brute-Force-Angriff

Inhaltsverzeichnis

In diesem Tutorial wird der Brute-Force-Angriff besprochen und einige Tools zur Durchführung dieses Angriffs erwähnt. Zuallererst soll damit gesagt werden, worum es bei Brute Force geht, obwohl man es sich beim Namen schon vorstellen kann.

Es ist eine Technik, die auf Versuch und Irrtum basiert, sie wird verwendet, um Passwörter zu erhalten oder Daten zu entschlüsseln, diese Methode sucht keine intelligente Strategie, sondern testet alle möglichen Kombinationen, bis sie den Schlüssel findet.

Ist es möglich, ein Passwort zu erhalten oder eine Datei zu entschlüsseln? Wenn unsere Zeit wahrscheinlich unendlich wäre, aber da sie es nicht ist, lautet die Antwort nein, Passwörter oder lange Schlüssel und mit verschiedenen Faktoren (Großbuchstaben, Kleinbuchstaben, Zahlen, Sonderzeichen) würden wir lange brauchen, um sie herauszubekommen Methode (in einem Leben werden wir nicht erreicht).

Mit dieser Methode können wir die Sicherheit unserer Passwörter oder Verschlüsselung gegen diese Art von Angriff überprüfen. Wenn du wissen willst So erstellen Sie ein starkes Passwort, empfehle ich, dieses Tutorial zu lesen. Ein anfälliger Verschlüsselungsalgorithmus für diese Art von Angriff ist DES, das Gegenteil ist bei AES der Fall, das nicht anfällig für Brute-Force ist. Es ist am besten, das Gebiet der Kryptographie gut zu verstehen.

Die Welt der Kryptographie

Ein starkes Passwort zu haben ist der erste Schritt, aber Sie können auch eine weitere Schutzebene verwenden, indem Sie die Doppelfaktor-Authentifizierung In Ihren Konten (zumindest die wertvollsten) gibt es heute bereits Dienste, die dies integriert und kostenlos anbieten, wie Google, Twitter und Linkedin. Diese Systeme senden normalerweise eine Nachricht mit einem Code an Ihr Mobiltelefon, sobald Sie das richtige Passwort eingegeben haben, sodass Sie Ihr Konto erst nach Eingabe dieses Codes betreten können.

Vor allem Brute Force wird oft mit Wörterbuchangriffen kombiniertDieser Angriff besteht darin, eine Datei mit typischeren Passwörtern zu haben (die Leute verwenden normalerweise bekannte Wörter für ihre Passwörter, damit sie sie sich besser merken) und sie alle auszuprobieren, bis der Schlüssel gefunden oder die Passwörter ohne Erfolg beendet werden. Der Angriff ist im Allgemeinen effizienter, wenn wir jedoch mehrere Faktoren in unserem Passwort verwenden, sinken die Erfolgschancen erheblich.

Brute-Force-Tools

John der Ripper

Es ist Open Source und kostenlos, Sie finden es normalerweise im Quellcode verteilt und sein Hauptziel ist es, schwache Passwörter in UNIX-Betriebssystemen zu finden.

THC Hydra

Mit diesem Tool können Sie Brute-Force auf Remote-Authentifizierungsdienste anwenden. Sie können Wörterbuchangriffe gegen mehr als 50 Protokolle durchführen.

Qualle

Es ist ein modulares Tool, das parallel zu Brute-Force-Logins funktioniert. Kompatibel mit Protokollen wie FTP, HTTP, IMAP, SSH usw.

Ncrack

Es ist ein Tool zum Knacken von Netzwerkauthentifizierungen, es funktioniert schnell. Sie können das Tool erweitern, indem Sie eigene Module erstellen.

Kain & Abel

Es ist ein Tool zur Wiederherstellung von Passwörtern in Windows, um es zu knacken, können Sie Brute-Force, aber auch Wörterbuchangriffe und Angriffe mit Rainbow Tables (Rainbow Table) verwenden.

Ich werde unten einen Code in Python einfügen, der Passwörter erhält, die nur Zahlen von einer Webseite enthalten, bis zu 5 Ziffern, es könnte auch mit Buchstaben, größerer Länge usw. Zuerst überlasse ich dir die Code, der Post-Anfragen in PHP bedient:

 
Wir sehen, dass wir keine Grenzen für Versuche haben, dass der Benutzer und sein Passwort genau dort definiert sind (um Datenbanken und Komplikationen mit dem Code zu vermeiden), wenn der Benutzer und das Passwort korrekt sind, geben wir einen Code 200 und wenn nicht einen 403 zurück.

Als nächstes lasse ich den Python-Code, der für das Senden von Anfragen an den vorherigen Code verantwortlich ist.

 import http.client, urllib.parsefrom time import target time = "/bruteForce/index.php"headers = {" Content-type ":" application / x-www-form-urlencoded "," Accept ":" application / xhtml + xml, text / html; q = 0.9, text / plain; ",} found = Falsepassword = 0home = time () while password <= 99999 und nicht gefunden: parameters = urllib.parse.urlencode ({'user': ' josue ','pass': password}) connection = http.client.HTTPConnection ("localhost") connection.request ("POST", target, parameters, headers) response = connection.getresponse () if (response.status == 200 ): print ("Passwort gefunden für Benutzer josue, es", Passwort) print ("Es dauerte: {0: .2f} s" .format ((time () - start))) gefunden = True else: print ( Passwort) connection.close () Passwort + = 1wenn nicht gefunden: print ("Kein Passwort für josue gefunden")
Dieser Code macht die Post-Anforderungen, in jedem Durchgang zur Schleife ändern wir nur das Passwort und fügen 1 hinzu, also werden wir alle möglichen Passwörter von 0 bis 99999 ausprobieren (wenn wir es vorher nicht finden). Malen Sie alle Zahlen, die Sie finden, denn so wollte ich es für das Beispiel, Sie können es entfernen, dafür eliminieren Sie das Andere. Lassen Sie uns diesen Code ausführen, um zu sehen, ob er die Passwörter findet.

Das erste Beispiel, das wir starten werden, um das Passwort 2087 zu finden, unten ist das Bild. Sie können sehen, dass ich keine 18 Sekunden brauche, um es zu erhalten.

Wenn ich das else entferne, damit es nicht auf dem Bildschirm malt, dauert jede Zahl viel weniger Zeit, hier sehen Sie einen Screenshot:

Nun zum zweiten und letzten Versuch setze ich das Passwort 20870, um zu sehen, wie lange es diesmal dauert.

Sie können den Unterschied sehen, wenn Sie dem Passwort ein weiteres Zeichen hinzufügen, aber trotzdem ist es eine Zeit, die wir ohne Probleme warten können, auch wenn wir Threads einfügen, würde sich die Zeit verringern. Aus diesem Grund verwenden wir in unseren Anwendungen starke Passwörter und eine robuste Authentifizierung, die diesen Angriff nicht automatisieren können.

Wenn Sie ein praktisches Beispiel sehen möchten, in dem das Passwort einer Zip- oder Rar-Datei gebrochen ist, können Sie das folgende Tutorial besuchen:

.rar- oder .zip-Passwort knacken

Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave