Che cosa può essere utilizzato per mantenere disattivato xp_CmdShell in SQL Server?

4

È risaputo che chiunque abbia dei privilegi di tipo "SA" può attivare xp_CmdShell e usarlo e include eventuali potenziali aggressori che possono accedere a SQL Server come login con privilegi "SA". Esistono alcune ottime best practice per impedire a un utente malintenzionato di "entrare in SA", compresa la disattivazione dell'accesso "SA", ma questo non impedisce a un utente malintenzionato di entrare come un DBA che potrebbe avere i privilegi "SA" di utilizzando uno qualsiasi di una dozzina di metodi automatizzati di cracking della password.

Nel mio studio sull'argomento, mi sono imbattuto in un articolo al seguente URL link dove ho trovato la seguente citazione:

Because malicious users sometimes attempt to elevate their privileges by using xp_cmdshell, xp_cmdshell is disabled by default. Use sp_configure or Policy Based Management to enable it.

Questa è in realtà una raccomandazione piuttosto inutile per quanto mi riguarda. Poiché gli utenti malintenzionati non possono effettivamente utilizzare xp_CmdShell a meno che non abbiano i privilegi "SA" (o Control Server), cercheranno di entrare come qualcuno con privilegi "SA". Se ci riescono, NON c'è NIENTE di cui sono a conoscenza in SQL Server che impedirà loro di attivare xp_CmdShell e di usarlo per qualsiasi cosa di cui hanno bisogno per utilizzarlo. Ovviamente, è possibile limitare il danno limitando i privilegi degli accessi per il servizio SQL Server e SQL Agent, ma possono comunque creare problemi con il server utilizzando xp_CmdShell.

Quindi, la cosa migliore da fare sarebbe fare in modo che nemmeno gli accessi privati "SA" possano abilitare xp_CmdShell. La parte utile della citazione sopra è che puoi usare "Gestione basata su criteri per abilitarlo", che deduce che puoi usare anche PBM per disabilitarlo.

Con questo pensiero in mente, c'è un modo per usare Windows o qualsiasi cosa all'interno di SQL Server per far sì che anche le persone con privilegi "SA" non possano abilitare xp_CmdShell? Il mio pensiero iniziale è "NO" ma NON sono assolutamente un guru della sicurezza di Windows con qualsiasi mezzo e non sono nemmeno sicuro di cosa dovrei cercare per rispondere a questa domanda.

E, ad essere onesti, non mi interessa da che parte viene fuori ... Ho solo bisogno di una risposta definitiva in un modo o nell'altro.

Grazie per l'aiuto, gente. Lo apprezzo molto.

    
posta Jeff Moden 17.05.2013 - 03:47
fonte

1 risposta

2

Beh, si presume che se un hacker ha poteri amministrativi, allora è finita. È lo stesso per il sistema operativo. Non appena un hacker guadagna l'accesso alla radice, normalmente può fare tutto.

Ciò che era possibile fare (almeno MSSQL 2000) era di abbandonare questa procedura di archiviazione con un comando:

exec sp_dropextendedproc 'xp_cmdshell'

e per aggiungere nuovamente la stored procedure xp_cmdshell con un comando:

exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'

Puoi controllare questo articolo per maggiori dettagli link

    
risposta data 21.05.2013 - 10:50
fonte

Leggi altre domande sui tag