PetitPotam-Angriffe auf Windows durch RPC-Filter blocken

Windows[English]Sicherheitsforscher haben kürzlich einen neuen Angriffsvektor namens PetitPotam offen gelegt. Mittels eines NTLM-Relay-Angriffs kann jeder Windows Domain Controller übernommen werden.  Inzwischen hat Microsoft reagiert und einen Sicherheitshinweis zu diesem Sicherheitsproblem veröffentlicht. Aber es gibt einen zweiten Vorschlag von Sicherheitsforschern, den Angriff über RPC-Filter zu blockieren. Aber dieser Vorschlag ist keine Universallösung.


Anzeige

Die PetitPotam-Schwachstelle

Der französische Sicherheitsforscher Gilles Lionel (Alias Topotam) hatte im Juli 2021 ein Proof of Concept (PoC) zur Ausnutzung eines NTLM-Relay-Angriffs veröffentlicht, mit dem Windows Domain Controller übernommen werden können. Sicherheitsforscher waren auf eine Methode gestoßen, um einen Domänencontroller zu zwingen, sich gegenüber einem bösartigen NTLM-Relay zu authentifizieren. Die ermöglicht, dann die Anfrage über HTTP an die Active Directory-Zertifikatsdienste einer Domäne weiter zu  leiten. Letztendlich erhält der Angreifer ein Kerberos-Ticket (TGT), mit dem er die Identität eines beliebigen Geräts im Netzwerk, einschließlich eines Domänencontrollers, annehmen könnte.

Einziges Problem ist es, einen Rechner zu zwingen, die Authentifizierung gegenüber einem Remote-Server durchzuführen. Eine Möglichkeit wäre die Verwendung der Funktion RpcRemoteFindFirstPrinterChangeNotification der MS-RPRN-Druck-API. Ein Angreifer, der einen Domänenbenutzer/Computer kontrolliert, kann mit einem bestimmten RPC-Aufruf den Spooler-Dienst eines Ziels, auf dem er läuft, auslösen und ihn dazu bringen, sich bei einem Ziel seiner Wahl zu authentifizieren“, verrät Hacker.recipes in einem Blogbeitrag.

Der Angreifer benötigt aber Zugriff auf die Domäne (d. h. ein kompromittiertes Konto), damit dieser Angriff funktioniert. Denn es wird ein RPC-Aufruf in der SMB-„Pipe“ über die IPC$-Freigabe für den Angriff benötigt. Diese Schwachstelle kann prinzipiell nicht geschlossen werden und ist standardmäßig in allen Windows-Umgebungen aktiviert, heißt es dazu. Seit dieser Angriff bekannt wurde, haben viele Organisationen MS-RPRN deaktiviert, um den Angriffsvektor zu blockieren.

Ich hatte im Beitrag PetitPotam-Angriff erlaubt Windows Domain-Übernahme über diesen Sachverhalt berichtet. Einen Tag später bestätigte Microsoft dieses Angriffsszenario, von dem quasi alle Server-Betriebssysteme von Windows Server 2008 bis Windows Server 20H2 betroffen sind. Gleichzeitig macht Microsoft Vorschläge, wie diese Sicherheitslücke durch Administratoren abgeschwächt werden kann. Domänenadministratoren müssen sicherstellen, dass Dienste, die eine NTLM-Authentifizierung zulassen, Schutzmaßnahmen wie Extended Protection for Authentication (EPA) oder Signierungsfunktionen wie SMB-Signierung verwenden. Ich hatte über die Details im Blog-Beitrag Microsoft liefert Workaround für Windows PetitPotam NTLM-Relay-Angriffe berichtet.

PetitPotam-Angriffe mit NETSH-Fitern blockieren

Am Wochenende hatte ich bereits die nachfolgenden Informationen von Benjamin Delpy auf Twitter gelesen, wie man MS-EFSR-PetitPotam-Aufrufe über RPC-Filter blockieren könne. CraigKirby hatte auf diese betreffende Möglichkeit hingewiesen.

PetitPotam RPC-Filter

Allerdings sagte mir diese Filtertechnik nichts und es war mir unklar, ob da was mit Bordmitteln ging. Delpy hatte aber wohl mit den Kollegen von Bleeping Computer Kontakt, die das Thema in diesem Beitrag aufgegriffen haben. Delpy schlägt nachfolgenden NETSH-RPC-Filter vor, der den Fernzugriff auf die MS-EFSRPC-API blockiert und damit den unauthentifizierten PetitPotam-Angriffsvektor wirksam blockiert. Dazu sind folgende Anweisungen in einen Datei block_efsr.txt auf dem Desktop des Administratorkontos zu speichern.

rpc
filter
add rule layer=um actiontype=block
add condition field=if_uuid matchtype=equal data=c681d488-d850-11d0-8c52-00c04fd90f7e
add filter
add rule layer=um actiontype=block
add condition field=if_uuid matchtype=equal data=df1941c5-fe89-4e79-bf10-463657acf44d
add filter
quit

Anschließend ist eine administrative EIngabeaufforderung zu öffnen und der nachfolgende Befehl auszuführen, um den Filter zu importieren:


Anzeige

netsh -f %userprofile%\desktop\block_efsr.txt

Führt ein Administrator dann zur Kontrolle den nachfolgenden Befehl in einer administrativen EIngabeaufforderung aus, sollten die nachfolgend gezeigten beiden Filter angezeigt werden.

netsh rpc filter show filter
PetitPotam RPC-Filter

Mit diesen Filtern sollte ein PetitPotam-Angriff nicht mehr funktionieren, während EFS wird weiterhin normal auf dem System genutzt werden kann. Sicherheitsforscher Will Dormann bestätigt in diesem Tweet, dass diese Filterung funktioniert.

PetitPotam RPC-Filter

Wichtig ist aber, dass diese nur Remote-Angriffe blockiert. Der französische Sicherheitsforscher Gilles Lionel (Alias Topotam) weist in diesem Tweet auf den Sachverhalt hin.

An dieser Stelle ist mir allerdings unklar, wie gut nun der RPC-Filter schützt, denn die der Angreifer benötigt bereits Zugriff auf die Domäne. Sollte Microsoft jemals die API korrigieren, um diesen Angriffsvektor zu blockieren, lässt sich dieser Filter mit dem folgenden Befehl in einer administrativen Eingabeaufforderung entfernen:

netsh rpc filter delete filter filterkey=[key]

Vielleicht hilft es euch trotzdem weiter.

Ähnliche Artikel:
PetitPotam-Angriff erlaubt Windows Domain-Übernahme
Microsoft liefert Workaround für Windows PetitPotam NTLM-Relay-Angriffe
HiveNightmare: Neue Details zur Windows-Schwachstelle CVE-2021-36934
Neue Infos zur Windows 10-Schwachstelle HiveNightmare
PrintNightmare: Point-and-Print erlaubt die Installation beliebiger Dateien
Microsoft Security Update Revisions (29. Juli 2021)


Cookies blockieren entzieht uns die Finanzierung: Cookie-Einstellungen

Anzeige


Dieser Beitrag wurde unter Sicherheit, Windows, Windows 10 abgelegt und mit Sicherheit, Windows verschlagwortet. Setze ein Lesezeichen auf den Permalink.

9 Antworten zu PetitPotam-Angriffe auf Windows durch RPC-Filter blocken

  1. Paul sagt:

    Für mein Verständnis, wenn wir keine CA haben wirkt der Angriff nicht?

  2. Ralf sagt:

    Dumme Verständnisfrage: Ich muss die RPC-Filter dann auf dem Server mit der CA oder den DCs setzen?

  3. anonymous2 sagt:

    Das NTLM Relaying funktioniert unabhängig von der CA. Ohne Zertifikatsdienste lässt sich dann blos kein Zertifikat damit generieren. Die NTLM Anmeldung lässt sich aber ggf. für andere Sachen missbrauchen. Der „Trick“ ist generell keine schlechte Idee um das aktuelle Problem abzumildern.

    Der einzige sichere Weg, das Problem NTLM Relay ganz los zu werden, ist NTLM überall (per GPO) komplett zu verbieten. Blos nicht alle Legacy Anwendungen unterstützen Kerberos.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.