Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
msdat — MSDAT: Strumento di attacco ai database Microsoft SQL | Kitploit
Strumenti/GitHubGitHub/quentinhardy/msdat
Escalation di PrivilegiAttacchi alle PasswordExploitRaccolta InformazioniPenetration TestingSicurezza dei Database
GitHubquentinhardy/msdat

msdat

MSDAT: Strumento di attacco ai database Microsoft SQL

Vedi Repository
1.0k145283 anni 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
Quentin HARDY
[email protected]
[email protected]

MSDAT

MSDAT (Microsoft SQL Database Attacking Tool) è uno strumento di penetration test open source che testa la sicurezza dei database Microsoft SQL da remoto.

Esempi di utilizzo di MSDAT:

  • Hai un database Microsoft in ascolto in remoto e vuoi trovare credenziali valide per connetterti al database
  • Hai un account Microsoft SQL valido su un database e vuoi elevare i tuoi privilegi
  • Hai un account Microsoft SQL valido e vuoi eseguire comandi sul sistema operativo che ospita questo DB (es. xp_cmdshell, OLE Automation, Agent Jobs)

Testato su database Microsoft SQL 2005, 2008, 2012, 2014, 2016 e 2019.

Changelog

  • Versione 2.4 (28/12/2022) :
    • 2 nuove opzioni nel modulo search: --privs e --privs-full per ottenere i ruoli e i privilegi dell'utente corrente (es. privilegi di login e database)
    • 1 nuova opzione nel modulo search: --config per ottenere configurazioni e informazioni del database (versione, database, utenti, utenti disabilitati, procedure memorizzate, ecc.)
  • Versione 2.3 (18/12/2022) :
    • compatibile con Microsoft SQL Server 2019
    • nuova opzione --schema-dump nel modulo search per estrarre lo schema e salvare in un file (tranne per i DB predefiniti)
    • nuova opzione --table-dump nel modulo search per estrarre tutte le tabelle e salvare in un file (tranne per i DB predefiniti)
    • nuova opzione --sql-shell nel modulo search per ottenere una shell SQL pseudo minima
  • Versione 2.2 (29/04/2022) :
    • --nmap-file e -l possono ora essere utilizzati nel modulo all e nel modulo passwordguesser. Puoi fornire una lista di target con -l o un file nmap con --nmap-file.
    • Numerose correzioni di bug
  • Versione 2.1 (04/03/2020) :
    • Opzione --nmap-file per caricare tutti i servizi mssql da un file XML nmap (deve essere installato python-libnmap)
  • Versione 2.0 (04/03/2020) :
    • Da Python 2 a Python 3: MSDAT è ora compatibile solo con Python 3. Python 2 non è supportato.
    • Opzione separatore nel modulo password guesser
    • Miglioramenti nella gestione degli errori nell'opzione --put-file del modulo xpcmdshell
    • Miglioramenti nell'opzione reverse shell del modulo jobs
    • Modulo OLE automation - miglioramenti nell'esecuzione dei comandi
    • Modulo OLE automation - implementata reverse shell Powershell
    • nuova opzione per stampare l'elenco dei job degli agent e il loro codice: --print-jobs
  • Versione 1.2 (26/02/2020) :
    • Nuovo metodo nel modulo xpCmdShell: Caricare un file binario con powershell (--put-file)
    • Miglioramento in oleAutomation: caricare il file in modalità binaria invece che come file di testo
  • Versione 1.1 (12/07/2019) :
    • molte altre credenziali predefinite. Grazie a https://github.com/govolution/betterdefaultpasslist/
  • Versione 1.0 (15/02/2017) :
    • prima versione rilasciata

Funzionalità

