Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/lakiw/pcfg_cracker
Passwort-CrackingPasswortangriffeKryptographieMaschinelles Lernen
GitHublakiw/pcfg_cracker

pcfg_cracker

Probabilistische Kontextfreie Grammatik (PCFG) Passwort-Rate-Generator

Repository anzeigen
3708720vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PCFG = Probabilistische Kontextfreie Grammatik

PCFG = Ziemlich cooler Fuzzy-Rater

Kurz gesagt: Eine Sammlung von Werkzeugen zur Erforschung, wie Menschen Passwörter generieren. Diese können zum Knacken von Passwort-Hashes verwendet werden, aber auch zur Erstellung synthetischer Passwörter (Honeywords) oder zur Entwicklung besserer Passwortstärke-Algorithmen.

Werkzeugversionen

Trainer: 4.4

Guesser: 4.6

PRINCE_LING: 4.3

Password_Scorer: 4.4

Dokumentation

Sphinx wird verwendet, um dynamisch ein Entwicklerhandbuch basierend auf Docstrings im Code zu erstellen. Informationen zum Erstellen des Entwicklerhandbuchs finden Sie in der Anleitung unter /doc/INSTRUCTIONS.rst

Ein vorab erstelltes Entwicklerhandbuch als PDF finden Sie auch unter /doc/build/latex/pcfgdevelopersguide.pdf. Beachten Sie, dass ich dieses Handbuch zwischen größeren Veröffentlichungen nicht neu erstelle, um die Git-Historie sauber zu halten. Das Commitieren von PDFs wird schnell unübersichtlich. Daher kann das vorab erstellte Handbuch leicht veraltet sein. Wenn Sie es zum Schreiben/Ändern von Code verwenden, wird empfohlen, das Handbuch selbst zu erstellen, anstatt das vorab erstellte zu verwenden.

Übersicht

Dieses Projekt verwendet maschinelles Lernen, um die Passworterstellungsgewohnheiten von Benutzern zu identifizieren. Ein PCFG-Modell wird durch Training mit einer Liste offengelegter Klartext-/geknackter Passwörter erstellt. Im Kontext dieses Projekts wird das Modell als Regelsatz bezeichnet und enthält viele verschiedene Teile der während des Trainings identifizierten Passwörter sowie deren zugehörige Wahrscheinlichkeiten. Diese Zerlegung kann für andere Knackwerkzeuge wie PRINCE nützlich sein, und/oder Teile des Regelsatzes können direkt in traditionellere wörterbuchbasierte Angriffe integriert werden. Dieses Projekt enthält auch einen PCFG-Ratengenerator, der diesen Regelsatz verwendet, um Passwortversuche in Wahrscheinlichkeitsreihenfolge zu generieren. Dies ist viel leistungsfähiger als Standard-Wörterbuchangriffe und hat sich in Tests als fähig erwiesen, Passwörter im Durchschnitt mit deutlich weniger Versuchen zu knacken als andere öffentlich verfügbare Methoden. Der Nachteil ist, dass das Generieren von Versuchen in Wahrscheinlichkeitsreihenfolge langsam ist – es werden durchschnittlich 50-100k Versuche pro Sekunde erstellt, während GPU-basierte Algorithmen Millionen bis Milliarden (und mehr) Versuche pro Sekunde gegen schnelle Hash-Algorithmen erzeugen können. Daher wird der PCFG-Rater am besten gegen große Mengen gesalzener Hashes oder andere langsame Hash-Algorithmen eingesetzt, bei denen die Leistungskosten des Algorithmus durch die Genauigkeit der Versuche ausgeglichen werden.

Anforderungen + Installation

  • Python3 ist die einzige harte Anforderung für diese Werkzeuge
  • Es wird dringend empfohlen, die chardet-Python3-Bibliothek für das Training zu installieren. Obwohl nicht erforderlich, führt sie eine automatische Erkennung der Zeichenkodierung der Trainingspasswörter durch. Um sie zu installieren:
  • Laden Sie den Quellcode von https://pypi.python.org/pypi/chardet herunter
  • Oder installieren Sie es mit pip3 install chardet

Schnellstartanleitung

Training

