BruteLoops
Eine extrem einfache Bibliothek, die die grundlegende Logik für effiziente Passwort-Brute-Force-Angriffe auf Authentifizierungsschnittstellen bereitstellt.
Dokumentation
Dokumentation finden Sie hier.
Falls Sie nach den alten Beispielmodulen suchen...
Siehe BFG.
Die Beispiele wurden in ein separates Projekt ausgelagert, um Code- und Paketierungsprobleme zu minimieren. Datenbank- und Angriffsfunktionen wurden ebenfalls in einer einzigen Binärdatei zusammengeführt.
Hauptfunktionen
- Protokollagnostisch – Wenn ein Callback in Python geschrieben werden kann, kann BruteLoops verwendet werden, um es anzugreifen.
- SQLite-Unterstützung – Alle Benutzernamen, Passwörter und Anmeldedaten werden in einer SQLite-Datenbank gespeichert.
- Ein Begleitprogramm (
dbmanager.py), das Eingabedatenbanken erstellt und verwaltet, wird mit BruteLoops ausgeliefert.
- Spray- und Stuffing-Angriffe in einem Werkzeug – BruteLoops unterstützt sowohl Spray- als auch Stuffing-Angriffe in derselben Angriffslogik und Datenbank, was bedeutet, dass Sie eine einzelne Datenbank konfigurieren und den Angriff ohne umfangreiche Neukonfiguration und Verwirrung ausführen können.
- Timing von Rateversuchen – Jeder Benutzername in der SQLite-Datenbank wird mit einem Zeitstempel konfiguriert, der nach jedem Authentifizierungsereignis aktualisiert wird. Dies bedeutet, dass wir die Wahrscheinlichkeit einer Kontosperrung erheblich reduzieren können, indem wir jedes Authentifizierungsereignis präzise planen.
- Feinkörnige Konfigurierbarkeit zur Vermeidung von Sperrereignissen – Microsofts Sperrrichtlinien können eins zu eins mit BruteLoops-Parametern abgeglichen werden:
auth_threshold = Lockout Threshold
max_auth_jitter = Lockout Observation Window
- Die mit jedem Authentifizierungsereignis verbundenen Zeitstempel werden in der SQLite-Datenbank von BruteLoops verfolgt. Jeder Benutzername erhält einen eigenen Zeitstempel, um sicherzustellen, dass Authentifizierungsereignisse streng kontrolliert werden.
- Wiederaufnahme von Angriffen – Das Anhalten und Fortsetzen eines Angriffs ist möglich, ohne sich Gedanken über den Verlust des Fortschritts oder die Sperrung von Konten machen zu müssen.
- Multiprocessing – Beschleunigen Sie Angriffe mit Multiprocessing! Durch die Konfiguration der Anzahl paralleler Rateversuche teilen Sie BruteLoops effektiv mit, wie viele Benutzernamen parallel erraten werden sollen.
- Protokollierung – Jedes Authentifizierungsereignis kann optional auf der Festplatte protokolliert werden. Diese Informationen können während Red Teams nützlich sein, indem sie Kunden eine detaillierte Angriffszeitachse bereitstellen, die mit protokollierten Ereignissen verknüpft werden kann.
- Unterbrecher – Unterbrecher verhalten sich wie Schutzschalter. Eine Ausnahme kann x-mal ausgelöst werden, bevor die Angriffsschleife beendet wird. Sie können auch nach einer bestimmten Zeitspanne zurückgesetzt werden, was Konfigurationen wie 'Beenden nach 6 ConnectionErrors' ermöglicht.
Abhängigkeiten
BruteLoops erfordert Python 3.7 oder neuer und SQLAlchemy 1.3.0, letzteres kann über pip und die Datei requirements.txt in diesem Repository bezogen werden: python3.7 -m pip install -r requirements.txt
Installation
git clone https://github.com/arch4ngel/bruteloops
cd bruteloops
python3 -m pip install -r requirements.txt