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
Invoke-TheHash — Utilitaires PowerShell Pass The Hash | Kitploit
Outils/GitHubGitHub/kevin-robertson/invoke-thehash
Attaques de Mots de PasseMouvement LatéralPost-ExploitationSécurité RéseauTests d'IntrusionAuthentification
GitHubkevin-robertson/invoke-thehash

Invoke-TheHash

Utilitaires PowerShell Pass The Hash

Voir le dépôt
1.8k313il 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

Invoke-TheHash

Invoke-TheHash contient des fonctions PowerShell pour effectuer des tâches WMI et SMB par pass-the-hash. Les connexions WMI et SMB sont accédées via le .NET TCPClient. L'authentification est effectuée en passant un hash NTLM dans le protocole d'authentification NTLMv2. Les privilèges d'administrateur local ne sont pas requis côté client.

Prérequis

PowerShell 2.0 minimum

Importation

Import-Module ./Invoke-TheHash.psd1

ou

. ./Invoke-WMIExec.ps1 . ./Invoke-SMBExec.ps1 . ./Invoke-SMBEnum.ps1 . ./Invoke-SMBClient.ps1 . ./Invoke-TheHash.ps1

Fonctions

  • Invoke-WMIExec
  • Invoke-SMBExec
  • Invoke-SMBEnum
  • Invoke-SMBClient
  • Invoke-TheHash

Invoke-WMIExec

  • Fonction d'exécution de commande WMI.
Paramètres :
  • Target - Nom d'hôte ou adresse IP de la cible.
  • Username - Nom d'utilisateur à utiliser pour l'authentification.
  • Domain - Domaine à utiliser pour l'authentification. Ce paramètre n'est pas nécessaire avec les comptes locaux ou lorsque @domain est utilisé après le nom d'utilisateur.
  • Hash - Hash du mot de passe NTLM pour l'authentification. Cette fonction accepte les formats LM:NTLM ou NTLM.
  • Command - Commande à exécuter sur la cible. Si aucune commande n'est spécifiée, la fonction vérifie simplement si le nom d'utilisateur et le hash ont accès à WMI sur la cible.
  • Sleep - Par défaut = 10 millisecondes : Définit les valeurs Start-Sleep de la fonction en millisecondes.
Exemple :

Invoke-WMIExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose

Capture d'écran :

wmi

Invoke-SMBExec

  • Fonction d'exécution de commande SMB (PsExec) prenant en charge SMB1, SMB2.1, avec et sans signature SMB.
Paramètres :
  • Target - Nom d'hôte ou adresse IP de la cible.
  • Username - Nom d'utilisateur à utiliser pour l'authentification.
  • Domain - Domaine à utiliser pour l'authentification. Ce paramètre n'est pas nécessaire avec les comptes locaux ou lorsque @domain est utilisé après le nom d'utilisateur.
  • Hash - Hash du mot de passe NTLM pour l'authentification. Cette fonction accepte les formats LM:NTLM ou NTLM.
  • Command - Commande à exécuter sur la cible. Si aucune commande n'est spécifiée, la fonction vérifie simplement si le nom d'utilisateur et le hash ont accès à SCM sur la cible.
  • CommandCOMSPEC - Par défaut = Activé : Ajouter %COMSPEC% /C à la commande.
  • Service - Par défaut = 20 caractères aléatoires : Nom du service à créer et supprimer sur la cible.
  • Sleep - Par défaut = 150 millisecondes : Définit les valeurs Start-Sleep de la fonction en millisecondes.
  • Version - Par défaut = Auto : (Auto,1,2.1) Forcer la version SMB. Le comportement par défaut consiste à effectuer une négociation de version SMB et à utiliser SMB2.1 si pris en charge par la cible.
Exemple :

Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose

Exemple :

Vérifier les exigences de signature SMB sur la cible. Invoke-SMBExec -Target 192.168.100.20

Capture d'écran :

smb

Invoke-SMBEnum

  • Invoke-SMBEnum effectue des tâches d'énumération d'utilisateurs, de groupes, de sessions réseau et de partages via SMB2.1 avec et sans signature SMB.
