Passive Aufklärung und der DomainFactory-Hack

Teil 1

Einleitung

Am 6.7 wurden Details eines Einbruchs bei DomainFactory bekannt; ein Angreifer mit dem Twitter-Handle @NaHabedere hatte Zugriff auf einen Großteil der Kundendaten und es geschafft, weit in das System einzudringen.

Dieser Artikel beschäftigt sich weniger mit dem unerwarteten Datenreichtum, sondern analysiert, wie der Angreifer sich (höchtswahrscheinlich) Informationen über die zu DF gehörenden Systeme verschafft und seinen Angriff geplant hat, ohne die IP-Bereiche oder Server zu scannen: passive Aufklärung.

df hack 2

Ein gezielter Angriff*) auf ein Unternehmen oder IT-Infrastruktur kann heutzutage sehr genau vorbereitet und verwundbare Systeme gefunden werden, ohne auch nur ein Paket auf die potentiellen Ziele abzufeuern. Als leicht verständliches Bild kann eine Begebenheit aus dem Film "Ocean's Eleven" hinzugezogen werden: Um den Einbruch in den mehrfach gesicherten Tresor vorzubereiten, beschaffen sich die Einbrecher Baupläne und Grundrisse des Gebäudes, in dessen Keller der Tresor sich befindet, um mögliche Szenarien zu evaluieren. Dabei können sie einen Angriffsplan entwickeln, ohne initial auch nur einen Fuß in das Gebäude zu setzen.

planning an attack

Ocean’s Eleven planning the Gig (Photo: Warner Bros.)

Ähnliche Methoden kann man heute verwenden, um IT-Systeme aufzuklären und Angriffe vorzubereiten; wir werden einige Methoden vorstellen, die uns häufig bei Sicherheitsanalysen von ECommerce und IT-Infrastrukturen bei der Analyse und Beurteilung helfen.

crt.sh - eine Liste aller ausgestellten SSL-Zertifikate

Die von Google ausgehende Certificate Transparency Organization zwingt alle Aussteller von SSl-Zertifikaten (Certificate Authorities, CAs) dazu, die für Domains ausgestellten Zertifkate an eine zentrale Stelle zu melden. Diese informationen wiederum werden kostenfrei der Allgemeinheit zur Verfügung gestellt und gibt dami den CAs und Domainbetreibern die Möglichkeit, zu überprüfen, ob ein böswilliger Dritter sich illegitmerweise SSL-Zertifikate besorgt hat, z.B. für MITM - Angriffe, wie 2011 geschehen; Wikipedia kennt mehr Details zur Certificate Transparency Organization.

Nun hat dieser eigentlich gute Ansatz leider einen Haken: wenn ich alle Zertifikate sehen kann, die zu meiner Domain gehören, kann das jeder andere auch. Und dann gibt es da diese nette kleine Webseite, die nach Zerifikaten beliebiger Domains suchen lässt: crt.sh

crt.sh df-hack
DF-Hack via crt.sh vorbereitet?

Wie der obige Screenshot vermuten lässt, kennt derjenige, der DF den großen Datenreichtum beschert hat, um dieses Tool (und gobuster, den legitimen Nachfolger des etwas in die Jahre gekommenen dirbuster).

Untenstehend das Ergebnis der für die Domain ispgateway.de ausgestellten Zertifikate, die unkenntlich gemachten Bereiche zeigen auf Continuous-Integration-Tools, die teilweise noch heute, 12 Tage nach dem Hack, frei über das Internet zu erreichen sind. (Update 19.07.: Die Server sind nach einem Hinweis von uns nicht mehr erreichbar)

In diesem Fall waren es LetsEncrypt-Zertifikate, die uns auf die Spur von Systemen bringt, die eigentlich nur von intern aus erreichbar sein sollten.

crt.sh - Zertifikate für ispgateway.de

Dieser Weg, zu einer Domain gehörende Hostnamen zu finden, reicht häufig aus, um Indikationen auf das eine, aufstehende Kellerfenster zu finden, das man für eine erste, erfolgreiche Infiltration eines Netzwerkes benötigt. Als weitere erfolgreiche Technik sei auf "passive DNS" verwiesen, das im Teil II behandelt wird.

