Obwohl Linux als freie Software kostenlos verfügbar ist, setzen viele beim Unternehmenseinsatz auf Enterprise-Distributionen mit Support. Wo die Stärken der ... (mehr)

Datenbank auslesen

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 ).

Abbildung 2: Die Password-Knack-Funktion findet mithilfe eines Brute-Force-Angriffs die Passwörter heraus.

Innerhalb von nur etwa 35 Sekunden war SQLmap in der Lage, sensible Daten aus der Datenbank zu extrahieren.

Takeover

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 ).

Abbildung 3: Die durch die SQL-Injection abgelegten Dateien auf dem Server, die zum Beispiel eine Remote Shell realisieren.
Abbildung 4: Meterpreter feuert eine ganze Breitseite auf den Server ab und installiert auf Wunsch sogar Backdoors.

Ähnliche Artikel

Kommentare

Sehr gut!

Sehr informativer und guter Artikel! Weiter so!

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023