PetitPotam Angriffe auf Windows durch RPC Filter blocken

PetitPotam-Angriffe mit NETSH-Filtern blockieren

Firewallmanagement RPC Traffic

Mit dem Befehl netsh (Network Shell) können wir die Firewall hinsichtlich weiterer Filter und Bedingungen einstellen. Das bedeutet, das der RPC-Datenverkehr auf Paketebene detailliert gefiltert werden kann.

PetitPotam-Angriffe mit NETSH-Filtern blockieren, ohne EFS zu beinträchtigen.

PetitPotam-Angriffe mit NETSH-Filtern blockieren

Mit netsh können auch diese Netzwerkfunktionalitäten konfiguriert werden, wie z.B.

  • WLAN
  • LAN
  • WINSOCK
  • WINS
  • WINHTTP
  • NAP
  • IPSec
  • HTTP
  • IPv4 IPv6
  • Routing
  • AdvFirewall usw.

Netsh ist eine Schnittstelle zwischen Benutzer und Betriebssystem auf die man sich gezielt einlassen muss. Einfach ist das nicht!

Netsh Remote Procedur Call RPC

Günter Born hat das Thema “PetitPotam-Angriffe auf Windows durch RPC-Filter blocken” bereits angesprochen. Ich würde auf die Schritte zum Blockieren gerne noch einmal eingehen und weitere Details veröffentlichen.

PetitPotam-Angriffe auf Windows durch RPC-Filter blocken

Dieser Filter blockiert den Remotezugriff auf die MS-EFSRPC-API.

Folgende Parameter stehen uns zur Verfügung:

  • add rule fügt eine Regel hinzu
  • add condition  füht eine Bedingung hinzu
  • add filter fügt einen Filter hinzu
  • show filter zeigt gesetzte Filter an
  • delete filter löscht gesetzte Filter
  • delete rule löscht ganze Regeln

Die Syntax ist wie folgt aufgebaut:

filter add rule [layer=]<string> [actiontype=]<string> [[filterkey=]<string>] [[persistence=]volatile] [[audit=]enable]

Die Befehle zur Blockierung lauten:

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

PetitPotam-Angriffe mit NETSH-Fitern blockieren

  • Die Buchstaben UM stehen für UserMode.
  • Der Layer Tag ActionType beschreibt die für die angegebene Ebene auszuführende Aktion.
  • Der ActionType Tag Block blockiert das Element hinter der UUID.
  • Die IF_UUID ist eine eindeutige 128-Bit Kennung, die einen Filter identifiziert und im UserMode anwendbar ist.

Die gesetzten Filter lassen sich einzeln auch wieder löschen:

netsh rpc filter delete filter filterkey=[key]

Encrypting File System Remote (EFSRPC) Protocol

Die Informationen die gerade aktuell überall herum gehen sind nichts neues. Microsoft hat das wie folgt dokumentiert.

2.1     Transport
The client and server MUST communicate over RPC, using named pipes over the Server Message Block (SMB) Protocol. The SMB version, capabilities, and authentication used for this connection are negotiated between the client and server when the connection is established, as specified in [MS-SMB] and [MS-SMB2].

EFSRPC messages to remote servers SHOULD be sent using the well-known endpoint \pipe\efsrpc. Remote servers MAY respond to EFSRPC messages sent using the well-known endpoint \pipe\lsarpc. When connecting to \pipe\efsrpc, the server interface is identified by UUID [df1941c5-fe89-4e79-bf10-463657acf44d], version 1.0. When connecting to \pipe\lsarpc, the server interface is identified by UUID [c681d488-d850-11d0-8c52-00c04fd90f7e], version 1.0.