
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.
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.
Démarrer avec mssqlpwner est simple. Vous pouvez le faire en installant directement depuis le dépôt :
pip install 'mssqlpwner@git+https://github.com/ScorpionesLabs/MSSqlPwner.git'
Ou, en utilisant pipx - et vous devriez -, essayez ceci :
pipx install 'git+https://github.com/ScorpionesLabs/MSSqlPwner.git'
Et vous pouvez maintenant utiliser votre nouvel outil favori :
mssqlpwner -hashes ':0CB6948805F797BF2A82807973B89537' 'Administrator'@172.16.2.12 -windows-auth interactive
Cet outil est pris en charge par plusieurs méthodes d'authentification et est décrit ci-dessous.
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.
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 :
-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 !)
CHAIN - L'ID de chaîne à définir.set-link-server Définit le serveur lié (Pour le mode interactif uniquement !)
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.rev2self revenir à SELF (Pour le mode interactif uniquement !).exec Exécute des commandes en utilisant exec sur le serveur local ou sur des serveurs liés
COMMAND - La commande à exécuter.-command_execution_method - La méthode d'exécution de commande à utiliser.
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").retrieve-password Récupération de mot de passe à partir de fournisseurs ADSI.
-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).
x86 - Utiliser l'architecture x86.x64 - Utiliser l'architecture x64.ntlm-relay - Forcer le relais NTLM vers un serveur.
SMB_SERVER - Le serveur SMB vers lequel relayer.-relay-method - La méthode de relais à utiliser.
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).