SIGRed, een “wormable” kritieke kwetsbaarheid in Windows DNS-Server

SIGRed is een “wormable” kritieke RCE kwetsbaarheid met een CVSS score van 10/10, dit is de hoogst mogelijke score voor een kwetsbaarheid. Deze kwetsbaarheid kan getriggerd worden door een kwaadaardige DNS response. Wanneer de service draait met verhoogde privileges (Systeem) en er op de juiste manier misbruik is gemaakt van de kwetsbaarheid, dan kan een ongeauthentiseerde aanvaller domein administrator rechten krijgen. Hiermee is effectief je complete bedrijfsnetwerk gecompromitteerd.

De kwetsbaarheid is ontdekt door security onderzoeker Sagi Tzadik van cyber-security bedrijf Check Point. Op 14 juli bracht Check Point een technische analyse uit van de kwetsbaarheid. Microsoft is op 19 mei op de hoogte gesteld van de kwetsbaarheid, waarna het op 18 juni CVE-2020-1350 heeft toegewezen aan de kwetsbaarheid en op 9 juli gaf Microsoft toe dat de kwetsbaarheid “wormable” is en gaf het daarom een hoge severity score.

Een threat actor kan ook de SIGRed kwetsbaarheid misbruiken via een speciaal gemaakte kwaadaardige DNS query naar een Windows DNS-server om willekeurige code te kunnen uitvoeren. Hiermee kan deze hacker netwerkverkeer en e-mails onderscheppen en manipuleren, services onbeschikbaar maken, credentials van de gebruikers verkrijgen en veel meer andere mogelijkheden.

“Een enkele exploit kan een kettingreactie veroorzaken, waarbij aanvallen worden verspreid van kwetsbare machine naar kwetsbare machine, zonder dat een mens handelingen moeten uitvoeren. De eerste gecompromitteerde machine is als het ware een soort super verspreider, waardoor de aanval zicht kan verspreiden door het gehele netwerk van een organisatie binnen enkele minuten na de eerste exploit,” geeft de onderzoeker aan.

Verder is het ook opvallend dat deze kwetsbaarheid al 17 jaar in Windows DNS-Server aanwezig is.

Wat is een DNS-Server?

Het Domain Name System (DNS), welke vaak wordt omschreven als het telefoonboek van het internet, is een netwerk protocol dat voor gebruikers eenvoudig te begrijpen hostnames, zoals sincerus.nl of google.com, vertaald naar IP-adressen en doet dit ook in de omgekeerde volgorde. DNS is één van de belangrijke componenten van het internet, daarom zijn er om deze reden zoveel verschillende oplossingen en implementaties van DNS-servers beschikbaar, maar slechts enkele van deze oplossingen worden veelvuldig gebruikt.

Windows DNS-Server is de implementatie van Microsoft en is een essentieel onderdeel en zelfs een vereiste voor een Windows Domein-omgeving. DNS is hiërarchisch en decentraal. Wanneer een DNS-Server het antwoord op een DNS-query niet weet, dan stuurt het deze door naar een DNS-server hogerop in de hiërarchie, waarna deze DNS-server het verzoek naar een lager gelegen DNS-server doorstuurt tot uiteindelijk de juiste DNS-Server wordt gevonden die het verzoek kan beantwoorden.

Welke versies zijn kwetsbaar?

De volgende Windows versies zijn kwetsbaar voor de SIGRed kwetsbaarheid (CVE-2020-1350):

  • Windows Server 2019;
  • Windows Server versie 2004;
  • Windows Servers versie 1909;
  • Windows Server versie 1903;
  • Windows Server 2016;
  • Windows Server 2012;
  • Windows Server 2008;
  • Windows Server 2003.

Wordt de kwetsbaarheid actief misbruikt?

Microsoft geeft aan dit moment nog niet weet dat deze kwetsbaarheid actief misbruikt wordt, maar dat het wel belangrijk is dat klanten de beschikbare updates z.s.m. doorvoeren.

Ook heeft Microsoft “Exploitation More Likely” toegewezen aan de kwetsbaarheid voor zowel de nieuwste Windows servers als ook de oudere versies. Onderstaande tekst geeft aan wat er met deze beoordeling wordt aangegeven.

“Microsoft analysis has shown that exploit code could be created in such a way that an attacker could consistently exploit this vulnerability. Moreover, Microsoft is aware of past instances of this type of vulnerability being exploited. This would make it an attractive target for attackers, and therefore more likely that exploits could be created. As such, customers who have reviewed the security update and determined its applicability within their environment should treat this with a higher priority.”

Hoe heeft Check Point de kwetsbaarheid laten werken

Het doel van de Check Point onderzoekers was het identificeren van een kwetsbaarheid waarbij een ongeauthentiseerde aanvaller een Windows Domein-omgeving kan overnemen. Hun focus lag op Windows DNS, speciaal bij hoe een DNS-server omgaat met een binnenkomende query of een response op een doorgestuurde query.

Deze doorgestuurde queries komen wanneer een DNS-Server een IP-adres voor een bepaalde domeinnaam niet kan resolven (bijvoorbeeld google.com), hierdoor wordt de query doorgestuurd naar een “authoritative” DNS-Server.

Een kwaadaardige DNS-server (“ns1.41414141.club”) wordt ingesteld om te benaderen door een Windows DNS-Server door alle queries voor het domein (“deadbeef.fun”) en subdomeinen naar deze kwaadaardige DNS-Server door te sturen.

Een aanvaller kan hierna een integer overflow fout triggeren in de functie die binnenkomende responses voor doorgestuurde queries verwerkt (“dns.exe!SigWireRead”) om zo een DNS response te versturen met een SIG resource record die groter is dan 64KB om een gecontroleerde heap-based buffer overflow van 64KB te veroorzaken.

De fout richt zich op de functie die verantwoordelijk is het voor en toewijzen van memory voor het resource record (“RR_AllocateEx”) om een resultaat groter dan 65.535 bytes te genereren die een integer overflow veroorzaken. Alleen is een enkel DNS bericht wel gelimiteerd tot 512 bytes in UDP en 65.535 bytes in TCP, hierdoor kwamen de onderzoekers er achter dat dit niet voldoende was om de SIGRed kwetsbaarheid te triggeren.

Om ervoor te zorgen dat dit wel lukt wordt en gebruik gemaakt van DNS name compression in DNS response om een buffer overflow te creëren met de voorgenoemde techniek, zodat de toegestane grootte met een aanzienlijk aantal wordt vergroot.

SIGRed kan ook op afstand via de browser getriggerd worden in beperkte scenario’s (Internet Explorer en niet op Chromium gebaseerde Microsoft Edge browsers), zodat een aanvaller misbruik kan maken van de “connection reuse and query pipelining” functionaliteiten om een DNS query te smokkelen binnen een HTTP verzoek naar een kwetsbare DNS-Server, wanneer een website van de aanvaller wordt bezocht. Gebruikers kunnen bijvoorbeeld misleid worden door op een link in een phishingmail te klikken.

Deze kwetsbaarheid kan ook verder misbruikt worden om memory adressen te lekken door de metadata van een DNS resource record te corrupten en write-what-where mogelijkheden krijgt om de “execution flow” over te nemen en de DNS-Server ongebruikelijke instructies laat uitvoeren.

Wel opvallend is dat DNS-clients (“dnsapi.dll”) niet kwetsbaar zijn voor deze kwetsbaarheid. De onderzoekers denken dat dit komt dat er verschillende codes worden gebruikt voor de Server en de client, zonder synchronisatie tussen de codes van deze 2.

Updates beschikbaar?

Om niet meer kwetsbaar te zijn voor (CVE-2020-1350) zijn er security updates beschikbaar voor de volgende versies, zoals in de advisory te zien:

  • Windows Server 2019;
  • Windows Server versie 2004;
  • Windows Servers versie 1909;
  • Windows Server versie 1903;
  • Windows Server 2016;
  • Windows Server 2012;
  • Windows Server 2008;

Voor Windows Server 2003 is er geen update beschikbaar, omdat deze versie inmiddels al een aantal jaar end-of-life is.

Workaround beschikbaar?

De workaround voor de SIGRed kwetsbaarheid werkt door de volgende aanpassing te doen in het registry. Hiermee wordt de grootte van het grootste TCP gebaseerde DNS response pakket, die toegestaan zijn, beperkt.

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
  • TcpReceivePacketSize
  • Value = 0xFF00

Belangrijk is om ook de DNS Service opnieuw op te starten, zodat de wijziging bij het registry wordt voltooid.

  • De standaard  (en ook de maximale) waarde = 0xFFFF
  • De aanbevolen waarden = 0xFF00 (255 bytes minder dan de maximale waarde)

Wanneer de workaround is doorgevoerd, wordt het voor een Windows DNS-Server onmogelijk om DNS namen te resolven met DNS response die grote is dan 65.280 bytes.

Na het doorvoeren van de security update, kan een admin de waarde TcpReceivePacketSize en de bijgevoegde data weer verwijderen, zodat alles weer ingesteld staat als voor de workaround.

Advies

Wij raden iedere organisatie aan die gebruik maakt van Windows Servers, om bij al deze Servers de security updates z.s.m. door te voeren, voordat er op grootte schaal misbruik gemaakt gaat worden van de SIGRed kwetsbaarheid.

Indien het niet mogelijk is om direct de security updates door te voeren, dan wordt er aangeraden om de voorgestelde workaround bij alle Windows Servers binnen uw organisatie door te voeren en deze ook weer te verwijderen na het installeren van de security updates.

Wanneer er nog gebruik wordt gemaakt van een Windows Server 2003, adviseren wij om te migreren naar een Windows Server versie die wel wordt voorzien van security updates.

 

Eerdere berichten

Ander Cybersecurity nieuws lezen? Bekijk ook eens onze andere recente berichten:

Ernstige kritieke kwetsbaarheid in BIG-IP ADC van F5
Emotet botnet keert na 5 maanden terug

Gerelateerde berichten

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Fill out this field
Fill out this field
Geef een geldig e-mailadres op.
Je moet de voorwaarden accepteren voordat je het bericht kunt verzenden.

16 − vijf =

Menu