
Windows-RPC-Firewall, die bösartige entfernte Prozeduraufrufe prüft, erkennt und blockiert, um seitliche Bewegung, Aufklärung und Ausnutzung von RPC-basierten Angriffen wie DCSync und ZeroLogon zu verhindern.
Schauen Sie sich unseren RPC Firewall Blogbeitrag oder unseren BlackHat-Vortrag an, um ein besseres Verständnis von RPC, RPC-Angriffen und der Lösung – der RPC Firewall – zu erhalten.
Treten Sie unserem |Zero| Labs Slack Community Workspace bei, um Fragen zu stellen, Probleme zu melden oder einfach etwas loszuwerden.
Wir freuen uns auch über eine E-Mail (falls Sie zu den Menschen gehören, die dies bevorzugen). Kontaktieren Sie uns unter [email protected]
Das folgende Tutorial zeigt die grundlegende Installation und Einrichtung der RPC Firewall sowie eine Demonstration, wie sie vor verschiedenen RPC-basierten Angriffen schützt.
RPC ist der zugrundeliegende Mechanismus, der für zahlreiche laterale Bewegungen, Aufklärungs- und Relay-Angriffe genutzt wird oder einfach dazu dient, verwundbare RPC-Dienste auszunutzen.
DCSync-Angriff? über RPC. Remote DCOM? über RPC. WMIC? über RPC. SharpHound? über RPC. PetitPotam? über RPC. PsExec? über RPC. ZeroLogon? über RPC... Nun, Sie verstehen, worauf ich hinaus will :)
In diesem Dokument werden die folgenden Begriffe verwendet:
Kann verwendet werden, um alle entfernten RPC-Aufrufe zu auditieren. Sobald Sie ein entferntes Angriffswerkzeug ausführen, sehen Sie, welche RPC-UUIDs und Opnums remote aufgerufen wurden.
Eine Beispielkonfiguration finden Sie hier.
Wenn die RPCFW Configuration für das Auditieren konfiguriert ist, werden Ereignisse in das Windows-Ereignisprotokoll geschrieben. RPC Filter-Ereignisse werden mit der Ereignis-ID 5712 in das Sicherheitsprotokoll geschrieben. RPC Firewall-Protokolle werden unter Anwendung/RPCFW geschrieben.
Benutzer können diese Protokolle an ihr SIEM weiterleiten und damit Basislinien des entfernten RPC-Verkehrs für verschiedene Server erstellen. Sobald ein anormaler RPC-Aufruf auditiert wird, nutzen Sie dies, um eine Warnung für Ihr SOC-Team auszulösen.
Wir haben mehrere Sigma-Regeln integriert, mit denen ungewöhnliche RPC-Aktivitäten und Angriffe erkannt werden können.
Die RPCFW Configuration kann so konfiguriert werden, dass nur potenziell bösartige RPC-Aufrufe blockiert und auditiert werden. Alle anderen RPC-Aufrufe werden nicht auditiert, um die Rauschunterdrückung zu verbessern und die Leistung zu steigern.
Sobald ein potenziell bösartiger RPC-Aufruf erkannt wird, wird er blockiert und auditiert. Dies kann verwendet werden, um Ihr SOC-Team zu alarmieren, während Ihre Server geschützt bleiben.
Als ergänzenden Schutz können Sie die RPC-Filterfunktionen nutzen, die ebenfalls über die RpcFwManager.exe unterstützt werden.
Ein Beispiel für eine solche Konfiguration finden Sie hier.
Sie besteht aus 3 Komponenten:
Obwohl die Verwendung beider Methoden Vor- und Nachteile hat, gibt es einige wesentliche Vorteile der RPC Firewall, die besondere Beachtung verdienen. Diese sind:
Andererseits eignen sich RPC Filters hervorragend für das pauschale Zulassen oder Verweigern ganzer UUIDs, da dies problemlos funktioniert.
Vor der Ausführung eines Befehls wird empfohlen, den Status der Bereitstellung zu überprüfen. Dies geschieht mit dem Befehl '/status':
RpcFwManager.exe /status
Dies zeigt den Status sowohl der RPC Firewall als auch der RPC Filters an. Es werden detaillierte Informationen zum Installationsstatus sowie zum Betriebsstatus der Bereitstellung ausgegeben.
Fast jeder Befehl kann mit fw oder flt am Ende versehen werden. Dies teilt dem RPCFW Manager mit, ob der Befehl auf RPC Firewall ('fw'), RPC Filters ('flt') oder beide (wenn kein Suffix verwendet wird) angewendet wird.
Führen Sie die Installation der entsprechenden Funktion durch (RPC Filters / RPC Firewall / beide).
Stellen Sie sicher, dass die Ereignisanzeige während der Installation/Deinstallation geschlossen ist. Es ist außerdem empfehlenswert, vor der Installation zu stoppen und zu deinstallieren, um sicherzustellen, dass keine älteren Versionen installiert sind.
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RpcFwManager.exe /install
Die Deinstallation führt das Gegenteil durch. Auch hier ist es empfehlenswert, den Dienst vor der Deinstallation zu stoppen.
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall