Was ist Zerologon?

Zerologon ist eine Schwachstelle in der Kryptografie des Netlogon-Prozesses von Microsoft, die einen Angriff auf die Domain-Controller von Microsoft Active Directory ermöglicht. Mit Zerologon kann ein Hacker die Identität eines beliebigen Computers annehmen, auch die des Root-Domain-Controllers.

Zerologon

Zerologon ist der Name einer in CVE-2020-1472 identifizierten Schwachstelle. Diese entsteht durch eine Schwäche im Anmeldevorgang: Obwohl der Initialisierungsvektor (IV) stets eine zufällige Zahlenkombination sein sollte, besteht er immer nur aus Nullen.

Der Schweregrad dieser gefährlichen Schwachstelle beträgt nach dem Common Vulnerability Scoring System (CVSS) 10. Das entspricht der höchsten Stufe (CVSS v3.1). Es gibt bereits einige aktive Proof-of-Concept(PoC)-Exploits, und es ist sehr wahrscheinlich, dass in Kürze tatsächliche Angriffe zu erleben sein werden.

Gemäß einer Notfallanweisung der Cybersecurity and Infrastructure Security Agency (CISA) müssen zivile Bundesbehörden in den USA alle betroffenen Windows Server sofort patchen oder deaktivieren. Privaten Organisationen wird dringend empfohlen, dieser Anweisung ebenfalls zu folgen. Microsoft veröffentlichte die ersten beiden Patches im August 2020. Diese müssen auf alle Domain-Controllern ausgerollt werden.

Diese Schwachstelle nutzt eine kryptografische Schwäche im Active Directory Netlogon Remote Protocol von Microsoft (MS-NRPC). Diese ermöglicht es Anwendern, sich bei Servern anzumelden, die NTLM (NT LAN Manager) verwenden. 

Das größte Problem bei dieser Schwachstelle ist, dass MS-NRPC auch dafür verwendet wird, bestimmte Account-Änderungen zu übertragen, zum Beispiel Service-Account-Passwörter. Wenn man an den Ursprung denkt, ergibt das Hinzufügen dieser Funktion durchaus Sinn. Die mangelnde Validierung der Quelle der Anforderung, diese Passwörter zu ändern, stellt jedoch inzwischen ein erhebliches Sicherheitsproblem dar.

Und es kommt noch schlimmer. Die Verschlüsselung, mit der MS-NRPC versehen wurde, ist nicht klug gewählt. Im Jahr 1883 veröffentlichte der niederländische Kryptograf Auguste Kerckhoff zwei Arbeiten unter dem Titel La Cryptographie Militaire (Kryptografie zu militärischen Zwecken), in denen er die sechs Grundprinzipien für die Gestaltung kryptografischer Systeme beschrieb. 

Das bekannteste dieser Prinzipien, das Kerckhoff-Prinzip, besagt, dass Kryptografieschlüssel stets geheim zu halten sind. Außerdem sollte sich niemand darauf verlassen, dass die Geheimhaltung des Algorithmus zum Schutz der Daten ausreicht. Stattdessen sollten bekannte, hinreichend getestete und erwiesenermaßen bewährte Algorithmen verwendet werden.

Ursprünglich wurde für die Verschlüsselung des Anmeldeprozesses in Windows NT der Algorithmus 2DES verwendet. Inzwischen ist bekannt, dass es bei diesem Algorithmus Probleme gibt. Heute verwendet MS-NRPC den Advanced Encryption Standard (AES). Dieser gilt als Standard für die Verschlüsselung von Daten. 

Zusätzlich zur Wahl eines bewährten und robusten Algorithmus sind weitere Einstellungen festzulegen, um eine angemessene Stärke sicherzustellen. MS-NRPC verwendet eine fragwürdige Einstellung namens Advanced Encryption Standard – Cipher Feed Back 8bit (AES-CFB8). Undurchsichtig heißt, dass diese Einstellung weder gut bekannt noch gut getestet ist. 

