CVE-2020-1472: ‘Zerologon’ Vulnerability in Netlogon Could Allow Attackers to Hijack Windows Domain Controller

22 september 2020

Beveiligingsonderzoekers onthullen hoe het cryptografische authenticatieschema in Netlogon kan worden gebruikt om de controle over een Windows-domeincontroller (DC) over te nemen.

Achtergrond

Op 11 september publiceerden onderzoekers van ons collega security bedrijf Secura een blogpost voor een kritische kwetsbaarheid die ze “Zerologon” hebben genoemd. De blogpost bevat een whitepaper waarin de volledige impact en uitvoering van de kwetsbaarheid wordt uitgelegd, geïdentificeerd als CVE-2020-1472, die een CVSSv3-score van 10.0, de maximale score, heeft gekregen. Zerologon werd gepatcht door Microsoft in de augustus Patch Tuesday ronde van updates. Deze openbaarmaking volgt op een eerdere Netlogon gerelateerde kwetsbaarheid, CVE-2019-1424, die Secura eind vorig jaar in detail heeft beschreven.

Analyse

CVE-2020-1472 is een privilege escalation kwetsbaarheid als gevolg van het onveilige gebruik van AES-CFB8 encryptie voor Netlogon sessies. De AES-CFB8 standaard vereist dat elke byte van platte tekst, zoals een wachtwoord, een gerandomiseerde Initialisatie Vector (IV) moet hebben zodat wachtwoorden niet geraden kunnen worden. De ComputeNetlogonCredential functie in Netlogon zet de IV op een vaste 16 bits, wat betekent dat een aanvaller de ontcijferde tekst kan controleren. Een aanvaller kan deze fout uitbuiten om de identiteit van eender welke machine op een netwerk na te bootsen wanneer hij zich probeert te authenticeren bij de Domain Controller (DC). Verdere aanvallen zijn dan mogelijk, inclusief de volledige overname van een Windows-domein. Secura’s whitepaper merkt ook op dat een aanvaller eenvoudigweg het ‘secretsdump’ script van Impacket zou kunnen uitvoeren om een lijst van gebruikershashes uit een doel-DC te halen.

Om deze kwetsbaarheid uit te buiten, zou de aanvaller de aanval moeten lanceren vanaf een machine op hetzelfde Local Area Network (LAN) als zijn doelwit. Een kwetsbare cliënt of DC die aan het internet wordt blootgesteld, is op zichzelf niet exploiteerbaar. De aanval vereist dat de gespoofde login werkt als een normale inlogpoging op een domein. Active Directory (AD) zou de verbindende client moeten herkennen als zijnde binnen zijn logische topologie, welke externe adressen niet zouden hebben.

Image source: Secura CVE-2020-1472 Whitepaper

Proof of Concept

Er zijn verschillende proofs of concept (PoC’s) gepubliceerd voor GitHub [1] [2] [3] [4] die een brede interesse en experimenten in de hele security community laten zien. Onderzoekers zijn snel aan het werk geweest om een succesvolle exploitatie te bevestigen. Kritische en opvallende kwetsbaarheden krijgen vaak brede belangstelling van zowel security onderzoekers als aanvallers.

Bij een hypothetische aanval zou men deze kwetsbaarheid kunnen gebruiken om ransomware in een organisatie in te zetten en een blijvende aanwezigheid te behouden als de schoonmaak- en herstelwerkzaamheden geen extra kwaadaardige scripts bevatten. Organisaties met back-ups die toegankelijk zijn voor het netwerk zouden een “perfect storm” kunnen veroorzaken als een ransomwaregroep back-ups vernietigt om de kans op uitbetaling door de slachtofferorganisatie te vergroten.

Oplossing

Het toepassen van de Patch Tuesday update van augustus vam Microsoft’s Advisory zal de kwetsbaarheid verhelpen door remote procedure calls (RPC) in het protocol Netlogon voor alle apparaten van Windows af te dwingen. Access42 moedigt zowel gebruikers als admins sterk aan om deze patch zo snel mogelijk toe te passen.

Gebruikers moeten zich ervan bewust zijn dat Microsoft op 9 februari 2021 een herziening van dit advies uitbrengt en dat, zodra de enforcement fase begint, de enforcement mode voor alle niet-Windows apparaten vereist zal zijn. Beheerders kunnen handmatig specifieke apparaten toestaan via het groepsbeleid voor legacy-apparaten.

Kwetsbare systemen identificeren

Een lijst van Tenable plugins om deze kwetsbaarheid te identificeren is hier te vinden. Tenable zal ook extra plugins vrijgeven voor de update van 9 februari 2021. Een compliance-auditbestand, dat hier beschikbaar is, kan worden gebruikt om ervoor te zorgen dat de FullSecureChannelProtection registersleutelwaarde in het groepsbeleid voor de DC wordt vastgelegd. De fix van augustus 2020 zou deze registersleutel moeten instellen nadat de patch met succes is toegepast.

Tenable heeft ook Microsoft Netlogon Elevation of Privilege uitgebracht, een niet-geauthenticeerde plugin voor klanten die hun DC’s willen scannen om de exploiteerbaarheid te testen. Deze plugin probeert zich te authenticeren naar het doelwit met behulp van een all zero client credential na het verstrekken van een all zero client challenge. Op kwetsbare doelen zal dit gemiddeld eens in de 256 pogingen lukken, en deze plugin zal dit tot 2000 keer proberen om na te gaan of het doelwit kwetsbaar is. Vanwege het aantal aanmeldingspogingen dat nodig is om de exploiteerbaarheid van een doelwit nauwkeurig te controleren, raadt Access42 aan deze plugin niet naast andere plugins in een scan uit te voeren, aangezien deze bedoeld is voor single-target Domain Controller scans. Om de plugin in te schakelen, moeten gebruikers de instelling ‘Only use credentials provided by the user’ onder de sectieBrute Force in de Assessment opties in hun scanconfiguratie uitschakelen.

Meer informatie

microsoft-issues-updated-patching-directions-for-zerologon-showcase_image-8-a-15090