„I hacked the German armed forces, and all I got“ …
For english version see my personal blog page.
Es ist noch gar nicht so lange her, da hat mich ein alter Freund darauf hingewiesen, dass die Bundeswehr über eine Vulnerability Disclosure Policy verfügt. „Was ist das?“ – höre ich den Leser jetzt fragen.
Vulnerability Disclosure Policy
Eine Vulnerability Disclosure Policy erlaubt es einem Sicherheitsforscher, wie beispielsweise mir, ungestraft das Netzwerk der Bundeswehr zu hacken. Klingt zu gut um wahr zu sein? Nein, ist ehrlich wahr. Einzige Auflage ist es, dass eine aufgedeckte Verwundbarkeit eines Systems im Netzwerk der Bundeswehr nicht dafür genutzt wird, um Daten zu extrahieren, sondern verantwortungsvoll an die entsprechende Dienststelle gemeldet wird.
Motivation
Der findige Leser denkt jetzt sicher gerade – „Gratis Pentests, spitze!“ – und ja, da liegt vielleicht ein Quäntchen Wahrheit darin. Allerdings muss es sich für einen Sicherheitsforscher auch lohnen. Neben Ruhm und Anerkennung winken oft Goodies, wie beispielsweise Tassen oder T-Shirts als Belohnung. Nun ist es aber so, dass ich bereits genug T-Shirts im Schrank habe und Tassen habe ich so viele, dass ich nicht genügend Kaffee kochen könnte, um sie zu füllen.
Tja, glücklicherweise ist die Bundeswehr nicht die niederländische Regierung. Und glücklicherweise gibt es bei der Bundeswehr einen viel cooleren Preis – die VDPBw-Coin. Das sollte also genug Motivation sein, um loszulegen.
Vorgehen
Wie geht man nun aber vor, wenn man „die Bundeswehr hacken“ will. Anders als bei einem Penetrationstest befindet man sich in einer Situation, in der man nichts weiter als den Namen seines Zieles kennt.
Zum Vergleich: Bei einem Penetrationstest einigt man sich vor dessen Beginn auf einen „Scope“, also was angegriffen werden soll und auf ein Ziel, also was soll der Penetrationstester erreichen.
Im Gegensatz dazu nennt einem die Bundeswehr aber nicht die Systeme, die man angreifen soll. Das muss man also schön selbst herausfinden.
Aufklärungsarbeit
Das bedeutet, zuerst muss man etwas Aufklärungsarbeit (Reconnaissance) leisten. Fast wie bei der Bundeswehr, richtig?
Neben Quellen, wie etwa der RIPE-Datenbank oder Shodan kommen hierbei auch Angriffe, wie beispielsweise Subdomänen raten und Analyse von Webzertifikaten ins Spiel.
Das Ziel der Aufklärungsarbeit ist es möglichst viele Domänen und Subdomänen des Angriffsziels herauszufinden. Dies bildet die Grundlage für die nachfolgenden Angriffe.
Netzwerkanalyse
Hat man nun genügend Domänen eingesammelt, wird der Test auch schon etwas „praktischer“. Während der Netzwerkanalyse werden verfügbare Dienste identifiziert, Webseiten automatisiert betrachtet und Produktversionen eingesammelt.
So kann der Sicherheitsforscher seine Angriffe weiter schärfen. Auch das Erraten von gültigen Pfaden und Dateien auf Webservern spielt eine elementare Rolle.
Der Fund
Hat der Sicherheitsforscher dann etwas interessantes gefunden (Eine Webpage die alt aussieht, typische Anwendungen mit Verwundbarkeiten, Error- oder Debugseiten die Informationen preisgeben) dann heißt es Handarbeit.
Ein Fund ist nur dann ein Fund, wenn er bewiesen werden kann. Zumindest ist dies meine Leitlinie für das Aufspüren einer Verwundbarkeit. Das heißt in diesem Fall, dass man die Scan-Ergebnisse von Hand reproduzieren können muss.
Oft entstehen hierbei sogar noch viel tiefgreifendere Möglichkeiten für die Ausnutzbarkeit einer Schwachstelle.
Ich verzichte in diesem Artikel bewusst darauf, Schwachstellen zu nennen, die ich gefunden habe oder Details darüber preiszugeben. Aber man darf mir glauben, wenn ich sage, dass vom einfachen Infoleak (weniger interessante Debuginformationen) bis hin zur SQL-Injection (direkte Interaktion mit der zugrundeliegenden Datenbank) alles dabei war, alles 😀 .
Nun folgt der entscheidende Teil.
Das Reporting
Damit die Meldung der Schwachstelle für den Angegriffenen auch nachvollziehbar ist und der Angegriffene diese entsprechend schließen kann, ist es wichtig, dass das Reporting ausführlich ist.
Dafür stellt die Bundeswehr sogar eine Vorlage und eine zentrale E-Mail-Adresse zur Verfügung.
An diese Adresse richtet man folglich Details, wie die Nachfolgenden:
- Bezeichnung der Schwachstelle
- Schwachstellentypus
- Eine Zusammenfassung (nicht technisch)
- Was ist betroffen und wie wird es ausgenutzt
- Technische Details zur Nachvollziehbarkeit
- Proof-of-Concept (im besten Fall ein klickbarer Link)
- Und ganz wichtig: Ein Lösungsansatz
Im Wesentlichen unterscheidet sich eine solche Meldung nur wenig bis gar nicht von einem Report, der aus einem Penetrationstest entsteht.
Diese Informationen schickt man dann verschlüsselt (PGP) an die bereitgestellte E-Mail-Adresse. Eine Eingangsbestätigung folgt dann kurz darauf.
Nun heißt es warten…
Der Erfolg
Wie bekomme ich eigentlich mit, ob das geklappt hat?
Wer dem „Cyber- und Informationsraum Bundeswehr“ – kurz cirbw – auf Twitter folgt, kann eine solche Meldung mit dem Hashtag #VDP aufschnappen.
Und mit etwas Glück entdeckt man dann seinen eigenen Namen wieder. Oder man schaut mal in der Hall-of-Fame der Bundeswehr vorbei.
Auszeichnung
Hat man drei oder mehr Verwundbarkeiten gemeldet, so qualifiziert man sich für die VDPBw-Coin, die einem postalisch zugeht. Und, was soll ich sagen?
Chic, oder?
Fazit
Hat es sich gelohnt, mitzumachen? Ja, ich würde sagen, dass es ziemlich viel Spaß gemacht hat.
Hätte ich es auch für ein T-Shirt oder eine Tasse gemacht? Sicher doch! Oder auch einfach so. Das ist Ehrensache.
Zum Autor
Patrick Hener (ehemaliger Mitarbeiter)
IT-Security Consultant