von Bhabesh Raj Rai, Associate Security Analytics Engineer
Am 19. Juli 2021 veröffentlichte der Sicherheitsexperte Lionel Gilles technische Details sowie ein PoC-Tool für eine Sicherheitslücke namens PetitPotam. Die Schwachstelle ermöglicht es einem Domain-Nutzer, einen Domain-Controller dazu zu zwingen, sich über die MS-EFSRPC-Schnittstelle (MS-EFSRPC: Microsoft Encrypting File System Remote Protocol) gegenüber einem Remote-Server zu authentifizieren und dabei seinen Authentifizierungshash offenzulegen.
Die Schwachstelle ist deshalb so gefährlich, weil Angreifer diese mit einer Relay-Schwachstelle des AD CS-Servers (AD CS: Active Directory Certificate Services) koppeln können, die SpecterOps-Forscher kürzlich entdeckten. So können Cyberkriminelle den erhaltenen Hash einer Entität an einen AD CS-Server weiterleiten und das Zertifikat dieser Entität erhalten. Mithilfe dieses Zertifikats können sich die Angreifer als diese Entität ausgeben und in ihrem Namen das Ticket-Granting-Ticket (TGT) anfordern. Im Grunde genommen können Angreifer so eine Domäne über den AD CS-Server ohne jegliche Authentifizierung vollständig kompromittieren.
Wie bei jedem anderen Relay-Angriff müssen sich die Angreifer mit ihrem Rechner im selben LAN-Segment befinden oder über erweiterte Benutzer-Berechtigungen in der Domäne verfügen. Alle AD CS-Server mit aktiviertem „Certificate Authority Web Enrollment“ oder „Certificate Enrollment Web Service“ sind anfällig.
Microsoft hat eine Anleitung zur Abwehr von PetitPotam veröffentlicht und stuft die Schwachstelle als klassischen NTLM-Relay-Angriff ein. Das Unternehmen empfiehlt Administratoren, den erweiterten Schutz für die Authentifizierung (EPA: Extended Protection for Authentication) zu aktivieren und HTTP auf AD CS-Servern zu deaktivieren. Darüber hinaus hat Microsoft auch zusätzliche Gegenmaßnahmen skizziert. Hierzu zählen – nach Möglichkeit – die Deaktivierung der NTLM-Authentifizierung sowie die Durchsetzung des SMB-Signing. Systemadministratoren sollten dabei beachten, dass die Deaktivierung von MS-EFSRPC die Schwachstelle nicht entschärft.
Erkennung der PetitPotam-Angriffskette mit LogPoint
PetitPotam erfordert keine Authentifizierung. Das bedeutet, Sie können nach anonymen NTLM-Anmeldungen bei Servern, insbesondere Domain-Controllern, suchen. Dies ist unter anderem mit dem SIEM von LogPoint möglich. Wir haben festgestellt, dass Angreifer, die ihren Rechner für den Angriff nutzen, die Event-ID 4624 mit einem Null-Workstation-Feld generieren, mit dem Sie False-Positives herausfiltern können.
norm_id=WinServer event_id=4624 user="ANONYMOUS LOGON" package=NTLM
Sie können auch nach PetitPotam-Artefakten in den Event-Logdaten für das File-Share-Auditing suchen. Administratoren sollten überprüfen, ob sie eine detaillierte Überwachung für Dateifreigaben aktiviert haben, damit diese Abfrage funktioniert.
norm_id=WinServer event_id=5145 share_name=IPC$ access="ReadData (or ListDirectory) WriteData (or AddFile)" relative_target IN ["lsarpc", "efsrpc", "lsass", "samr", "netlogon"] | chart count() by host, user, source_address, relative_target
Um die Korrelation zu unterstützen, können Administratoren nach Events zu Zertifikatsanfragen suchen, die vom AD CS-Server generiert wurden, und die Zertifikatsanfragen von Domain-Controllern im Zeitrahmen der aufgetretenen PetitPotam-Artefakte näher betrachten. Administratoren sollten die Prüfung von „Zertifikatsanfragen ausstellen und verwalten“ auf dem AD CS-Server aktivieren, um die entsprechenden Logdaten zu generieren, da die Überwachung standardmäßig deaktiviert ist.
norm_id=WinServer label=Certificate label=Request label=Receive | chart count() by host, attributes, requester, message
Schlussendlich holen sich die Angreifer ein Ticket-Granting-Ticket (TGT) von einem Domain-Controller, indem sie das zuvor erhaltene Zertifikat nutzen und das Ticket im Cache zwischenspeichern. Um dies zu erkennen, müssen Sie nach Events zu TGT-Anforderungen suchen, bei denen der Domain-Controller ein Benutzer ist (da das Zertifikat dem Domain-Controller gehört), das Feld für die Quelladresse jedoch die IP-Adresse des vom Angreifer kontrollierten Rechners enthält. Im tagtäglichen Einsatz wird der Domain-Controller immer ein TGT von seinem eigenen Rechner anfordern, und daher sollte das Feld für die Quelladresse immer seine eigene IP-Adresse sein.
norm_id=WinServer event_id=4768 user IN WINDOWS_DC_HOSTNAMES -source_address IN WINDOWS_DC
WINDOWS_DC_HOSTNAMES ist eine Liste, die die Benutzernamen aller Domain-Controller-Konten wie beispielsweise DC01, DC02, usw. enthält, während WINDOWS_DC die IP-Adressen aller Domain-Controller umfasst.
Setzen Sie Gegenmaßnahmen so schnell wie möglich um
Zusammenfassend lässt sich sagen, dass Systemadministratoren die von Microsoft bereitgestellten Gegenmaßnahmen umgehend umsetzen sollten, wenn sie AD CS-Server in ihrer IT-Umgebung einsetzen. Falls Administratoren die Gegenmaßnahmen aufgrund verschiedener Umstände auf einen späteren Zeitpunkt verschieben müssen, sollten sie die erforderlichen Erkennungsmechanismen aktivieren, um Exploit-Versuche abwehren zu können. Da eine vollständige Kompromittierung der Domäne ohne jegliche Authentifizierung möglich ist, wird diese Schwachstelle vermutlich verschiedenste Bedrohungsakteure anlocken, um Microsoft-Umgebungen zu attackieren. Sollten Sie Ihr Cyber Security ausgelagert haben, wenden Sie sich an Ihr Security-Operations-Center, wenn ein Verdacht auf eine Kompromittierung besteht.