Die Verwendung von AES-CFB8 in MS-NRPC führt zu einem Problem mit dem IV. Dieser sollte eine Zufallszahl sein. In MS-NRPC ist der Vektor jedoch auf einen festen Wert von 16 Byte an Nullen festgelegt. Das ist alles andere als eine Zufallszahl. Die Zahl ist vorhersehbar. Kryptografie wird häufig dann wirkungslos, wenn sie vorhersehbar ist.

So kam diese Schwachstelle ans Licht

Tom Tervoort, ein niederländischer Research-Experte bei Secura, machte diese Schwachstelle im September 2020 bekannt. Sie wurde bereits im August gepatcht, aber erst als der Research-Spezialist im September seinen Bericht veröffentlichte, waren PoCs und andere Aktivitäten zu beobachten. 

In seinem Bericht beschreibt Tervoort, was er entdeckte und wie es dazu kam. Während seiner Research-Aktivitäten stellte er einen erheblichen Mangel an Informationen über MS-NRPC fest. Er wurde neugierig und bemühte sich um weitere Informationen.

Tervoort suchte ursprünglich nach einem Person-in-the-middle-Angriff, entdeckte jedoch eine weitere Schwachstelle, die in CVE-2020-1424 beschrieben wird. Im weiteren Verlauf seiner Forschung identifizierte er die Schwachstelle, die heute als Zerologon bekannt ist. 

Der entscheidende Teil seiner Entdeckung ist, dass Microsoft eine spezielle Kryptografie-Variante implementiert hat, die sich von allen anderen RPC-Protokollen unterscheidet. In den Tagen von Windows NT wurden Konten, die einem Computer zugewiesen waren, nicht als Prinzipal erster Klasse gekennzeichnet. Aus diesem Grund konnte Microsoft Computer- oder Maschinenkonten nicht über die standardmäßige Kerberos- oder NTLM-Authentifizierung verifizieren. 

Folglich griffen die Entwickler zu einer Alternative. Es ist unglaublich schwierig, Verschlüsselungscode und -protokolle zu entwickeln, die nicht gehackt werden können. Tatsächlich kann es sehr lange dauern, bis die Fehler entdeckt werden. Das war auch hier der Fall.

So funktioniert der Angriff

Über diese Schwachstelle können Hacker die Kontrolle über einen Domain-Controller (DC) erlangen, einschließlich des Root-Domain-Controllers. Dies erfolgt durch das Ändern oder Entfernen des Passworts für ein Service-Konto auf dem Controller. Die Hacker können dann einfach einen Denial-of-Service- oder Take-over-Angriff auslösen und so das gesamte Netzwerk übernehmen.

Damit Angreifer diese Schwachstelle ausnutzen können, müssen sie in der Lage sein, eine TCP-Session mit einem DC einzurichten. Wenn sie sich physisch im Netzwerk befinden, könnten sie dies am Schreibtisch eines Benutzers oder etwa an einem offenen Port in einem Konferenzraum tun. 

Diese Exploits gelten als Insider-Angriffe – für ein Unternehmen sind dies heute die kostspieligsten. Sie können von außerhalb des Netzwerks durchgeführt werden, solange die Hacker an irgendeiner Stelle die TCP-Session zum Controller initiieren können.

Tom Tervoort entdeckte, dass bei Verwendung von AES-CFB8 mit einem festen IV von 16 Byte an Nullen wahrscheinlich einer von 256 Schlüsseln verschlüsselten Text erstellt, der ausschließlich aus Nullen besteht. Ein Angreifer muss also nur eine sehr kleine Zahl von Schlüsseln ausprobieren, um einen ausschließlich aus Nullen bestehenden verschlüsselten Text zu erstellen. Der Computer eines Hackers würde hierfür höchstens zwei bis drei Sekunden benötigen.

AES-CFB8-Verschlüsselung (IV aus Nullen und Klartext) – Diagramm

Warum ist das wichtig?

