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
OMEN — Markov-Modell-basierter Passwort-Rater in C, der Kandidaten nach Wahrscheinlichkeit aufzählt und die wahrscheinlichsten Passwörter zuerst generiert, um Hashes mit Hashcat oder John zu knacken. | Kitploit
Tools/GitHubGitHub/rub-syssec/omen
Passwort-CrackingPasswortangriffeHash-AnalyseKryptographieDienstprogramme & FrameworksPapers & Forschung
GitHubrub-syssec/omen

OMEN

Markov-Modell-basierter Passwort-Rater in C, der Kandidaten nach Wahrscheinlichkeit aufzählt und die wahrscheinlichsten Passwörter zuerst generiert, um Hashes mit Hashcat oder John zu knacken.

Repository anzeigen
33544vor 7 JahrenVon 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
Webseite

OMEN: Ordered Markov ENumerator

OMEN ist ein auf einem Markov-Modell basierender Passwort-Rater, der in C geschrieben wurde. Er generiert Passwortkandidaten entsprechend ihrer Auftrittswahrscheinlichkeiten, d. h. er gibt die wahrscheinlichsten Passwörter zuerst aus. OMEN verbessert die Rate-Geschwindigkeit im Vergleich zu bestehenden Ansätzen erheblich. Wenn Sie an den Details interessiert sind, wie OMEN bestehende Markov-Modell-basierte Ansätze zum Passwort-Raten verbessert, lesen Sie bitte OMEN: Faster Password Guessing Using an Ordered Markov Enumerator.

Benutzerhandbuch

OMEN besteht aus zwei separaten Programmmodulen: createNG und enumNG. createNG berechnet n-Gramm-Wahrscheinlichkeiten basierend auf einer gegebenen Passwortliste und speichert sie auf der Festplatte. Basierend auf diesen Wahrscheinlichkeiten zählt enumNG neue Passwörter in der korrekten Reihenfolge (absteigend) auf.

Installation

Verwenden Sie eine aktuelle Linux-Version und stellen Sie sicher, dass Sie git (Git-Versionskontrollsystem), gcc (GNU Compiler Collection) und make (GNU Make) installiert haben. Unter Ubuntu Linux können Sie es installieren über:

$ sudo apt-get install build-essential git

Prüfen Sie den Quellcode aus über:

$ git clone https://github.com/RUB-SysSec/OMEN.git OMEN

Wechseln Sie in das neu erstellte Verzeichnis OMEN und führen Sie aus:

$ make

Wenn die Kompilierung erfolgreich ist, finden Sie createNG und enumNG im aktuellen Verzeichnis.

.
├── alphabetCreator
├── createNG
├── docs
│   ├── CHANGELOG.md
│   ├── LICENSE
│   └── screenshots
├── enumNG
├── evalPW
├── makefile
├── README.md
└── src
    ├── alphabetCreator.c
    ...

Wenn Sie möchten, können Sie nun den src-Ordner und die makefile-Datei entfernen, sie werden nicht mehr benötigt.

Windows-Benutzer?

Eine kurze Installationsanleitung mit Cygwin unter Windows 10 finden Sie hier.

Grundlegende Verwendung

Bevor man Passwörter generieren kann, müssen die n-Gramm-Wahrscheinlichkeiten mit createNG geschätzt werden. Um die Wahrscheinlichkeiten mit den Standardeinstellungen zu berechnen, muss createNG mit einem Pfad zu einer Passwortliste aufgerufen werden, die trainiert werden soll:

$ ./createNG --iPwdList password-training-list.txt

Jedes Passwort der gegebenen Liste muss in einer neuen Zeile stehen. Das Modul liest und bewertet dann die Liste und generiert einige Dateien. Neben einer Konfigurationsdatei (createConfig), die die verwendeten Einstellungen speichert (in diesem Fall die Standardeinstellung), werden mehrere Dateien erstellt, die Informationen über die Gramme und die Passwortlänge enthalten. Diese Dateien haben die Erweiterung '.level':

  • IP.level (Initial Probability): Speichert die Wahrscheinlichkeiten des ersten (n-1)-Gramms jedes Passworts.
  • CP.level (Conditional Probability): Speichert die Wahrscheinlichkeiten der eigentlichen n-Gramme.
  • EP.level (End Probability): Speichert die Wahrscheinlichkeiten des letzten (n-1)-Gramms jedes Passworts.
  • LN.level (Length): Speichert die Wahrscheinlichkeiten für die Passwortlänge.

