Ran Li Dipartimento della parola in quanto la>> 2006>> Marzo

Backdoor MSSQL Extended Stored

Autore: lake2 (http://lake2.0 × 54.org)
Nota: Questo articolo è pubblicato in "difesa hacker" 2006 n. 2, a seguito Webshell, FTPShell più tardi, veniamo giocare bar SQLShell.
Considerare l'uso del database è fino a velocità ed efficienza, così, il sistema di database stored procedure per l'utilizzo di questo meccanismo per migliorare la velocità e l'efficienza. SQL Server 2000 supporta cinque tipi di tipi di stored procedure, qui si parla principalmente di SQL Server stored procedure estesa, perché vogliamo usarlo per fare la porta sul retro.
Dare un'occhiata al libro per la definizione estesa stored procedure:
In SQL Server 2000 al di fuori del contesto di una libreria a collegamento dinamico è chiamata stored procedure estesa, il suo prefisso è xp_. Anche se queste librerie a collegamento dinamico al di fuori del contesto di SQL Server, ma possono essere caricati nel sistema di SQL Server, e in conformità con l'uso di stored procedure modo.
Oh, il più tipico è l'espansione di archiviazione viene fornito con SQL Serve che xp_cmdshell, assassinato in casa è veramente essenziale ah medicina di viaggio. Che lo stoccaggio prolungato richiede i privilegi di amministratore di sistema per l'esecuzione, una volta che l'attuazione del CMD, e che le autorizzazioni, ma MSSQL Oh, e il servizio MSSQL viene avviato, cioè del sistema di autorizzazioni, hey, più che l'amministratore del potere dello zio più grande!
Per motivi di sicurezza, lo zio amministratore generale sono soppresse processo xp_cmdshell e ancor più direttamente con il xp_cmdshell cancellare il file Xplog70.dll. Così molti non Ebbene, non abbiamo avuto di giocare.
La porta sul retro delle mie idee sulla stored procedure estesa di quanto precede, perché l'estensione è una DLL esiste in magazzino, ma che la dll è quello di utilizzare C + + per la preparazione e può essere arbitrariamente chiamare la funzione API. In modo che possiamo scrivere una implementazione del deposito CMD esteso (in origine ho voluto modificare direttamente il xplog70.dll in nome di xp_cmdshell, ma non è riuscito, in questo skip skip).
Stored procedure estesa possono essere create al suo interno VC. Creazione esteso stored procedure, dopo il progetto, VC genererà automaticamente una stored procedure estesa modelli, un po 'a vedere, si può facilmente iniziare a (MS vuole veramente ottenere ah pensiero).
Qui ho principalmente sbarazzarsi del valore di ritorno, con un incremento di una funzione ShellExecute viene utilizzato per eseguire cmd. Tuttavia, una funzione più utile la funzione ShellExecute, può essere selezionata automaticamente in base al suffisso associato programma per aprire il file.
Di seguito è riportato il suo utilizzo:
HINSTANCE ShellExecute (
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);

Il primo parametro è l'handle, dove non; Il secondo parametro è il movimento di file, dove l'elezione "aperto"; Il terzo parametro è l'attuazione del documento, è qui naturalmente cmd.exe, il quarto parametro è il comando parametri di riga, il processo di riempimento dei parametri ricevuti; quinto parametro è la directory di default, la mise vuota, e, infine, un parametro viene visualizzato quando si esegue il programma, MSSQL è un servizio per l'avvio, dove anche il display manager massimo zio deputati non è in grado di vedere l'.
Okay, allora usiamo per la funzione: ShellExecute (0, "open", "cmd.exe", spParam, NULL, SW_SHOW); spParam ottenuto dalla estesa parametri di stored procedure, vedere il codice sorgente per l'applicazione specifica; estensione la preparazione di archiviazione, vedere MSDN.
Uno svantaggio è che non ShellExecute vedere l'eco, ma in cui per ottenere il permesso, non eco tutto bene. Del corso, si può anche scrivere loro spettacoli echo stored procedure estesa.
Ok, il nome esteso stored xp_lake2, dll file denominato xplake2.dll, ora dobbiamo registrare con SQL Server:
USE master
Xp_lake2 'sp_addextendedproc EXEC', 'xplake2.dll'
Si noti che l'aggiunta di stored procedure estesa è necessario per la connessione di SQL Server account con privilegi di amministratore di sistema, utilizzare il percorso relativo, quindi ottenere il file dll in SQL Server nella directory Binn.
Beh, possiamo provare a effettuare una chiamata a xp_cmdshell con gli stessi parametri, ma nessuna eco. In Query Analyzer, dove lo chiama:
USE master
EXEC xp_lake2 'net user> c: \ lake2.txt'
Rapidamente per l'unità C per vedere se vi è generato bar lake2.txt! Per quanto riguarda l'autorizzazione Beh, Oh, naturalmente, è il啦sistema.
SQL Server esteso stored richiedere all'amministratore di sistema di conduzione, di cattivo umore, diamo a cambiare per cambiare, in modo che pubblico può svolgere.
Se si riceve una interfaccia grafica con l'Enterprise Manager è possibile raggiungere facilmente, solo per xp_lake2 autorizzazioni assegnate al Exec del pubblico su OK. Nella Query Analyzer caso di concessione d'uso:
GRANT exec
Il xp_lake2
A pubblico
Poi passare a un normale utente di SQL Server chiama xp_lake2 provare, eseguire il comando o il sistema di privilegi Oh. Oh, dove nel Webshell una prova, il risultato è lo stesso. Quello che segue è l'utilizzo di 2.006 marino esteso stored procedure call in questo screenshot:

Perché il valore di ritorno è vuoto, viene visualizzato un errore, ma il comando viene eseguito, e ora, con la riga di comando net user per vederlo:

Ebbene, conclude l'articolo, abbiamo rapidamente il destino del loro bar SQLShell proprio ^ _ ^
dll può essere scaricato qui: http://www.0 × 54.org/lake2/program/xplake2.dll

Blog correlati

Teoria dei database: algoritmi di apprendimento basato su database SQL (0)

Sponsor

Indice articolo Template

Amici Link consigliati

Fortemente consigliata links

Categorie

Statistiche

Traduttore

Chinese (Simplified) flagItalian flagKorean flagChinese (Traditional) flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croatian flagDanish flagFinnish flagPolish flagSwedish flagNorwegian flag          

Tags

Top View