Der in diesem Repo enthaltene Standard-Regelsatz wurde durch Training mit einem 1-Millionen-Passwort-Teilsatz des RockYou-Datensatzes erstellt. Bessere Leistung kann durch Training mit dem gesamten 32-Millionen-Passwort-Satz von RockYou erzielt werden, aber dieser wurde ausgeschlossen, um die Download-Größe klein zu halten. Sie können den Standard-Regelsatz verwenden, um sofort Passwörter zu generieren, ohne einen neuen Satz trainieren zu müssen, es wird jedoch empfohlen, auf einem Ziel-Passwortsatz zu trainieren, der Ihrem Angriffsziel näher kommt. Wenn Sie Ihren eigenen Regelsatz erstellen, finden Sie hier eine Kurzanleitung:

  1. Identifizieren Sie einen Satz Klartext-Passwörter zum Trainieren.
  • Dieser Passwortsatz sollte doppelte Passwörter enthalten. Auf diese Weise kann das Trainingsprogramm erkennen, dass häufige Passwörter wie 123456 häufig sind.
  • Die Passwörter sollten im Klartext sein, ohne Hashes und zugehörige Informationen wie Benutzernamen. Verwenden Sie keine rohen .pot-Dateien als Trainingssatz, da die Hashes vom Trainingsprogramm als Teil des Passworts betrachtet werden.
  • Die Passwörter sollten in der gleichen Kodierung vorliegen, in der Sie Passwortversuche generieren möchten. Wenn Sie also UTF-8-Passwortversuche erstellen möchten, sollte der Trainingssatz ebenfalls als UTF-8 kodiert sein. Langfristig ist die Möglichkeit, dies bei der Versuchsgenerierung zu ändern, im Entwicklungsplan vorgesehen, aber diese Funktion wird derzeit nicht unterstützt.
  • Die Trainingspasswortliste sollte zwischen 100.000 und 50 Millionen liegen. Es wird noch getestet, wie sich die Größe der Trainingspasswortliste auf die Versuchsgenerierung auswirkt, und es wurden auch mit Passwortlisten von nur 10.000 gute Erfolge erzielt, aber eine ideale Größe liegt wahrscheinlich bei etwa 1 Million, mit abnehmenden Erträgen darüber hinaus.
  • Für die Zwecke dieses Tutorials wird die eingegebene Passwortliste als INPUT_PASSWORD_LIST bezeichnet.
  1. Wählen Sie einen Namen für Ihren generierten Regelsatz. Für die Zwecke dieses Tutorials wird er NEW_RULESET heißen.
  2. Führen Sie das Trainerprogramm auf der eingegebenen Passwortliste aus
  • python3 trainer.py -t INPUT_PASSWORD_LIST -r NEW_RULESET
  • Häufige optionale Flags: a. coverage: Wie sehr Sie dem Trainingssatz vertrauen, dass er die Zielpasswörter abdeckt. Eine höhere Abdeckung bedeutet, dass weniger intelligente Brute-Force-Generierung mittels Markov-Modellierung (derzeit mit dem OMEN-Algorithmus) verwendet wird. Wenn Sie die coverage auf 1 setzen, wird keine Brute-Force durchgeführt. Wenn Sie sie auf 0 setzen, werden nur Versuche mit Markov-Angriffen generiert. Dieser Wert ist ein Gleitkommawert, der Standardwert ist 0,6, was eine 60%ige Wahrscheinlichkeit erwartet, dass die Basiswörter des Zielpassworts im Trainingssatz gefunden werden. Beispiel: python3 trainer.py -t INPUT_PASSWORD_LIST -r NEW_RULESET -c 0.6 b. --save_sensitive: Wenn dies angegeben wird, werden sensible Daten wie E-Mail-Adressen und vollständige Websites, die während des Trainings entdeckt werden, im Regelsatz gespeichert. Der PCFG-Ratengenerator verwendet diese Daten derzeit nicht, aber sie sind bei einem echten Passwort-Knackangriff sehr wertvoll. Diese Option ist standardmäßig deaktiviert, um dieses Tool in akademischen Umgebungen einfacher nutzbar zu machen. Beachten Sie, dass selbst wenn diese Option deaktiviert ist, mit ziemlicher Sicherheit immer noch personenbezogene Daten im Regelsatz gespeichert werden, schützen Sie daher generierte Regelsätze entsprechend. Beispiel: python3 trainer.py -t INPUT_PASSWORD_LIST -r NEW_RULESET --save_sensitive c. --comments: Fügt einen Kommentar zur Konfigurationsdatei Ihres Regelsatzes hinzu. Dies ist nützlich, um später zu wissen, warum und wie Sie Ihren Regelsatz generiert haben. Geben Sie den gewünschten Kommentar in Anführungszeichen an.

Versuchsgenerierung

Dies generiert Versuche auf stdout unter Verwendung eines zuvor trainierten PCFG-Regelsatzes. Diese Versuche können dann in jedes Programm weitergeleitet werden, das Sie verwenden möchten. Wenn kein Regelsatz angegeben wird, wird der Standard-Regelsatz DEFAULT verwendet. Für die Zwecke dieser Anleitung wird angenommen, dass der verwendete Regelsatz NEW_RULESET ist.

Tool herunterladen