SQL-Injection mit sqlmap

Vollautomatik justiert den Angriff

Von Uli Ries

SQL-Injections können inzwischen zu weit mehr missbraucht werden als lediglich dazu, Inhalte von Datenbanken zu verändern. Dies demonstrierte der IT-Sicherheitsspezialist Bernardo Damele Assumpcao Guimaraes im Rahmen einer Sicherheitskonferenz.

Im Unterschied zu bisher bekannten SQL-Injections beschränkt sich Guimaraes mithilfe des von ihm programmierten Tools sqlmap nicht darauf, Tabellen in den Datenbanken zu modifizieren. Sein Tool wurde konzipiert, um komplexe Angriffe mit gestapelten SQL-Kommandos zu automatisieren und so das dem Datenbankserver zugrunde liegende Betriebssystem zu übernehmen – sozusagen SQL-Injection 2.0.

Taktik nach Gelände

Das Open-Source-Programm sqlmap beherrscht diverse Angriffsarten, um alle gängigen unter Windows und Linux laufenden SQL-Server anzugehen; sqlmap erkennt, ob es sich um einen Server mit einer MySQL-, PostgreSQL-, DB2-, Oracle- oder Microsoft-SQL-Server-Datenbank handelt und wählt automatisch den jeweils passenden Angriffsweg.

Laut Guimaraes unterscheiden sich die Angriffsmethoden in Abhängigkeit vom Servertyp fundamental, so dass für jeden Typ eigene Kommandostapel hinterlegt werden mussten. Die sqlmap-Dokumentation erläutert, dass je nach Angriffszweck auch der für die Datenbank verwendete User auf dem Zielsystem verschiedene Nutzerrechte haben muss. Wie Guimaraes in seinem Vortrag erklärte, sind jedoch die meisten Datenbankinstallationen – aus Bequemlichkeit oder aufgrund von Unwissenheit der Administratoren – so konfiguriert, dass sqlmap bei seinen Attacken Erfolg hat.

Grundlage für alle weiterführenden Angriffe ist sqlmaps Fähigkeit, beliebige Dateien vom Datenbankserver zu lesen bzw. auf diesen zu schreiben. Die Software bedient sich hierzu standardisierter SQL-Kommandos, die ebenfalls je nach Servertyp variieren. Das Schreiben von Daten ist vergleichsweise komplex: Hierzu konvertiert sqlmap die hochzuladende Datei erst in eine hexadezimale Zeichenkette, teilt die Kette z.B. beim Angriff auf eine MySQL-Maschine in maximal 1024 Byte große Teilstücke und kopiert die Teilstücke dann in zwei Schwüngen in eine eigens angelegte Tabelle.

Serie: IT-Sicherheit
Teil 1 beschreibt die heutige IT-Sicherheitslage: Das Web bietet Angreifern bequeme Einfallstore. Teil 2 benennt die Lücken in Firmennetzwerken und zeigt die Tricks von Hackern und Spionen. Teil 3 skizziert die Zukunft der Gefahrenabwehr: System und Sicherheit unter einem Hut.

Der Tabelleninhalt wird dann auf Filesystemebene in eine Datei ins temp-Verzeichnis des Datenbankservers kopiert, da alle User in dieses Verzeichnis schreiben dürfen. Das Zerstückeln des Files ist nötig, um laut Guimaraes eventuelle Beschränkungen des zum Datenbankserver gehörenden Web-Frontends zu umgehen.

Trifft sqlmap beim Schreibversuch auf einen Microsoft-SQL-Server, wird das betreffende File in 64 KByte große Stücke zerlegt. Das ist genau die Dateigröße, die das auf Windows-Maschinen vorhandene debug.exe verarbeitet. Denn sqlmap missbraucht debug.exe, um die 64-KByte-Files zu einer einzelnen, ausführbaren Datei zusammenzubauen.

Frei für die Übernahme

Der erfolgreiche Upload ist nun die Grundlage für die eigentliche Neuerung von sqlmap, nämlich vollständigen Remote-Zugriff per SQL-Injection zu erzielen. Wird sqlmap mit dem (nicht dokumentierten) Parameter -os-pwn gestartet, versieht sqlmap den zum Metasploit-Framework gehörenden Client meterpreter automatisch mit den vom Angreifer gewünschten Parametern. Vor dem Upload kodiert sqlmap meterpreter zuerst mit dem in Metasploit integrierten Encoder msfencode, um beim Upload eventuell vorhandene Virenscanner ins Leere laufen zu lassen. War der Upload erfolgreich, startet sqlmap meterpreter je nach Betriebssystemumgebung entweder per sys_exe oder xp_cmdshell. Auf diese Weise kann der Anwender den Datenbankserver vollständig aus der Ferne kontrollieren und eventuell weitere Server im Intranet angreifen.

Uli-Ries.jpg

Uli Ries ist freier Journalist und Autor mit abgeschlossene journalistischer Ausbildung und langjähriger Erfahrung (u.a. bei CHIP, PC Professionell und www.notebookjournal.de). Seine Spezialgebiete sind Mobilität, IT-Sicherheit und Kommunikation – zu diesen Themen tritt er immer wieder auch als Moderator und Fachreferent auf.


Kontakt via Xing

Nützliche Links