Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
OMEN — Générateur de mots de passe basé sur un modèle de Markov en C qui énumère les candidats par probabilité, générant les mots de passe les plus probables en premier pour le cassage de hash via Hashcat ou John. | Kitploit
Outils/GitHubGitHub/rub-syssec/omen
Cassage de Mots de PasseAttaques de Mots de PasseAnalyse de HachageCryptographieUtilitaires et FrameworksArticles et Recherche
GitHubrub-syssec/omen

OMEN

Générateur de mots de passe basé sur un modèle de Markov en C qui énumère les candidats par probabilité, générant les mots de passe les plus probables en premier pour le cassage de hash via Hashcat ou John.

Voir le dépôt
33544il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

OMEN: Ordered Markov ENumerator

OMEN est un générateur de mots de passe basé sur un modèle de Markov, écrit en C. Il génère des candidats de mots de passe en fonction de leurs probabilités d'occurrence, c'est-à-dire qu'il produit d'abord les mots de passe les plus probables. OMEN améliore considérablement la vitesse de devinette par rapport aux propositions existantes. Si vous êtes intéressé par les détails sur la façon dont OMEN améliore les approches existantes de devinette de mots de passe basées sur un modèle de Markov, veuillez vous référer à OMEN: Faster Password Guessing Using an Ordered Markov Enumerator.

Guide d'utilisation

OMEN se compose de deux modules de programme distincts : createNG et enumNG. createNG calcule les probabilités de n-grammes à partir d'une liste de mots de passe donnée et les stocke sur le disque dur. Sur la base de ces probabilités, enumNG énumère de nouveaux mots de passe dans le bon ordre (décroissant).

Installation

Utilisez une version récente de Linux, assurez-vous d'avoir installé git (système de contrôle de version Git), gcc (GNU Compiler Collection) et make (GNU Make). Vous pouvez l'installer sous Ubuntu Linux via :

$ sudo apt-get install build-essential git

Récupérez le code source via :

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

Placez-vous dans le répertoire nouvellement créé OMEN et exécutez :

$ make

Si la compilation réussit, vous trouverez createNG et enumNG dans le répertoire courant.

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

Si vous le souhaitez, vous pouvez maintenant supprimer le dossier src et le fichier makefile, ils ne sont plus utilisés.

Utilisateur de Windows ?

Un court guide d'installation utilisant Cygwin sous Windows 10 est disponible ici.

Utilisation de base

Avant de pouvoir générer des mots de passe, les probabilités de n-grammes doivent être estimées à l'aide de createNG. Pour calculer les probabilités avec les paramètres par défaut, createNG doit être appelé en fournissant un chemin vers une liste de mots de passe à entraîner :

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

Chaque mot de passe de la liste donnée doit être sur une nouvelle ligne. Le module lit et évalue ensuite la liste en générant plusieurs fichiers. Outre un fichier de configuration (createConfig) stockant les paramètres utilisés (dans ce cas le paramètre par défaut), plusieurs fichiers sont créés contenant des informations sur les grammes et la longueur des mots de passe. Ces fichiers ont l'extension '.level' :

  • IP.level (Initial Probability) : Stocke les probabilités du premier (n-1)-gramme de chaque mot de passe.
  • CP.level (Conditional Probability) : Stocke les probabilités des n-grammes réels.
  • EP.level (End Probability) : Stocke les probabilités du dernier (n-1)-gramme de chaque mot de passe.
  • LN.level (Length) : Stocke les probabilités pour la longueur du mot de passe.

Les probabilités de chaque n-gramme et les longueurs sont mappées sur des niveaux entre 0 (le plus probable) et 10 (le moins probable). Une fois ces fichiers créés, enumNG peut être utilisé pour générer une liste de mots de passe ordonnés par probabilités. Actuellement, enumNG prend en charge trois modes de fonctionnement : file, stdout, simulated plaintext attack. Dans le mode par défaut de enumNG, une liste de devinettes de mots de passe basée sur ces niveaux est créée. En utilisant la commande

$ ./enumNG

génère 1 milliard de mots de passe et les stocke dans un fichier texte, qui peut être trouvé dans le dossier 'results'. Les mots de passe de ce fichier sont ordonnés par niveau (c'est-à-dire par probabilité). Comme les éditeurs de texte courants ne sont pas capables de gérer des fichiers aussi volumineux, il est recommandé, pour les tests, de réduire le nombre de mots de passe créés. Cela peut être fait en utilisant l'argument -m.

$ ./enumNG -m 10000

Il créera une liste ordonnée de seulement 10 000 mots de passe. Si vous souhaitez afficher les mots de passe sur le flux de sortie standard (stdout), utilisez l'argument -p.

$ ./enumNG -p -m 10000

Si vous souhaitez évaluer la performance de devinette par rapport à un ensemble de test de mots de passe en plaintext, utilisez l'argument -s. Veuillez noter : dans ce mode, OMEN bénéficie de l'algorithme adaptatif de planification de longueur intégrant un retour en direct, qui n'est pas disponible (en raison du canal de retour manquant) dans les modes file et stdout.

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

Le résultat de cette évaluation peut être trouvé dans le dossier 'results'.

Les deux modules fournissent un dialogue d'aide qui peut être affiché en utilisant l'argument -h ou --help.

Craquage de mots de passe

Comment passer de $2a$10$HNYF4KajSTqxIP/KoiB5tOCVeKUgvscTh32hhAmppFk4T/USmI2B. à "GoodOMEN!123" ?

Éthique

OMEN a été développé pour des cas d'usage académiques comme l'amélioration de la modélisation probabiliste des mots de passe, l'estimation du nombre de devinettes ou la force des mots de passe, en général, pour améliorer la sécurité des mots de passe. N'abusez pas de ce logiciel pour porter atteinte à la vie privée d'autrui ou enfreindre la loi.

Attaques par préimage

Les évaluateurs de hachage populaires comme Hashcat et John the Ripper prennent en charge des centaines de formats de hachage et de chiffrement et pourraient être facilement intégrés grâce à leur prise en charge de la lecture des candidats de mots de passe via leur flux d'entrée standard (stdin).

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

ou

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

Pour une performance de devinette optimale, envisagez d'entraîner createNG avec une distribution de mots de passe similaire à celle que vous souhaitez craquer.

Veuillez noter : l'utilisation de la modélisation probabiliste des mots de passe pour craquer des mots de passe, en général, ne devrait être envisagée que contre des hachages lents (par exemple, bcrypt, PBKDF2, scrypt ou Argon2) où le nombre de devinettes réalisables est limité, ou dans des attaques très ciblées. En revanche, pour les hachages très rapides (MD5, SHA-1 ou NTLM), l'utilisation de bons dictionnaires et de règles de mangling (par exemple, best64.rule) est la voie à suivre.

Si vous êtes intéressé par ce sujet, envisagez de lire les articles suivants et leurs travaux connexes (cette liste est incomplète, vous pouvez contribuer en l'étendant) :

Télécharger l’outil