Web-Sicherheit

Februar 25, 2011

Fernzugang durch SQL-Injection

Filed under: Allgemein — sebastiankuebeck @ 09:00
Tags: , , , , , ,

Zahlreiche Systemadministratoren und Programmierer sind immer noch der Meinung, dass man für einen Fernzugang einen Port in der Firewall für eingehende Verbindungen öffnen müsste. Die Zeiten, in denen das nötig war, sind leider lange vorbei. Auch denken diese Leute, dass fortgeschrittene technische Kenntnisse nötig wären, um Schwachstellen in Webanwendungen aufzudecken und auszunutzen und dass Angriffe auf Webserver beschränkt bleiben würden.

Dieses Demo-Video, dass die Funktionsweise des Werzeugs sqlninja demonstriert, zeigt, wie man mit wenigen Handgriffen eine SQL-Injection-Schwachstelle ausnützt, um einen Fernzugang mittels VNC zu erhalten.

Fernzugang mittels VNC auf den Datenbankserver.

Wie man sich leicht überzeugen kann, ist der Angriff alles andere als schwierig.

Hier ist eine etwas verkürzte Erklärung dessen, was passiert:

Im ersten Schritt wird automatisch eine SQL-Injection-Schwachstelle gesucht. Ist diese gefunden, ermittelt das Werkzeug das Datenbankprodukt (sqlninja funktioniert nur mit Microsofts SQL Server) und dessen Version.

Im zweiten Schritt wird untersucht, ob der von der Webapplikation verwendete Datenbankbenutzer Administratorrechte besitzt. Dies ist in der Praxis häufig der Fall, da Administratoren oft nicht die Zeit und/oder das Wissen haben, einen Datenbankbenutzer für die Webanwendung anzulegen und sicher, dass heißt mit minimalen Rechten, zu konfigurieren. Ist der aktuelle Benutzer kein Datenbankbenutzer,  der Administratorrechte besitzt, kann das Werkzeug mittels einer Brute-Force-Attacke diese Rechte erhalten, wie das zweite video demonstriert.

Danach wird das Kommandozeilenwerkzeug xp_cmdshell aktiviert, mit dessen Hilfe der Angreifer aus dem SQL Server „ausbrechen“ und direkt auf dem Datenbankserver Kommandos absetzten kann. Abschließend wird mittels Metasploit ein VNC-Server auf den Datenbankserver hochgeladen und aktiviert. Das funktioniert auch dann, wenn die Firewall keine eingehenden Verbindungen zulässt, da sich dann der VNC-Server über eine ausgehende Verbindung mit dem Client verbindet.
In der Praxis ist es äußerst selten, dass ausgehende Verbindungen von der Firewall beschränkt werden, da Windows ja seine Updates benötigt und um die Arbeit der Administratoren zu erleichtert, werden ausgehende Verbindungen zu allen Ports meist generell von der Firewall zugelassen.

Wenn man bedenkt, wie weit verbreitet SQL-Injection-Schwachstelle sind (wenn Sie nicht wissen, ob sie eine haben oder nicht, dann haben Sie mit an Sicherheit grenzender Wahrscheinlichkeit eine…), ist es kein Wunder, dass so viele Webapplikationen angegriffen werden.

Es ist die Verfügbarkeit und Bequemlichkeit, sie auszunutzen, die sie für Angreifer so attraktiv macht. Sollte je eine Penetrationstest gegen ihre Infrastruktur durchgeführt werden, werden sie feststellen, dass sich die Tester erst einmal auf die Webanwendungen stürzen werden, denn dort ist es am einfachsten, Schwachstellen zu finden. Schätzungsweise 80% aller Schwachstellen befinden sich genau dort…

1 Kommentar »

  1. […] Es wird wahrscheinlich nicht lange dauern, bis diese in automatischen SQL-Injection-Werkzeugen wie sqlninja und sqlmap Einzug halten. Das spart dem Hacker einen haufen Arbeit… Hinterlasse einen Kommentar […]

    Pingback von Erhöhen der Treffsicherheit von Blind-SQL-Injection-Angriffen « Web-Sicherheit — Juni 14, 2011 @ 17:21 | Antwort


RSS feed for comments on this post. TrackBack URI

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Bloggen auf WordPress.com.

%d Bloggern gefällt das: