Haftungsausschluss: Dieser Beitrag dient ausschließlich Bildungs- und
Informationszwecken. Die hier gezeigten Informationen und Angriffe dürfen niemals für illegale
Zwecke oder auf Systemen, für die keine explizite Erlaubnis eingeräumt wurde, verwendet werden.
Solche Handlungen können gegen geltende Gesetze verstoßen und schwerwiegende rechtliche Konsequenzen
nach sich ziehen.
Zusammenfassung
Dieser Blogeintrag behandelt das Thema Verschlüsselung von externer Netzwerkkommunikation. Das SecCore Essential ist dann erfüllt, wenn die folgenden Punkte umgesetzt wurden:
- Es existieren keine unverschlüsselten externen Dienste
- Sämtliche Webseiten verwenden HTTPS mit einem gültigen Zertifikat
- Der HSTS-Header ist für Webseiten korrekt konfiguriert
- Alle E-Mail Server verwenden TLS für den Versand und Empfang von E-Mails
- Alle verschlüsselten Dienste verwenden TLS 1.2 oder höher sowie sichere Cipher Suites
- Alle TLS-Zertifikate werden regelmäßig erneuert und sind für gängige Browser gültig
Einleitung
TLS (Transport Layer Security) ist ein Protokoll, das die Netzwerk-Kommunikation zwischen Clients und Servern absichert. Es ist dabei so konzipiert, dass es auf anderen Protokollen aufsetzt, um eine sichere Verbindung zu gewährleisten. So wird beispielsweise aus HTTP HTTPS, FTP wird FTPS und auch das SMTP-Protokoll kann mit TLS abgesichert werden. Alle diese Protokolle funktionieren dabei weiterhin wie gewohnt, es muss lediglich vor der eigentlichen Kommunikation eine TLS-Verbindung aufgebaut werden, über die die Daten durch einen Tunnel gesichert übertragen werden.
Komplett ohne Verschlüsselung können Angreifer übertragene Daten mitlesen oder verändern. Dazu ist es lediglich notwendig, eine "Man-in-the-Middle"-Position einzunehmen, also den Datenverkehr zwischen Client und Server abzufangen. Dies kann auf verschiedene Arten erreicht werden:
- Durch Zugriff auf das gleiche Netzwerk, z.B. in einem öffentlichen WLAN
- Durch Kompromittierung von Netzwerkgeräten, z.B. Router oder Switches
- Mithilfe von Schadsoftware, die auf dem Client oder Server installiert ist

Wird hingegen korrekt konfiguriertes TLS verwendet, so wird eine verschlüsselte Verbindung zwischen Client und Server aufgebaut. Dadurch können Angreifer den Datenverkehr nicht mehr mitlesen oder verändern, selbst wenn diese Zugriff auf das Netzwerk haben.

Die meisten öffentlichen Dienste wie Webseiten, E-Mail-Server oder Cloud-Dienste verwenden heutzutage TLS, und Web-Browser oder E-Mail Software zeigen fehlende Verschlüsselung auch deutlich an:

Häufige Angriffsvektoren
Der folgende Abschnitt gibt einen Überblick über mögliche Angriffe auf fehlende oder falsch konfigurierte Verschlüsselung.
Fehlende Verschlüsselung
Die schlechteste Art von Verschlüsselung ist gar keine Verschlüsselung. Wenn ein Dienst unverschlüsselt kommuniziert, können Angreifer den Datenverkehr einfach mitlesen oder verändern. Mit Tools wie Wireshark1 können gängige Protokolle wie HTTP, FTP oder SMTP abgefangen und analysiert werden, um sensible Informationen wie Passwörter, Kreditkartendaten oder persönliche Nachrichten zu stehlen:

Um diesen Angriffsvektor zu vermeiden, müssen alle externen Dienste mit einer Verschlüsselung abgesichert werden.
HTTPS-Downgrade
Befinden sich Angreifer in einer Man-in-the-Middle-Position, können sie Verbindungen von HTTPS auf HTTP herabstufen. Dazu kann eine initiale HTTP-Verbindung abgefangen und die Antwort so verändert werden, dass es scheint, als würde HTTPS nicht unterstützt werden. Der Browser verwendet dann nur noch unverschlüsseltes HTTP, das abgehört werden kann.
Eine Abhilfe bietet HSTS (HTTP Strict Transport Security). Dieser Mechanismus in Form eines HTTP-Headers weist Webbrowser an, ausschließlich HTTPS für eine Webseite zu nutzen. Nach dem ersten Besuch einer Webseite mit HSTS stellt ein Browser zukünftige Verbindungen automatisch auf HTTPS um und verhindert so Downgrade-Angriffe.
Ein vollständiger Schutz ist jedoch erst nach diesem ersten Besuch gegeben, da der Browser die Policy initial erst über HTTPS erhalten muss. Große Webseiten tragen daher ihre HSTS-Policy in sogenannten HSTS-Preload-Listen2 ein, die von Browsern vorinstalliert werden. So ist sichergestellt, dass die Policy auch beim allerersten Besuch einer Webseite wirksam ist.
Schwache TLS-Konfiguration
Selbst wenn TLS verwendet wird, kann eine falsche Konfiguration die Sicherheit einer verschlüsselten Verbindung beeinträchtigen. TLS basiert auf Zertifikaten, die von vertrauenswürdigen Zertifizierungsstellen (CAs) ausgestellt werden. Wenn ein Server ein ungültiges oder abgelaufenes Zertifikat hat, kann die Identität des Servers nicht verifiziert werden. Viele Applikationen zeigen infolgedessen Warnungen an oder lehnen die Verbindung komplett ab:

Auch veraltete TLS-Versionen oder unsichere Cipher-Suites können die Sicherheit einer Verbindung beeinträchtigen und verschiedene Angriffe auf eigentlich verschlüsselte Daten ermöglichen. Dazu zählen beispielsweise:
- Verwendung von veralteten TLS-Versionen (z.B. TLS 1.0 oder 1.1)
- Unterstützung von unsicheren Cipher Suites (z.B. RC4, DES oder 3DES)
Da sich Verschlüsselungsverfahren immer weiter entwickeln, ist es auch möglich, dass eine zuvor sichere Konfiguration mit der Zeit unsicher wird und irgendwann gar nicht mehr geöffnet werden kann, da Browser oder Betriebssysteme die Unterstützung für veraltete Verschlüsselungen einstellen.
Angriffsszenario
Dieser Abschnitt demonstriert, wie fehlende Verschlüsselung dazu führen kann, Daten über ein öffentliches WLAN abzufangen.
Das Angriffsszenario wurde wie folgt aufgebaut:
- Das Zielsystem unterstützt keine Verschlüsselung
- Ein Angreifer befindet sich in Reichweite eines öffentlichen WLANs ohne Verschlüsselung
- Das WLAN setzt keine weiteren Sicherheitsmaßnahmen wie Client-Isolation ein
Bestimmte WLAN-Chips haben die Fähigkeit, rohen Datenverkehr mitzuschneiden. Das bedeutet, dass unverschlüsselte Daten, welche über WLAN-Netzwerke gesendet und empfangen werden, grundsätzlich mitgeschnitten werden können. Die meisten WLAN-Netzwerke sind heutzutage jedoch mit der WPA2 oder WPA3 Verschlüsselung gesichert, was schon einen ersten Schutz gegen diesen Angriff bietet. Es gibt jedoch immer noch viele öffentliche WLANs, die komplett unverschlüsselt sind (also auch kein Passwort zum Verbinden benötigen). In diesem Fall ist es möglich, komplett passiv den Datenverkehr mitzulesen, ohne in irgendeiner Weise mit dem Netzwerk zu interagieren.
Verbindet sich jemand mit diesem Netzwerk, kann nun damit begonnen werden, den Datenverkehr zu analysieren. In diesem Fall kann nachvollzogen werden, wie eine FTP-Verbindung zu einem Server aufgebaut wird. Dabei sind bereits Zugangsdaten ersichtlich:

In einem nächsten Schritt, wurde die Datei Gehaltsliste.xlsx hochgeladen, welche direkt aus dem Datenverkehr extrahiert werden kann:


Gegenmaßnahmen
Um die Vertraulichkeit und Integrität von Daten zu gewährleisten, sollten alle externen Dienste mit TLS abgesichert werden. Auch FTP unterstützt TLS über FTPS, es wird jedoch empfohlen, stattdessen SFTP zu verwenden, da es von Grund auf sicherer konzipiert ist.