Paramètres :
  • Target - Nom d'hôte ou adresse IP de la cible.
  • Username - Nom d'utilisateur à utiliser pour l'authentification.
  • Domain - Domaine à utiliser pour l'authentification. Ce paramètre n'est pas nécessaire avec les comptes locaux ou lorsque @domain est utilisé après le nom d'utilisateur.
  • Hash - Hash du mot de passe NTLM pour l'authentification. Cette fonction accepte les formats LM:NTLM ou NTLM.
  • Action - (All,Group,NetSession,Share,User) Par défaut = Share : Action d'énumération à effectuer.
  • Group - Par défaut = Administrators : Groupe à énumérer.
  • Sleep - Par défaut = 150 millisecondes : Définit les valeurs Start-Sleep de la fonction en millisecondes.
  • Version - Par défaut = Auto : (Auto,1,2.1) Forcer la version SMB. Le comportement par défaut consiste à effectuer une négociation de version SMB et à utiliser SMB2.1 si pris en charge par la cible. Note : seule la vérification de signature fonctionne avec SMB1.
Exemple :

Invoke-SMBEnum -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -verbose

Capture d'écran :

invoke-smbenum

Invoke-SMBClient

  • Fonction client SMB prenant en charge SMB2.1 et la signature SMB. Cette fonction offre principalement des capacités de partage de fichiers SMB pour travailler avec des hashs qui n'ont pas de privilège d'exécution de commande à distance. Cette fonction peut également être utilisée pour préparer des charges utiles pour Invoke-WMIExec et Invoke-SMBExec. Notez que Invoke-SMBClient est construit sur le .NET TCPClient et n'utilise pas le client SMB Windows. Invoke-SMBClient est beaucoup plus lent que le client Windows.
Paramètres :
  • Username - Nom d'utilisateur à utiliser pour l'authentification.
  • Domain - Domaine à utiliser pour l'authentification. Ce paramètre n'est pas nécessaire avec les comptes locaux ou lorsque @domain est utilisé après le nom d'utilisateur.
  • Hash - Hash du mot de passe NTLM pour l'authentification. Cette fonction accepte les formats LM:NTLM ou NTLM.
  • Action - Par défaut = List : (List/Recurse/Delete/Get/Put) Action à effectuer.
      • List : Liste le contenu d'un répertoire.
      • Recurse : Liste le contenu d'un répertoire et de tous ses sous-répertoires.
      • Delete : Supprime un fichier.
      • Get : Télécharge un fichier.
      • Put : Téléverse un fichier et définit les heures de création, d'accès et de dernière écriture pour correspondre au fichier source.
  • Source
      • List et Recurse : Chemin UNC vers un répertoire.
      • Delete : Chemin UNC vers un fichier.
      • Get : Chemin UNC vers un fichier.
      • Put : Fichier à téléverser. Si un chemin complet n'est pas spécifié, le fichier doit se trouver dans le répertoire courant. Lorsque l'interrupteur 'Modify' est utilisé, 'Source' doit être un tableau d'octets.
  • Destination
      • List et Recurse : Non utilisé.
      • Delete : Non utilisé.
      • Get : S'il est utilisé, la valeur sera le nouveau nom du fichier téléchargé. Si un chemin complet n'est pas spécifié, le fichier sera créé dans le répertoire courant.
      • Put : Chemin UNC pour le fichier téléversé. Le nom du fichier doit être spécifié.
  • Modify
      • List et Recurse : La fonction renvoie un objet contenant le contenu du répertoire.
      • Delete : Non utilisé.
      • Get : La fonction renvoie un tableau d'octets du fichier téléchargé au lieu d'écrire le fichier sur le disque. Il est conseillé de n'utiliser ceci qu'avec des fichiers plus petits et de rediriger la sortie vers une variable.
Exemple :

Liste le contenu d'un répertoire racine de partage. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Source \\server\share -verbose

Exemple :

Liste récursivement le contenu d'un partage en commençant à la racine. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share

Exemple :

