Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
psudohash — Génère des millions de mutations de mots de passe basées sur des mots-clés en quelques secondes. | Kitploit
Outils/GitHubGitHub/t3l3machus/psudohash
Cassage de Mots de PasseAttaques de Mots de PasseTests d'Intrusion
GitHubt3l3machus/psudohash

psudohash

Génère des millions de mutations de mots de passe basées sur des mots-clés en quelques secondes.

Voir le dépôt
1.5k175il y a 1 anVé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

psudohash

Python 3.x License

Nouvelles fonctionnalités sympas de la v1.1.0

Un grand merci à DavidAngelos :
▶️ Ajout d'une barre de progression à chaque étape pour suivre l'exécution.
▶️ Options ajoutées :

  • Jonctions dans l'ordre (-i / --inorder) : joindre les mots-clés uniquement dans l'ordre original (ex. foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).
  • Combinaisons dans tous les ordres (-c / --combinations) : générer chaque ordre de chaque sous-ensemble (ex. foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …, bazbarfoo).
  • Séparateur personnalisé (--sep <chaîne>) : lors de la jonction des mots, insérer cette chaîne entre les jetons (par défaut aucun séparateur).
  • Taille max de combinaison (--max-combine <N>) : limite le nombre de mots-clés bruts joints ensemble (par défaut : 2).
  • Filtrage par longueur min/max des mots finaux (--minlen/--maxlen <N>) : filtrer la liste de mots finale pour ne conserver que les mots de la longueur souhaitée.

Objectif

Psudohash est un générateur de listes de mots de passe pour orchestrer des attaques par force brute et le craquage de hachages. Il imite certains schémas de création de mots de passe couramment utilisés par les humains, comme le remplacement de lettres par des symboles ou des chiffres (leet), les variations de casse, l'ajout d'un bourrage commun avant ou après la phrase de passe principale, etc. Il est basé sur des mots-clés et hautement personnalisable. 🎥 -> Présentation vidéo

Test d'intrusion dans les environnements d'entreprise

Les administrateurs système et autres employés utilisent souvent une version mutée du nom de l'entreprise pour définir des mots de passe (par exemple Am@z0n_2022). C'est couramment le cas pour les périphériques réseau (points d'accès Wi-Fi, commutateurs, routeurs, etc.), les applications ou même les comptes de domaine. Avec les options les plus basiques, psudohash peut générer une liste de mots avec toutes les mutations possibles d'un ou plusieurs mots‑clés, basées sur des schémas courants de substitution de caractères (personnalisables), des variations de casse, des chaînes souvent utilisées comme bourrage et plus encore. Regardez l'exemple suivant :

image

Personnalisation

Substitution de caractères Leet

Le script implémente le schéma de substitution de caractères suivant. Vous pouvez ajouter/modifier les correspondances de substitution en éditant la liste transformations dans psudohash.py en suivant la structure de données ci-dessous (par défaut) :

root@kitploit:~
transformations = [
	{'a' : ['@', '4']},
	{'b' : '8'},
	{'e' : '3'},
	{'g' : ['9', '6']},
	{'i' : ['1', '!']},
	{'o' : '0'},
	{'s' : ['$', '5']},
	{'t' : '7'}
]

Valeurs de bourrage courantes

Lors de la définition de mots de passe, je pense qu'il est assez courant d'ajouter une séquence de caractères avant et/ou après la phrase de passe principale pour la "renforcer". Par exemple, on peut définir un mot de passe "dragon" et ajouter une valeur comme "!!!" ou "!@#" à la fin, ce qui donne "dragon!!!", "dragon!@#", etc. Psudohash lit ces valeurs depuis common_padding_values.txt et les utilise pour muter les mots-clés fournis en les ajoutant avant (-cpb) ou après (-cpa) chaque variation de mot-clé générée. Vous pouvez le modifier comme bon vous semble.

Valeurs d'année

Lors de l'ajout d'une valeur d'année à un mot-clé muté, psudohash le fait en utilisant divers séparateurs. Par défaut, il utilise les séparateurs suivants que vous pouvez modifier en éditant la liste year_seperators :

root@kitploit:~
year_seperators = ['', '_', '-', '@']

Par exemple, si le mot-clé donné est "amazon" et l'option -y 2023 est utilisée, la sortie inclura "amazon2023", "amazon_2023", "amazon-2023", "amazon@2023", "amazon23", "amazon_23", "amazon-23", "amazon@23".

Installation

Installez d'abord Python 3.x et tqdm :

root@kitploit:~
pip3 install tqdm

Clonez ensuite le dépôt et rendez le script exécutable :

root@kitploit:~
git clone https://github.com/t3l3machus/psudohash.git
cd ./psudohash
chmod +x psudohash.py

Utilisation

root@kitploit:~
./psudohash.py [-h] -w MOTS [-i] [-c] [--sep SEP] [--max-combine N] [-an NIVEAU] [-nl LIMITE] [-y ANNÉES] [-ap VALEURS] [-cpb] [-cpa] [-cpo] [-o FICHIER] [-q]

La boîte de dialogue d'aide [ -h, --help ] inclut les détails d'utilisation et des exemples.

Options

  • -w, --words <kw1,kw2,…>
    Mots-clés bruts séparés par des virgules (obligatoire).

  • -i, --inorder
    Joindre jusqu'à --max-combine mots-clés dans l'ordre donné (ex. foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).

  • -c, --combinations
    Générer toutes les permutations de chaque sous-ensemble (jusqu'à --max-combine) (ex. foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …).

  • --max-combine <N> (par défaut : 2)
    Nombre maximal de mots-clés bruts à joindre en une seule chaîne de base.

  • --sep <chaîne>
    Lors de la jonction de mots ( ou ), placer cette chaîne entre les jetons. Par défaut, une chaîne vide.

Exemples d'utilisation

  1. Pas de mots multiples (uniquement des singletons)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -cpa
    # → foo, bar, baz
    
  2. Jonctions dans l'ordre (-i, jusqu'à 2 mots par défaut)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -i
    # → foo, bar, baz, foobar, foobaz, barbaz
    
  3. Combinaisons dans tous les ordres (-c, jusqu'à 2 mots par défaut)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -c
    # → foo, bar, baz, foobar, foobaz, barfoo, barbaz, bazfoo, bazbar
    
  4. Changer le séparateur entre les mots joints

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -i --sep "_"
    # → foo, bar, baz, foo_bar, foo_baz, bar_baz
    
  5. Filtrage par longueur (--minlen/--maxlen)

    root@kitploit:~
     ./psudohash.py -w apple,banana -i --minlen 10
     # Avertissement : la taille exacte ne peut pas être déterminée à cause des filtres de longueur.
     # Les sorties finales pourraient inclure “applebanana” (11 car.), “bananaapple” (11 car.).
    

Conseils d'utilisation

  1. Combiner les options --years et --append-numbering avec un --numbering-limit ≥ les deux derniers chiffres d'une année saisie produira très probablement des doublons à cause des schémas de mutation implémentés par l'outil.
  2. Si vous ajoutez des valeurs de bourrage personnalisées et/ou modifiez les valeurs de bourrage courantes prédéfinies dans le code source, en combinaison avec plusieurs paramètres optionnels, il y a une petite chance que des doublons apparaissent. Psudohash inclut des contrôles de filtrage des mots mais, pour des raisons de rapidité, ceux-ci sont limités.
  3. Lors de l'utilisation de --minlen ou --maxlen, le script ne peut pas pré-calculer le nombre exact de mots ; vous verrez un avertissement "la taille exacte ne peut pas être déterminée" et la taille sans ce filtre sera calculée, la taille finale sera plus petite.

Particuliers

En ce qui concerne les personnes, je pense que nous avons tous (plus ou moins) défini des mots de passe en utilisant une mutation d'un ou plusieurs mots qui ont du sens pour nous, par exemple notre nom ou celui de notre femme/enfant/animal/groupe, en ajoutant l'année de naissance à la fin ou peut-être un bourrage super sécurisé comme "!@#". Eh bien, devinez quoi ?

usage_example_png

Futur

Je rassemble des informations sur les schémas de création de mots de passe couramment utilisés pour améliorer les capacités de l'outil.

Télécharger l’outil
-i
-c
  • --minlen <N>
    Ignorer tout mot de passe final de moins de N caractères.

  • --maxlen <N>
    Ignorer tout mot de passe final de plus de N caractères.

  • -an, --append-numbering <NIVEAU>
    Ajouter des suffixes numérotés (complétés par zéros à <NIVEAU> chiffres) à chaque mutation de mot.

  • -nl, --numbering-limit <LIMITE>
    Nombre maximum à compter lors de l'ajout de numéros (par défaut : 50).

  • -y, --years <années>
    Ajouter une ou plusieurs années à chaque mutation (ex. 1990-2000, ou 2022,2023).

  • -ap, --append-padding <valeurs>
    Ajouter des valeurs de bourrage personnalisées (séparées par des virgules). Doit être utilisé avec -cpb ou -cpa.

  • -cpb, --common-paddings-before
    Ajouter les valeurs de common_padding_values.txt avant chaque mutation.

  • -cpa, --common-paddings-after
    Ajouter les valeurs de common_padding_values.txt après chaque mutation.

  • -cpo, --custom-paddings-only
    Utiliser uniquement les bourrages fournis par l'utilisateur (pas de valeurs par défaut). Doit être utilisé avec -ap.

  • -o, --output <fichier>
    Écrire les résultats dans <fichier> (par défaut : output.txt).

  • -q, --quiet
    Supprimer la bannière ASCII au démarrage.

  • Combiner jusqu'à 3 mots (au lieu de 2 par défaut)