Die Wahrscheinlichkeiten jedes n-Gramms und die Längen werden auf Level zwischen 0 (am wahrscheinlichsten) und 10 (am unwahrscheinlichsten) abgebildet. Sobald diese Dateien erstellt sind, kann enumNG verwendet werden, um eine Liste von Passwörtern sortiert nach Wahrscheinlichkeiten zu generieren. Derzeit unterstützt enumNG drei Betriebsmodi: file, stdout, simulated plaintext attack. Im Standardmodus von enumNG wird eine Liste von Passwort-Rateversuchen basierend auf diesen Leveln erstellt. Mit dem Befehl

$ ./enumNG

werden 1 Milliarde Passwörter generiert und in einer Textdatei gespeichert, die im Ordner 'results' zu finden ist. Die Passwörter in dieser Datei sind nach Level (d. h. nach Wahrscheinlichkeit) sortiert. Da gängige Texteditoren nicht in der Lage sind, solch riesige Dateien zu verarbeiten, wird für Tests empfohlen, die Anzahl der erstellten Passwörter zu reduzieren. Dies kann mit dem Argument -m erreicht werden.

$ ./enumNG -m 10000

Es wird eine sortierte Liste mit nur 10.000 Passwörtern erstellt. Wenn Sie daran interessiert sind, die Passwörter auf den Standardausgabestream (stdout) auszugeben, verwenden Sie das Argument -p.

$ ./enumNG -p -m 10000

Wenn Sie daran interessiert sind, die Rate-Leistung gegen ein Plaintext-Passwort-Testset zu evaluieren, verwenden Sie das Argument -s. Bitte beachten Sie: In diesem Modus profitiert OMEN vom adaptiven Längenplanungsalgorithmus, der Live-Feedback einbezieht, welches im file- und stdout-Modus (aufgrund des fehlenden Feedback-Kanals) nicht verfügbar ist.

$ ./enumNG -s=password-testing-list.txt -m 10000

Das Ergebnis dieser Evaluierung finden Sie im Ordner 'results'.

Beide Module bieten einen Hilfedialog, der mit dem Argument -h oder --help angezeigt werden kann.

Passwort-Cracking

Wie kommt man von $2a$10$HNYF4KajSTqxIP/KoiB5tOCVeKUgvscTh32hhAmppFk4T/USmI2B. zu "GoodOMEN!123"?

Ethik

OMEN wurde für akademische Anwendungsfälle entwickelt, wie z. B. die Verbesserung probabilistischer Passwortmodellierung, die Schätzung von Ratezahlen oder Passwortstärke, im Allgemeinen zur Verbesserung der Passwortsicherheit. Missbrauchen Sie diese Software nicht, um die Privatsphäre anderer zu verletzen oder gegen das Gesetz zu verstoßen.

Preimage-Angriffe

Beliebte Hash-Evaluatoren wie Hashcat und John the Ripper unterstützen Hunderte von Hash- und Verschlüsselungsformaten und könnten aufgrund ihrer Unterstützung für das Lesen von Passwortkandidaten über ihren Standardeingabestream (stdin) leicht integriert werden.

$ ./enumNG -p -m 10000 | ./hashcat64.bin ...

oder

$ ./enumNG -p -m 10000 | ./john --stdin ...

Für optimale Rate-Leistung sollten Sie in Betracht ziehen, createNG mit einer Passwortverteilung zu trainieren, die der ähnelt, die Sie knacken möchten.

Bitte beachten Sie: Die Verwendung probabilistischer Passwortmodellierung zum Knacken von Passwörtern sollte im Allgemeinen nur gegen langsame Hashes (z. B. bcrypt, PBKDF2, scrypt oder Argon2) in Betracht gezogen werden, bei denen die Anzahl der möglichen Rateversuche begrenzt ist, oder bei sehr gezielten Angriffen. Im Gegensatz dazu sind bei sehr schnellen Hashes (MD5, SHA-1 oder NTLM) die Verwendung von guten Wörterbüchern und Mangling-Regeln (z. B. best64.rule) der richtige Weg.

Wenn Sie an diesem Thema interessiert sind, sollten Sie die folgenden Paper und deren verwandte Arbeiten lesen (diese Liste ist unvollständig, Sie können durch Erweiterung helfen):

Probabilistic Context-Free Grammars

  • Password Cracking Using Probabilistic Context-Free Grammars (SP '09)
  • Guess Again (and Again and Again): Measuring Password Strength by Simulating Password-Cracking Algorithms (SP '12)
  • On the Semantic Patterns of Passwords and their Security Impact (NDSS '14)
  • Next Gen PCFG Password Cracking (TIFS '15)
  • ...
  • Software A, Software B
Tool herunterladen