SQLmap kann beispielsweise mit
»--dump-all
«
ungefiltert den kompletten Inhalt der Datenbank ausgeben, oder nur einzelne Datensätze durch
»--dbs
«
. Da eine Datenbank viele irrelevante Informationen enthalten kann, ist es sinnvoll, die Attacke auf die wichtigen Daten zu beschränken und damit den Vorgang zu beschleunigen. Die Befehlskette wird um
»--dbs
«
erweitert, und der Benutzer erhält die verfügbaren Datenbanken.
available databases [5]: [*] cdcol [*] dvwa [*] information_schema [*] mysql [*] test
Besonderes Augenmerk sollte man auf die Datenbanken
»information_schema
«
und
»dvwa
«
legen. Die Datenbank
»information_schema
«
gibt Auskunft über Metadaten der Datenbank wie Datentypen oder Zugriffsberechtigungen, dies kann bei gezielten Attacken als wertvolle Informationsquelle dienen.
»dvwa
«
ist allem Anschein nach die Datenbank von Interesse. Um die darin enthaltenen Datensätze zu erhalten, wird die Befehlskette mit der Option
»-D dvwa
«
erweitert.
Database: dvwa [2 tables] +-----------+ | guestbook | | users | +-----------+
Nun hat der User einen Überblick über die verfügbaren Tabellen der Datenbank. Um an wertvolle Informationen zu gelangen, wird die Tabelle
»users
«
näher betrachtet. Der Befehl wird durch
»-T users
«
erweitert. Die Ausgabe listet anschließend die verfügbaren Spalten aus, und von welchem Datentyp diese sind (
Listing 1
). Um nun den Inhalt der Tabelle zu erhalten, wird durch
»--dump
«
erweitert. Die finale Befehlskette sieht jetzt folgendermaßen aus :
Listing 1
Users-Tabelle
python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=ce0aa7922720f3190bf9bbff7f24c434;security=low" --forms -D dvwa -T users --columns --dump
Sqlmap hat erkannt, dass sich in der Tabelle
»password
«
Passwort-Hashes befinden, die das Programm mithilfe von Wörterbuchattacken knacken kann. Nach wenigen Sekunden sind die Benutzerpasswörter im Klartext verfügbar (
Abbildung 2
).
Innerhalb von nur etwa 35 Sekunden war SQLmap in der Lage, sensible Daten aus der Datenbank zu extrahieren.
SQLmap bietet in Verbindung mit Metasploit die Option, das zugrunde liegende System zu übernehmen. Dabei kann der Anwender aus verschiedenen Modulen wählen. Abhängig von der Datenbank gibt es verschiedene Exploits, die Zugriff auf den Server verschaffen. Hier wird die Option
»--os-pwn
«
verwendet, die bei Servern mit Windows 2003 R2 eine Remote Shell verschaffen kann.
Nach der Erweiterung des Befehls um
»--os-pwn
«
wählt man zum Beispiel die Option 1 (
»TCP : Metasploit Framework
«
), wenn das Programm wissen will, auf welche Art es einen Tunnel erstellen soll. SQLmap versucht nun, eine Datei auf dem Server System abzulegen und sie dann aufzurufen (
Abbildung 3
).
Sehr gut!
Sonntag, 27. Januar 2013 19:15:12