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
Outils/GitHubGitHub/tw1sm/pysqlrecon
ExploitationPost-ExploitationTests d'IntrusionCommandement et ContrôleRed TeamingSécurité des Bases de Données
GitHubtw1sm/pysqlrecon

PySQLRecon

Boîte à outils offensive MSSQL écrite en Python, basée sur SQLRecon

Voir le dépôt
21216il y a 3 moisVé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

PySQLRecon

Python PyPi

PySQLRecon est un portage Python de l'excellent projet SQLRecon de @sanjivkawa. Consultez la section commandes pour la liste des fonctionnalités.

Article démontrant SCCM TAKEOVER-1 avec PySQLRecon.

Installation

PySQLRecon peut être installé avec pip3 install pysqlrecon ou en clonant ce dépôt et en exécutant pip3 install .

Commandes

Tous les modules principaux de SQLRecon ont des commandes équivalentes. Les commandes notées [PRIV] nécessitent des privilèges élevés ou des droits d'administrateur système pour être exécutées. Les commandes marquées [NORM] peuvent généralement être exécutées par des utilisateurs normaux sans privilèges élevés.

La prise en charge de l'usurpation ([I]) ou de l'exécution sur des serveurs liés ([L]) est indiquée à la fin de la description de la commande.

root@kitploit:~
adsi                 [PRIV] Obtention des identifiants ADSI depuis un serveur lié ADSI [I,L]
agentcmd             [PRIV] Exécution d'une commande système via des travaux d'agent [I,L]
agentstatus          [PRIV] Énumération de l'état de l'agent SQL et des travaux [I,L]
checkrpc             [NORM] Énumération de l'état RPC des serveurs liés [I,L]
clr                  [PRIV] Chargement et exécution d'un assembly .NET dans une procédure stockée [I,L]
columns              [NORM] Énumération des colonnes d'une table [I,L]
databases            [NORM] Énumération des bases de données sur un serveur [I,L]
disableclr           [PRIV] Désactivation de l'intégration CLR [I,L]
disableole           [PRIV] Désactivation des procédures d'automatisation OLE [I,L]
disablerpc           [PRIV] Désactivation de RPC et RPC Out sur un serveur lié [I]
disablexp            [PRIV] Désactivation de xp_cmdshell [I,L]
enableclr            [PRIV] Activation de l'intégration CLR [I,L]
enableole            [PRIV] Activation des procédures d'automatisation OLE [I,L]
enablerpc            [PRIV] Activation de RPC et RPC Out sur un serveur lié [I]
enablexp             [PRIV] Activation de xp_cmdshell [I,L]
impersonate          [NORM] Énumération des utilisateurs pouvant être usurpés
info                 [NORM] Collecte d'informations sur le serveur SQL
links                [NORM] Énumération des serveurs liés [I,L]
olecmd               [PRIV] Exécution d'une commande système via des procédures d'automatisation OLE [I,L]
query                [NORM] Exécution d'une requête SQL personnalisée [I,L]
rows                 [NORM] Comptage du nombre de lignes dans une table [I,L]
sample               [NORM] Interrogation d'un échantillon de données d'une table [I,L]
sccm                 [SUBM] Sous-module pour les commandes spécifiques à SCCM
search               [NORM] Recherche d'un nom de colonne dans une table [I,L]
smb                  [NORM] Forçage de l'authentification NetNTLM via xp_dirtree [I,L]
tables               [NORM] Énumération des tables d'une base de données [I,L]
users                [NORM] Énumération des utilisateurs ayant accès à la base de données [I,L]
whoami               [NORM] Collecte de l'utilisateur connecté, de l'utilisateur mappé et des rôles [I,L]
xpcmd                [PRIV] Exécution d'une commande système via xp_cmdshell [I,L]

Commandes SCCM

Les commandes SCCM s'obtiennent en exécutant pysqlrecon [OPTIONS] sccm -h (les indicateurs globaux requis doivent être spécifiés pour que cela fonctionne – voir utilisation)

root@kitploit:~
addadmin             [PRIV] Élévation d'un compte en administrateur complet [I]
credentials          [NORM] Affichage des identifiants chiffrés [I]
logons               [NORM] Affichage des clients SCCM et du dernier utilisateur connecté [I]
removeadmin          [PRIV] Suppression d'un compte élevé ou de privilèges élevés [I]
sites                [NORM] Collecte des informations sur le site SCCM [I]
taskdata             [NORM] Déchiffrement des séquences de tâches [I]
tasklist             [NORM] Affichage des séquences de tâches [I]
users                [NORM] Énumération des utilisateurs SCCM [I]

Utilisation

PySQLRecon dispose d'options globales (disponibles pour toute commande), certaines commandes introduisant des indicateurs supplémentaires. Toutes les options globales doivent être spécifiées avant le nom de la commande :

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMANDE [COMMAND_OPTS]

Afficher les options globales :

root@kitploit:~
pysqlrecon --help

Afficher les options spécifiques à une commande :

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMANDE --help

Changer la base de données à laquelle s'authentifier, ou utilisée dans certaines commandes PySQLRecon (query, tables, columns, rows), à l'aide de l'indicateur --database.

Cibler l'exécution d'une commande PySQLRecon sur un serveur lié (au lieu du serveur SQL auquel on s'authentifie) à l'aide de l'indicateur --link.

Usurper un compte utilisateur lors de l'exécution d'une commande PySQLRecon avec l'indicateur --impersonate.

--link et --impersonate sont incompatibles.

Utilisation avec ntlmrelayx

PySQLRecon peut être utilisé avec proxychains pour tirer parti de l'authentification relayée ciblant un service mssql://. En raison du fonctionnement des sessions ntlmrelayx, le paramètre --database ne sera pas respecté lors de l'exécution de PySQLRecon (la session relayée sera toujours connectée à la base master). Cela peut avoir un impact, notamment lors de l'utilisation de modules SCCM qui nécessitent que la base de données du site soit spécifiée. Pour résoudre ce problème, changez d'abord le contexte de la base de données en utilisant le module query (cela persistera pour toute utilisation ultérieure de PySQLRecon, avec la même session relayée). Exemple :

root@kitploit:~
proxychains4 pysqlrecon -t <cible> -d <DOMAINE> -u <utilisateur> -p FAKE query --query 'use nouvelle_base'

Vous pouvez maintenant exécuter des modules/requêtes ciblant des ressources dans cette base de données spécifique, même sans spécifier --database, à partir de la même session ntlmrelayx.

Développement

pysqlrecon utilise uv pour gérer les dépendances. Installez depuis les sources et configurez pour le développement avec :

root@kitploit:~
# Installer uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Installer pysqlrecon
git clone https://github.com/tw1sm/pysqlrecon
cd pysqlrecon
uv sync
uv run pysqlrecon --help

Ajout d'une commande

PySQLRecon est facilement extensible – voir le modèle et les instructions dans resources

À faire

  • Ajout des commandes SCCM de SQLRecon
  • Prise en charge d'Azure SQL DB ?

Références et crédits

  • Impacket
  • @sanjivkawa pour le projet SQLRecon
  • https://securityintelligence.com/x-force/databases-beware-abusing-microsoft-sql-server-with-sqlrecon/
  • https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410
  • Consultez également MSSqlPwner pour d'autres capacités offensives MSSQL écrites en Python
  • PXEThief
Télécharger l’outil