Penetrationstests fristen im Bereich der Informationssicherheit
nach wie vor ein Nischendasein. Selbst die am stärksten ausgelasteten Tester
führen pro Jahr selten mehr als 20 Aufträge aus, deren Ergebnisse fast immer
geheim bleiben und durch strenge Vertraulichkeitsvereinbarungen gesichert sind.
Entsprechend schwierig gestaltet es sich, Penetrationstest-Auswertungen zu
erhalten. Rapid7 hat von Mitte September 2018 bis Ende Mai 2019 über einen
Zeitraum von neun Monaten die Daten von 180 Penetrationstests gesammelt. Die Ergebnisse behandeln nicht nur die interne und externe Netzwerkanalyse, sondern auch
physisches Eindringen, persönliche und elektronische
Social-Engineering-Techniken und Source Code Analysen.
Bei 96 % aller erfassten internen und
externen Netzwerk- und Code Review-Aufträgen meldeten die Penetrationstester
mindestens eine Schwachstelle. Doch nicht jede Schwachstelle ist gleich. Unter
Berücksichtigung des CIA-Triaden-Modells konnten wir feststellen, dass es sich
bei den von Penetrationstestern in externen Netzwerken aufgedeckten
Schwachstellen tendenziell um Vertraulichkeitsschwachstellen handelt wie
schwache Verschlüsselungsstandards oder User-Enumeration-Probleme. Der
Großteil der Integritätsschwachstellen hingegen wird nur bei internen
Netzwerkanalysen gefunden und ausgenutzt.
Die am häufigsten gemeldete Schwachstelle
war “Weak Transport Layer Security (TLS)” – eine Schwachstelle in der
Verschlüsselung von Datenverbindungen und das Musterbeispiel für eine
Vertraulichkeitsschwachstelle. Diese Schwachstellen deuten auf veraltete oder
nicht vorhandene Verschlüsselungsstandards hin, die in nach außen gerichteten
Systemen verwendet werden. Eine Website beispielsweise ist möglicherweise
überhaupt nicht verschlüsselt (reine HTTP-Ressourcen oder
Authentifizierungsmechanismen, die Anmeldeinformationen in Klartext darstellen)
oder verwenden eine Verschlüsselung, die schwächer ist als die aktuelle Standardempfehlung
(z. B. 40 Bit statt 128 Bit Schlüssellänge). Diese Schwachstellen können
Daten wie Passwörter oder sonstige vertrauliche Informationen während der
Übertragung für jeden bloßlegen, der die Möglichkeit hat, die
Netzwerkverbindung abzuhören. Derartige Angriffe sind heutzutage alltäglich,
besonders seit der Veröffentlichung von Firesheep3 durch Eric Butler in 2010.
Ebenfalls unter den Spitzenreitern der Liste
ist die „Schwache Passwortrichtlinie“, die es Benutzern ermöglicht, relativ schwache
Passwörter für den Zugang zu ihren Konten auszuwählen. Diese werden in der
Regel durch ein „Password Spraying“ genanntes Verfahren enthüllt. Zusammen mit
anderen Bedrohungen wie der „OWA-Timing-Attacke“ und der
„SMTP-Mailadressen-Enumeration“ können solche aufgefundenen Schwachstellen,
obwohl sie nur Informationslecks darstellen, schnell dazu führen, dass
Benutzerkonten übernommen werden.
Beachtenswert sind außerdem die
Schwachstellen „Veraltete Software“ und „Fehlende Patches“. Wenn derartige
Sicherheitslücken extern identifiziert werden, deuten sie auf Fehler beim
Schwachstellen-Management und Asset Management hin.
Dennoch kam es nur bei 20 % aller von extern gestarteten Aufträgen zu einem Eindringen ins interne Netzwerk. Denn Kundenorganisationen nutzen zunehmend externe Hosting-Lösungen wie diejenigen von Amazon AWS, Microsoft Azure, Google Cloud Platform und anderen Cloud-Computing-Anbietern. Daher gibt es häufig im Anschluss an die externe Kompromittierung einer vernetzten Softwarekomponente eines Kunden keinen eindeutigen Weg in dessen internes Netzwerk.
Die CIA-Triade umfasst drei Elemente: die
Integrität, die Vertraulichkeit und die Verfügbarkeit. Penetrationstester
interessieren sich hauptsächlich für Schwachstellen, bei denen die Integrität
betroffen ist. Ihre erfolgreiche Ausnutzung bedeutet, dass der Angreifer ein
gewisses Maß an Kontrolle über die verwundbare Anwendung oder Komponente
erhält. Dadurch eröffnen sich dem Angreifer zahlreiche Optionen: Er kann das
kompromittierte System für den dauerhaften Zugang nutzen, sich als einer der
rechtmäßigen Benutzer mit den entsprechenden Zugriffsrechten ausgeben oder vom
betroffenen System gespeicherte, empfangene oder übertragene vertrauliche
Daten stehlen. Wenn Penetrationstester den Begriff „Remote Root“ verwenden,
dann bezeichnen sie damit einen Angriff, der die Integrität des zugrunde
liegenden Betriebssystems eines anvisierten Services vollständig
kompromittiert.
Andererseits geben speziell die Vertraulichkeit
betreffende Schwachstellen dem Angreifer Zugriff auf ansonsten private Daten,
aber keine volle, direkte Kontrolle über das System an sich. Derartige
Schwachstellen sind für einen Angreifer definitiv sehr wertvoll, da
vertrauliche Daten Dinge wie Passwörter, Passwort-Hashes oder Sitzungstokens
enthalten können, die verwendet werden können, um direkten Zugriff auf
Systeme oder Anwendungen zu erhalten. Vertraulichkeitsschwachstellen können
auch subtilere Probleme mit sich bringen, beispielsweise die Möglichkeit,
Daten während der Übertragung abzufangen oder zu verändern.
Das dritte Element der CIA-Triade, die Verfügbarkeit,
bewegt sich für Penetrationstester in aller Regel ganz ausdrücklich außerhalb
ihres Rahmens. Nur die allerwenigsten Organisationen möchten gezielt
Produktivitätsausfälle herbeiführen, selbst im Rahmen eines Testszenarios.
Denial-of-Service (DoS)-Attacken, egal ob Distributed oder anderer Art, sind
sicherlich Bestandteil des Arsenals krimineller Angreifer, doch die meisten Ransomware-Angriffe
nutzen heutzutage Integritätsprobleme aus, um DoS zu verursachen. Sie nutzen
zunächst Integritätsschwachstellen aus, um sich Zugang zum System zu
verschaffen. Diesen verwenden sie dann, um den Speicher des Systems zu
verschlüsseln und eine Lösegeldforderung zu hinterlassen. Eine nennenswerte
Ausnahme bilden hier sogenannte „Booter and Stressor“-Aktivitäten. Bei dieser
kriminellen Strategie wird das Netzwerk des Ziels regelmäßig mit
unerwünschtem Datenverkehr überflutet und dem Unternehmen angeboten, dies
für einen gewissen Preis zu unterlassen.
Passwortmanagement stellt selbst für die
technisch ausgereiftesten IT-Sicherheitsorganisationen eine Herausforderung
dar. Bei fast drei Vierteln (72 %) der Aufträge, die das Erbeuten von
Zugangsdaten beinhalteten, wurde mindestens ein Passwort offengelegt. Und
dieses eine kann meist das eine zu viel sein. 60 % waren leicht zu erratende
Passwörter, für die der Penetrationstester Password Spraying mit generischen
Passwörtern, bekannten Standardpasswörtern und leicht zu erratenden
firmenspezifischen Passwörtern durchführte.
Bei jedem Versuch, Zugangsdaten zu erbeuten,
wird der Hacker zunächst versuchen, herauszufinden, welche Benutzernamen im
jeweiligen Zielbereich (z. B. Website) gültig sind. Benutzernamen sind selten
geheim und folgen tendenziell bekannten Mustern wie
Vorname_Nachname@domain.com, VNachname@domain.com oder VNach@domain.com. Der
Versuch, diese Muster auszufüllen, ist in der Regel mit Open Source
Intelligence (OSINT) verbunden.
Nachdem eine Liste passender Benutzernamen
erstellt wurde, sind die entsprechenden Passwörter der nächste Schritt.
Passwörter sollten geheim und einzigartig sein. Doch leider sind menschliche
Benutzerinnen und Benutzer nach wie vor ziemlich schlecht darin, sich
Passwörter auszudenken, wohingegen Penetrationstester ziemlich gut darin sind,
schlechte Passwörter zu erraten. Tatsächlich sind Passwort-Spraying (das
Austesten von universell gebräuchlichen Passwörtern und Passwortmustern),
erratbare organisationsspezifische Passwörter sowie Listen von häufig
verwendete Standardpasswörter immer noch die besten Methoden, gültige
Passwörter zu finden. Deswegen sollten Organisationen ihren Benutzern
zufällig erstellte Passwörter zuweisen oder festzulegen, dass Passwortmanager
für die Erstellung und Speicherung von Passwörtern verwendet werden müssen.
Die Zuweisung zufälliger Passwörter durch eine Passwortmanagement-Anwendung
ist weit sicherer als die bloße Durchsetzung von Komplexitäts- und
Rotationsregeln für die Passworterstellung. Doch heutzutage ist es in vielen
Unternehmen üblich, dass Passwörter einen Groß- und einen Kleinbuchstaben,
eine Zahl und ein Sonderzeichen enthalten und alle 90 Tage geändert werden
müssen. Doch leider neigen derartige Passwortbeschränkungen dazu, die
Passwortkomplexität zu reduzieren. Denn Menschen tricksen das System aus und
entwickeln unabhängig voneinander Muster wie beispielsweise „Sommer2019!“,
„Herbst2019!“ und so weiter.
Password-Cracking – die Kunst, anhand einer
Liste von Passwort-Hashes herauszufinden, welche Passwörter diese Hashes
generieren – ist in der diesjährigen Studie überraschend stark vertreten. Die
Erbeutung einer Hash-Datei war in diesem Jahr die häufigste Quelle für
Passwortmaterial. Auch spezifischere Ursprünge für Hashes wie beispielsweise
Challenge-Response- Traffic und /etc/shadow wurden gemeldet. Auch hier konnte
festgestellt werden, dass viele der gecrackten Passwörter mit ein wenig Zeit
und Glück auch mühelos hätten erraten werden können, so einfach waren sie.
Die meisten stammten wenig überraschend aus Quellen in Microsoft Windows.
Besonders zu beachten sind die erbeuteten LM-Hashes. Diese sind extrem
unsicher, laufen einigen grundlegenden empfohlenen Methoden der Kryptographie
zuwider und wurden von Microsoft schon lange zugunsten stärkerer Hashing-
Mechanismen verworfen. Doch obwohl sie in Microsoft-Umgebungen, die in den vergangenen
zehn Jahren aktualisiert wurden, im Grunde keine Rolle mehr spielen, bestehen
sie weiterhin hartnäckig und warten nur darauf, von Angreifern ausgenutzt zu
werden. Domain-Administratoren werden nachdrücklich aufgefordert, diese
LM-Hashes endgültig auszurotten, wobei ihnen Microsofts Ratschläge zur Deaktivierung von
LM-Hash-Speicher helfen können.
Grundlegende Netzwerksegmentierung zwischen
„internen” und „externen” Netzwerken scheinen allgemein Wirkung zu zeigen,
besonders angesichts des fortwährenden Umzugs extern zugänglicher Ressourcen
in die Cloud. Penetrationstester, die einen externen Angriff ausführten,
konnten nur in 21 % aller Fälle ins interne LAN eindringen. Speziell gegen
Webanwendungen gerichtete Angriffe endeten fast nie (weniger als 3 % aller
Fälle) in einer Gefährdung des ganzen Standortes. Die meisten Webanwendungen
(über 70 %) wurden nicht im Rechenzentrum des Kunden gehostet. Dadurch wird
dem Angreifer der Weg über eine kompromittierte Webanwendung erheblich
erschwert.
Penetrationstester „gewinnen“ in der Regel,
mit anderen Worten: Sie erreichen das im Rahmen des Auftrags gesetzte Ziel, sei
es Eindringen ins Netzwerk von außerhalb, das Entwenden vertraulicher Daten
oder ein Domain-Admin-Zugang. In konkreten Zahlen ausgedrückt führen 80,6 %
aller externen Penetrationstests zu einem internen Zugang, und dieser mündet
in der Regel entweder in der Kompromittierung eines Domain-Admin-Zugangs (75,9
% aller Fälle) oder der Entwendung vertraulicher Daten (87 % aller Fälle).
Angesichts dieser Zahlen geben manche vielleicht die Hoffnung auf, sich gegen
einen raffinierten und zielstrebigen Angreifer verteidigen zu können: „Was
macht es denn dann für einen Sinn, überhaupt etwas zu sichern?“
Um solcher Verzweiflung entgegenzuwirken,
hilft vielleicht das: Erstens wird der Penetrationstester in rund 15 bis 20 %
aller Fälle von den vorhandenen Sicherheitsmaßnahmen ziemlich effektiv
aufgehalten. Das zeigt, dass der getestete Kunde ziemlich gute Arbeit bei der
Sicherung der ihm wichtigen Daten leistet. Zweitens besteht der Job des
Penetrationstesters darin, akribisch jene dunklen, vergessenen Ecken der
Infrastruktur aufzustöbern, in denen eine verborgene (oder weniger verborgene)
Lücke im vorhandenen Sicherheitskonzept klafft. Wenn eine Organisation
ernsthafte Probleme mit ihrem Patch-Management und der Sicherung ihrer
Webanwendungen hat, ist sie vermutlich noch nicht bereit für einen
Penetrationstest. Was solche Organisationen brauchen, ist eine gründliche
Schwachstellenanalyse, die „leichte“ Ziele identifiziert. Anschließend können
sie dann einen Berater engagieren, der ihnen mitteilt, wo etwas danebengegangen
ist.
Das Erfolgsrezept für Verteidiger, mit dem man den nächsten Penetrationstest „gewinnen“ kann, besteht also darin, sich den Bereichen zu widmen, auf die Angreifer es häufig und oft erfolgreich abgesehen haben:
Über den Autor
Tod Beardsley ist Forschungsdirektor bei Rapid7. Er verfügt über mehr als 20 Jahre praktisches Sicherheitswissen und Erfahrung. Er war in IT-Operations und IT-Sicherheitspositionen in großen Organisationen wie 3Com, Dell und Westinghouse tätig. Heute spricht Beardsley oft auf Sicherheits- und Entwicklerkonferenzen.
Bildrechte: Rapid7