Grazie a MSDAT (Microsoft SQL Database Attacking Tool), puoi (elenco non esaustivo):

  • ottenere informazioni tecniche (es: versione del database) di un database MSSQL senza essere autenticato
  • caricare un file nmap per scansionare tutti i target MSSQL
  • cercare account MSSQL con un attacco dizionario
  • testare ogni login come password (richiede autenticazione)
  • ottenere una shell Windows sul server del database con
    • xp_cmdshell
    • OLE Automation
    • Jobs
  • scaricare file in remoto con:
    • OLE Automation
    • bulkinsert
    • openrowset
  • caricare file sul server con:
    • OLE Automation
    • openrowset
  • catturare un'autenticazione SMB grazie a:
    • bulkinsert
    • openrowset
    • xp_dirtree
    • xp_fileexist
    • xp-getfiledetails
  • rubare password MSSQL hashate, su qualsiasi versione MSSQL
  • scansionare porte attraverso il database:
    • openrowset
  • eseguire richieste SQL su un server MSSQL remoto attraverso il database (target) con:
    • bulkinsert
    • openrowset
  • elencare file/directory con:
    • xp_subdirs
    • xp_dirtree
  • elencare unità/supporti con:
    • xp_fixeddrives
    • xp_availablemedia
  • creare cartella con:
    • xp_create_subdir
  • cercare dati sensibili nelle tabelle (es. credenziali)
  • ottenere la configurazione del database (database, utenti, procedure memorizzate, ecc.)
  • estrarre lo schema e tutte le informazioni delle tabelle
  • eseguire comandi SQL di base in una shell SQL pseudo

Installazione

Alcune dipendenze devono essere installate per eseguire MSDAT.

In ubuntu:

sudo apt-get install freetds-dev 

o scaricare freetds su http://www.freetds.org/

Installare le dipendenze Python:

sudo pip3 install -r requirements.txt
sudo activate-global-python-argcomplete

o

sudo pip3 install cython colorlog termcolor pymssql argparse python-libnmap
sudo pip3 install argcomplete && sudo activate-global-python-argcomplete

Aggiungere "use ntlmv2 = yes" nel file di configurazione freetds (es: /etc/freetds/freetds.conf o /usr/local/etc/freetds.conf). Esempio:

[global]
        # TDS protocol version
        tds version = 8.0
        use ntlmv2 = yes

Come iniziare

python3 msdat.py -h                                                                                                                                                                                                                                                    2 ⨯
usage: msdat.py [-h] [--version]
                {all,mssqlinfo,passwordguesser,passwordstealer,xpcmdshell,jobs,smbauthcapture,oleautomation,bulkopen,xpdirectory,trustworthype,userlikepwd,search,cleaner}
                ...

               _   _  __  __   _  ___ 
              | \_/ |/ _||  \ / \|_ _|
              | \_/ |\_ \| o ) o || | 
              |_| |_||__/|__/|_n_||_| 
                        
------------------------------------------------------
 _   _  __            __           _           ___ 
| \_/ |/ _|         |  \         / \         |_ _|
| \_/ |\_ \         | o )         o |         | | 
|_| |_||__/icrosoft |__/atabase |_n_|ttacking |_|ool 
                        
-------------------------------------------------------

Di Quentin Hardy ([email protected])

argomenti posizionali:
  {all,mssqlinfo,passwordguesser,passwordstealer,xpcmdshell,jobs,smbauthcapture,oleautomation,bulkopen,xpdirectory,trustworthype,userlikepwd,search,cleaner}
                        
                        Scegli un comando principale
    all                 per eseguire tutti i moduli per sapere cosa è possibile fare
    mssqlinfo           per ottenere informazioni senza autenticazione
    passwordguesser     per conoscere credenziali valide
    passwordstealer     per ottenere password hashate
    xpcmdshell          per ottenere una shell
    jobs                per eseguire comandi di sistema
    smbauthcapture      per catturare un'autenticazione SMB
    oleautomation       per leggere/scrivere file ed eseguire comandi di sistema
    bulkopen            per leggere un file e scansionare porte
    xpdirectory         per elencare file/unità e creare directory
    trustworthype       per diventare sysadmin con il metodo del database trustwothy
    userlikepwd         per provare ogni nome utente MSSQL memorizzato nel DB come corrispondente password
    search              per cercare nei nomi delle colonne
    cleaner             pulire le tracce locali

argomenti opzionali:
  -h, --help            mostra questo messaggio di aiuto ed esci
  --version             mostra il numero di versione del programma ed esci

Esempi

Moduli

  • Puoi elencare tutti i moduli:
./msdat.py -h
  • Quando hai scelto un modulo (esempio: all), puoi usarlo e puoi elencare tutte le funzionalità e opzioni del modulo:
./msdat.py all -h
Scarica lo strumento