Worauf wir in dieser Stufe besonders achten:

  • Staging/QA/Testsysteme, (staging.ext.geschaeftsbericht.intranet.example.com)
  • interne Managementsysteme (Monitoring, CI, Backup, Dokumentation (puppet.example.com)
  • Intranet/Backoffice (owa.example.com)
  • outdated Software

Jetzt haben wir also ein paar Servernamen, die unsere Aufmerksamkeit erregen und wollen uns die entsprechenden IPs ansehen, ohne selber einen Portscan ausführen zu müssen.

Willkommen auf der Bühne, shodan.io, das schon lange nicht mehr als Geheimtip gilt.

shodan.io

Shodan ist eine Suchmaschine für Maschinen. Die Scanner von Shodan laufen 24/7 durch das Internet, machen einen Portscan auf jede erreichbare IP und stellen das Ergebnis über ein Webinterface und eine API zur Verfügung.

Man kann sich also über Shodan als Proxy jede beliebige, übers Internet erreichbare IP ansehen.

Das machen wir also für eine der IPs, und was lächelt uns da an? Hello World, Hello Jenkins! Hello hidden SSH-Port!

hidden ssh

Danke für die Header, Jenkins!

Wenn man nicht übder die Server-Header an die Version herankommt, sich aber die Startseite ansehen will, ohne sich die Seite direkt anzusehen, kann man verschiedene Online-Tools benutzen, die einem Screenshots bereitstellen. Wir benutzen gerne tools.pingdom.com, da dort neben einem Screenshot noch weitere Metriken angezeigt werden wie nachgeladene Ressourcen, ähnlich Firebug oder den Developer-Tools im Chrome.

pingdom

Jetzt haben wir also ein CI-Tool in der Version 1.212.1, einen Hidden SSH-Port und just in diesem Moment ein Security-Advisory für diese Version mit einer kritischen Lücke:

Arbitrary file read vulnerability 
SECURITY-914 / CVE-2018-1999002
An arbitrary file read vulnerability in the Stapler web framework used by Jenkins 
allowed unauthenticated users to send crafted HTTP requests returning the contents 
of any file on the Jenkins master file system that the Jenkins master process 
has access to.

Da wir weder RedTeam noch böse Angreifer sind, unterbechen wir jetzt, am 18.07.2018 diesen Vortrag, schreiben DF eine Mail mit dem Gefundenen und warten ein paar Tage, bis es weitergeht.

... meanwhile ...

... um festzustellen, dass das DF-Support-Team vorbildlich reagiert und den entsprechenden Server binnen 12h vom Netz genommen oder durch eine Firewall geschützt hat.

Als ReadTeam wäre jetzt der Zeitpunkt, die Waffenkammer aufzuschließen und die Exploits scharfzumachen oder zu entwickeln: wir haben ein paar Hostnamen mit erreichbaren, internen Systemen, angreifbare Software und eine gute Idee, wie wir weitermachen könnten. Zugriff auf ein lokales Filesystem eines CI-Tools bedeutet meist Jackpot für einen Angreifer, da dort häufig Zugangsinformationen oder SSH-Keys zum Zugriff auf weitere Systeme zu finden sind.

Job done!

Zusammenfassung

Passive Daten, gesammelt über Tools wie crt.sh oder passive DNS, geben einem Angreifer im besten Fall wertvolle Informationen über intern genutzte Systeme; gepaart mit den Ergebnissen von Shodan kann man wirkungsvolle Angriffsstrategien entwickeln und dabei auf viel Lärm machende Hilfmittel wie Portscanner oder Schwachstellenscanner fast vollends verzichten.

Direkte aktive Schutzmethoden dagegen gibt es kaum, da die Daten über diese Systeme längst im Internet verfügbar sind; man kann das Wissen um diese Methoden aber langfristig in die eigene Sicherheitsstrategie integrieren und so zukünftige die klassischen Fauxpas zu vermeiden. Wissen ist Macht.

Updates

  • 19.07.: die angesprochenen CI-Server sind nach einem Hinweis von uns nicht mehr erreichbar. +1

Fragen

Dieser Teil der Aufklärung ist Bestandteil unserer Recon-Lösung, bei der wir unseren Kunden helfen zu verstehen, wie Hacker die Infrastruktur eines Unternehemns sehen und analysieren können.

Sie haben Fragen? Wir haben Antworten. Sie erreichen uns zu diesem Thema am besten unter folgender Email-Adresse:

info@zero.bs

Selbstverständlich stehen wir Ihnen unter unseren anderen Kontaktmöglichkeiten zur Verfügung.


Inb4 404: Dont Shoot The Messenger!!!

  • *) wir gehen von einigermaßen talentierten Hackern aus, die ihren Werkzeugkasten genau kennen; das negative Gegenbeispiel wären ScriptKiddies

Referenzen