Liste récursivement le contenu d'un sous-répertoire de partage et renvoie uniquement le contenu dans une variable. $directory_contents = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share\subdirectory -Modify

Exemple :

Supprime un fichier sur un partage. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\file.txt

Exemple :

Supprime un fichier dans des sous-répertoires d'un partage. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\subdirectory\subdirectory\file.txt

Exemple :

Télécharge un fichier depuis un partage. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt

Exemple :

Télécharge un fichier depuis un sous-répertoire d'un partage et définit un nouveau nom de fichier. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\subdirectory\file.txt -Destination file.txt

Exemple :

Télécharge un fichier depuis un partage vers une variable de tableau d'octets au lieu du disque. $password_file = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt -Modify

Exemple :

Téléverse un fichier vers un sous-répertoire de partage. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source file.exe -Destination \\server\share\subdirectory\file.exe

Exemple :

Téléverse un fichier vers un partage à partir d'une variable de tableau d'octets. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source $file_byte_array -Destination \\server\share\file.txt -Modify

Capture d'écran :

invoke-smbclient

Invoke-TheHash

  • Fonction pour exécuter les fonctions Invoke-TheHash contre plusieurs cibles.
Paramètres :
  • Type - Définit la fonction Invoke-TheHash souhaitée. Définir sur SMBClient, SMBEnum, SMBExec ou WMIExec.
  • Target - Liste de noms d'hôtes, adresses IP, notation CIDR ou plages IP pour les cibles.
  • TargetExclude - Liste de noms d'hôtes, adresses IP, notation CIDR ou plages IP à exclure de la liste des cibles.
  • PortCheckDisable - (Interrupteur) Désactiver la vérification du port WMI ou SMB. Étant donné que cette fonction n'est pas encore threadée, la vérification du port sert à accélérer la fonction en vérifiant si un port WMI ou SMB est ouvert avant de tenter une connexion TCPClient synchrone complète.
  • PortCheckTimeout - Par défaut = 100 : Définit le délai d'absence de réponse en millisecondes pour la vérification du port WMI ou SMB.
  • Username - Nom d'utilisateur à utiliser pour l'authentification.
  • Domain - Domaine à utiliser pour l'authentification. Ce paramètre n'est pas nécessaire avec les comptes locaux ou lorsque @domain est utilisé après le nom d'utilisateur.
  • Hash - Hash du mot de passe NTLM pour l'authentification. Ce module accepte les formats LM:NTLM ou NTLM.
  • Command - Commande à exécuter sur la cible. Si aucune commande n'est spécifiée, la fonction vérifie simplement si le nom d'utilisateur et le hash ont accès à WMI ou SCM sur la cible.
  • CommandCOMSPEC - Par défaut = Activé : Type SMBExec uniquement. Ajouter %COMSPEC% /C à la commande.
  • Service - Par défaut = 20 caractères aléatoires : Type SMBExec uniquement. Nom du service à créer et supprimer sur la cible.
  • SMB1 - (Interrupteur) Forcer SMB1. Type SMBExec uniquement. Le comportement par défaut consiste à effectuer une négociation de version SMB et à utiliser SMB2 si pris en charge par la cible.
  • Sleep - Par défaut = WMI 10 millisecondes, SMB 150 millisecondes : Définit les valeurs Start-Sleep de la fonction en millisecondes.
Exemple :

Invoke-TheHash -Type WMIExec -Target 192.168.100.0/24 -TargetExclude 192.168.100.50 -Username Administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0

Capture d'écran :

ithsmb

Télécharger l’outil
    • Put : Téléverse un tableau d'octets vers un nouveau fichier de destination.
  • NoProgress - Empêche l'affichage d'une barre de progression de téléversement et de téléchargement.
  • Sleep - Par défaut = 100 millisecondes : Définit les valeurs Start-Sleep de la fonction en millisecondes.
  • Version - Par défaut = Auto : (Auto,1,2.1) Forcer la version SMB. Le comportement par défaut consiste à effectuer une négociation de version SMB et à utiliser SMB2.1 si pris en charge par la cible. Note : seule la vérification de signature fonctionne avec SMB1.