Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PySQLRecon — Herramienta ofensiva para MSSQL escrita en Python, basada en SQLRecon | Kitploit
Herramientas/GitHubGitHub/tw1sm/pysqlrecon
ExplotaciónPost-ExplotaciónPruebas de PenetraciónComando y ControlRed TeamingSeguridad de Bases de Datos
GitHubtw1sm/pysqlrecon

PySQLRecon

Herramienta ofensiva para MSSQL escrita en Python, basada en SQLRecon

Ver Repositorio
21216hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PySQLRecon

Python PyPi

PySQLRecon es un puerto en Python del increíble proyecto SQLRecon de @sanjivkawa. Consulta la sección de comandos para ver la lista de capacidades.

Post que demuestra SCCM TAKEOVER-1 con PySQLRecon.

Instalación

PySQLRecon se puede instalar con pip3 install pysqlrecon o clonando este repositorio y ejecutando pip3 install .

Comandos

Todos los módulos principales de SQLRecon tienen comandos equivalentes. Los comandos marcados con [PRIV] requieren privilegios elevados o derechos de administrador del sistema para ejecutarse. Por el contrario, los comandos marcados con [NORM] pueden ser ejecutados por usuarios normales sin necesidad de privilegios elevados.

El soporte para suplantación ([I]) o ejecución en servidores vinculados ([L]) se indica al final de la descripción del comando.

root@kitploit:~
adsi                 [PRIV] Obtain ADSI creds from ADSI linked server [I,L]
agentcmd             [PRIV] Execute a system command using agent jobs [I,L]
agentstatus          [PRIV] Enumerate SQL agent status and jobs [I,L]
checkrpc             [NORM] Enumerate RPC status of linked servers [I,L]
clr                  [PRIV] Load and execute .NET assembly in a stored procedure [I,L]
columns              [NORM] Enumerate columns within a table [I,L]
databases            [NORM] Enumerate databases on a server [I,L]
disableclr           [PRIV] Disable CLR integration [I,L]
disableole           [PRIV] Disable OLE automation procedures [I,L]
disablerpc           [PRIV] Disable RPC and RPC Out on linked server [I]
disablexp            [PRIV] Disable xp_cmdshell [I,L]
enableclr            [PRIV] Enable CLR integration [I,L]
enableole            [PRIV] Enable OLE automation procedures [I,L]
enablerpc            [PRIV] Enable RPC and RPC Out on linked server [I]
enablexp             [PRIV] Enable xp_cmdshell [I,L]
impersonate          [NORM] Enumerate users that can be impersonated
info                 [NORM] Gather information about the SQL server
links                [NORM] Enumerate linked servers [I,L]
olecmd               [PRIV] Execute a system command using OLE automation procedures [I,L]
query                [NORM] Execute a custom SQL query [I,L]
rows                 [NORM] Get the count of rows in a table [I,L]
sample               [NORM] Query a sample of table data [I,L]
sccm                 [SUBM] Submodule for SCCM specific commands   
search               [NORM] Search a table for a column name [I,L]
smb                  [NORM] Coerce NetNTLM auth via xp_dirtree [I,L]
tables               [NORM] Enumerate tables within a database [I,L]
users                [NORM] Enumerate users with database access [I,L]
whoami               [NORM] Gather logged in user, mapped user and roles [I,L]
xpcmd                [PRIV] Execute a system command using xp_cmdshell [I,L]     

Comandos SCCM

Los comandos SCCM se pueden encontrar ejecutando pysqlrecon [OPCIONES] sccm -h (las banderas globales requeridas deberán especificarse para que esto funcione; consulta uso)

root@kitploit:~
addadmin             [PRIV] Elevate an account to Full Administrator [I]
credentials          [NORM] Display encrypted credentials [I]
logons               [NORM] Display SCCM clients and last logged on user [I]
removeadmin          [PRIV] Remove elevated account or elevated privileges [I]
sites                [NORM] Gather SCCM site info [I]
taskdata             [NORM] Decrypt task sequences [I]
tasklist             [NORM] Display task sequences [I]
users                [NORM] Enumerate SCCM users [I]   

Uso

PySQLRecon tiene opciones globales (disponibles para cualquier comando), y algunos comandos introducen banderas adicionales. Todas las opciones globales deben especificarse antes del nombre del comando:

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

Ver opciones globales:

root@kitploit:~
pysqlrecon --help

Ver opciones específicas de un comando:

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

Cambia la base de datos a la que se autentica, o que se usa en ciertos comandos de PySQLRecon (query, tables, columns, rows), con la bandera --database.

Dirige la ejecución de un comando de PySQLRecon a un servidor vinculado (en lugar del servidor SQL al que se está autenticando) usando la bandera --link.

Suplanta una cuenta de usuario al ejecutar un comando de PySQLRecon con la bandera --impersonate.

--link y --impersonate son incompatibles.

Uso con ntlmrelayx

PySQLRecon se puede usar con proxychains para aprovechar la autenticación retransmitida dirigida a un servicio mssql://. Debido a la forma en que funcionan las sesiones de ntlmrelayx, el parámetro --database no será respetado al ejecutar PySQLRecon (la sesión retransmitida siempre se conectará a la base de datos master). Esto puede ser relevante especialmente cuando se usan módulos SCCM, que requieren que se especifique la base de datos del sitio. Para solucionarlo, primero cambia el contexto de la base de datos usando el módulo query (esto persistirá en cualquier uso posterior de PySQLRecon, con la misma sesión retransmitida). Ejemplo:

root@kitploit:~
proxychains4 pysqlrecon -t <target> -d <DOMAIN> -u <username> -p FAKE query --query 'use new_db_name'

Ahora puedes ejecutar módulos/consultas que apunten a recursos dentro de esa base de datos específica, incluso sin especificar --database, desde la misma sesión de ntlmrelayx.

Desarrollo

pysqlrecon usa uv para gestionar dependencias. Instala desde el código fuente y configura para desarrollo con:

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

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

Añadir un Comando

PySQLRecon es fácilmente extensible: consulta la plantilla y las instrucciones en resources

TODO

  • Añadir comandos SCCM de SQLRecon
  • ¿Añadir soporte para Azure SQL DB?

Referencias y Créditos

  • Impacket
  • @sanjivkawa por el proyecto SQLRecon
  • https://securityintelligence.com/x-force/databases-beware-abusing-microsoft-sql-server-with-sqlrecon/
  • https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410
  • Consulta también MSSqlPwner para otras capacidades ofensivas de MSSQL escritas en Python
  • PXEThief
Descargar herramienta