Wenn die Maschine, die mit einem DC kommuniziert, einem Anwender gehört, der nur alltägliche Dinge tut, gibt es kein wirkliches Problem. Zwar wird dieser schlecht konstruierte verschlüsselte Text erstellt, aber die Netzwerkauthentifizierung funktioniert. Das Problem tritt erst dann auf, wenn ein Hacker versucht, das System auszunutzen.

Bei dem von Tervoort belegten Angriff müsste der Hacker zunächst die Anmeldeinformationen bzw. das Passwort eines Clients im Netzwerk vortäuschen. Aufgrund der schlechten Implementierung des IV in MS-NRPC braucht es höchstens 256 Versuche, bis das gelingt. 

In der Regel wird das Konto eines Anwenders gesperrt, wenn dreimal das falsche Passwort eingegeben wurde. Dies gilt jedoch nicht für Computer- oder Maschinenkonten. Wenn sich ein Computer anmeldet, gibt es kein Limit für die Eingabe falscher Passwörter. Hacker können kontinuierliche Versuche in einem kurzen Zeitraum laufen lassen, bis sie Zugang erhalten. Hacker müssen einen der Schlüssel finden, die einen ausschließlich aus Nullen bestehenden verschlüsselten Text erstellen.

Was können Hacker tun, wenn es ihnen gelungen ist, die Identität eines Computers im Netzwerk vorzutäuschen? Allein durch das Vortäuschen einer Identität kennen die Angreifer noch nicht den tatsächlichen Schlüssel für die Sitzung. Es ist ihnen lediglich gelungen, eine andere Identität vorzutäuschen, indem sie aus 256 Schlüsseln denjenigen gefunden haben, dessen verschlüsselter Text ausschließlich aus Nullen besteht. Der nächste Schritt besteht in der Deaktivierung des Vorgangs, der als „Signing and Sealing“ (Signierung und Versiegelung) bezeichnet wird.

Die RPC-Signierung und -Versiegelung ist der Mechanismus für die Transportverschlüsselung innerhalb von MS-NRPC. Dies scheint ein logischer Prozess zu sein, da mehr übertragene Daten verschlüsselt werden sollten. In MS-NRPC ist dies jedoch eine optionale Funktion, die deaktiviert werden kann, indem einfach ein Flag in der Kopfzeile einer Nachricht gesetzt wird. 

Nachdem „Signing and Sealing“ (Signierung und Versiegelung) deaktiviert wurde, werden Nachrichten offen versendet. Hacker wären dadurch in der Lage, jede beliebige Aktion auszuführen. Sie könnten auch das Passwort entfernen oder einen anderen Wert als Passwort festlegen. Im Februar 2021 wird Microsoft einen Patch veröffentlichen, der Signierung und Versiegelung als obligatorisch festlegt.

Der dritte Schritt besteht in der Änderung des Passworts für das Konto, das für die Täuschung verwendet wird. Am effektivsten wäre es, wenn es sich dabei um das Konto eines AD-Servers oder sogar des Root-AD-Servers handelte. Zur Änderung des Passworts verwenden Angreifer die Nachricht NetServerPasswordSet2 in MS-NRPC. 

Zum Ändern des Passworts muss einfach nur der Frame mit dem bevorzugten neuen Passwort gesendet werden. Am einfachsten ist es für Hacker, das Passwort zu entfernen oder auf einen leeren Wert festzulegen. Sie können sich dann über einen normalen Prozess anmelden. 

NetrServer


Wenn der Angriff auf einen zufällig ausgewählten Computer im Netzwerk zielt, könnte sich dieser Computer nicht mehr anmelden. Die erste Folge eines solchen Angriffs wäre also einfach ein Denial-of-Service-Angriff auf den betreffenden Computer.

Globale Auswirkungen

Mittlerweile sind mehrere öffentliche PoC-Exploits verfügbar. Wenn die AD-Server nicht gepatcht werden, kann dies große Schäden für Unternehmen verursachen. Der Angriff könnte dazu genutzt werden, Ransomware in das Netzwerk einzuschleusen. 

Es gibt Tools, mit denen Sie prüfen können, ob Ihre Server gefährdet sind. Tom Tervoort und Secura haben ein Tool auf GitHub veröffentlicht, mit dem Sie prüfen können, ob Ihre Domain-Controller gepatcht wurden oder ob sie gefährdet sind.

Der Patch für CVE-2020-1472

Im August 2020 veröffentlichte Microsoft einen Patch für CVE-2020-1472 (Zerologon). Alle AD-Server (2008 R2 und höher) sollten so bald wie möglich gepatcht werden. Die durchschnittliche Zeitspanne zwischen der Veröffentlichung eines Patches und seinem Einsatz ist jedoch immer noch zu lang. 

Forscher geben an, dass in einer durchschnittlichen Organisation nach der Veröffentlichung eines Patches zwischen 60 und 150 Tage (ungefähr 5 Monate) vergehen, bis der Patch tatsächlich installiert wird. Diese Zeitspanne wird als Mean Time to Patch (MTTP) bezeichnet. 

Leider ist der neu herausgegebene Patch nicht die universelle Lösung des Problems. Microsoft plant, eine zweite Version des Patches mit den entsprechenden Durchsetzungsfunktionen Anfang Februar 2021 zu veröffentlichen.

Ab diesem Zeitpunkt müssen alle Geräte den Secure-Channel-Modus verwenden. Andernfalls erhalten sie keinen Zugriff. Ältere, nicht konforme Geräte müssen manuell einer Gruppenrichtlinie hinzugefügt werden, die diesen nicht konformen Geräten ausdrücklich Zugriff gewährt.

Virtuelles Patching

In jedem Fall sollten herkömmliche Sicherheitsverfahren angewendet werden, um kompromittierte Konten und Netzwerke, bösartigen Datenverkehr und andere Indikatoren für Gefährdungen (Indicators of Compromise, IoC) zu identifizieren. Intrusion-Prevention-Systeme (IPS) und Anti-Malware-Software für Netzwerk und Host-Geräte (alle Endpunkte) sind essenziell, wenn es darum geht, Ransomware, Malware und andere Bedrohungen zu entdecken. 

Protokolle müssen von einem SIEM gesammelt, zentralisiert und analysiert werden. Sobald die Protokolle analysiert sind, sollten Personen und Prozesse zur Verfügung stehen, die auf Anzeichen für Gefährdungen reagieren können. An diesem Punkt sollte ein Notfallteam übernehmen, das über robuste Verfahren und Kenntnisse verfügt. Dieses Team sollte das Ausmaß der Gefährdung ermitteln und eine Lösung entwickeln.

Selbst wenn ein Anbieter einen Patch veröffentlicht hat, benötigen viele Kunden Zeit, um Patches auszurollen und weitere Sicherheitsmaßnahmen zum Schutz der Umgebung zu implementieren. Virtuelles Patching, beispielsweise mithilfe von IPS, bietet Administratoren und Sicherheitsexperten ein weiteres Ass im Ärmel. 

Es hilft ihnen, den Kunden wichtige Zeit für die Sicherung ihrer Netzwerke zu verschaffen. Hersteller-Patches sind dennoch die empfohlene Maßnahme. Virtuelle Patching-Lösungen tragen zum Schutz von Maschinen ohne Patch bei. Häufig ermöglichen sie nach dem Patching durch Funktionen wie die Protokollkontrolle auch wertvolle Erkenntnisse über Exploit-Versuche in einem Netzwerk.

Kunden von Trend Micro können sich in diesem Artikel über Best Practices für die Behebung der Schwachstelle informieren und nachlesen, was Trend Micro für Sie tun kann: https://success.trendmicro.com/solution/000270328

Themen rund um Zerologon

Weiterführende Ressourcen

Weiterführende Forschung