Microsoft Cloud Access Tokens
Marius Elmiger
So erkennen Sie Angreifer mittels Honeytokens
Ein Angreifer betritt das Spielfeld eines Defender, sobald eine Kompromittierung, meist eines Endpunktes, durch eine Angriffsvariante stattgefunden hatte. Die Angreifer haben nun verschiedene Möglichkeiten das Spielfeld zu erkunden, vorstellbar wie beim Game Minesweeper welches wahrscheinlich nur noch die ältere Generation unter euch kennt.
Die Aufgabe als Defender besteht darin die Angreifer so schnell wie möglich zu erkennen und zu blockieren, bevor diese auf kritische Daten zugreifen können. Um das zu erreichen, setzen wir heutzutage meistens eine Vielzahl an Sicherheitstools ein, welche unter anderem Logs von unseren Endpunkten sammeln. Anhand von unseren durchgeführten Red Teams können wir jedoch sagen, dass zwar unsere Aktionen meistens aufgezeichnet wurden, jedoch im Datenlärm untergangen sind. Woran kann das liegen? Ein Grund könnte sein, dass wir als Defender dazu tendieren zu wenig kreativ zu sein. Wir arbeiten Listen ab, um unsere Systeme sicherer zu machen, achten aber zu wenig auf das Spielfeld, auf welchem sich ein Angreifer bewegt. Passend dazu ist auch John Lambert’s (2015) Zitat:
Defenders think in lists. Attackers think in graphs. As long as this is true, attackers win.
Wie können wir nun das Spielfeld für Angreifer schwieriger gestalten? Angreifer versuchen in einem ersten Schritt meistens weitere Informationen über unsere IT-Umgebung zu sammeln. Diese Aktion findet entweder auf dem Endpunkt oder über das Netzwerk zu Diensten wie zum Beispiel Active Directory, File Server oder andere Umsysteme statt. Da wollen wir nun mit einer möglichen Methode genannt Honeytokens ansetzen, um aufzuzeigen, dass wir mit dieser effektiven Art in der Lage sein können, frühzeitig auf ein erstes Indiz reagieren zu können. Dafür legen wir auf unserem Spielfeld gezielt Fallen aus, vorstellbar wie bei Minesweeper die Minen.
Es ist wichtig bei der Platzierung der Honeytokens sich in die Denkweise der Angreifer zu versetzen. Umso kreativer wir diese Fallen stellen umso eher werden diese durch die Angreifer ausgelöst. Bei einer Aktivierung haben wir nun den Vorteil durch unsere zahlreichen Tools festzustellen von welcher Komponente (z.B. User, IP-Adresse, Hostname) ein Angriff ausgegangen ist. Nun liegt es an uns so schnell wie möglich zu reagieren, um die Angreifer von unserem Spielfeld zu vertreiben.
Honeytokens gibt es in verschiedenen Variationen. Im nachfolgenden Kapitel beschreiben wir ein Beispiel anhand von einem Active Directory Honeytoken.
Active Directory ist für Angreifer ein idealer Ort, um Informationen über die IT-Umgebung zu sammeln. Vergleichbar mit Google Maps, wir suchen nach einem guten Restaurant oder Sehenswürdigkeiten, Angreifer suchen im Active Directory nach einem einfachen Pfad, um an privilegierte Objekte heranzukommen. Um Active Directory auszulesen, existieren viele Tools wie zum Beispiel dsquery.exe, dsa.msc, SharpHound, ADExplorer, PowerView und viele mehr auf welche wir in diesem Artikel jedoch nicht speziell eingehen werden. Wir sind nämlich eher interessiert an der Abfrage selbst welche über LDAP stattfindet und welche wir mit Hilfe von System Access Control Lists (SACL) auf einem Domain Controller aufzeichnen können. SACL werden im Vergleich zu Discretionary Access Control List (DACL) zu wenig verwendet. Anders als eine DACL welche über SIDs den Zugriff auf ein Objekt kontrolliert, ermöglicht die SACL den Zugriff auf die Audit ACE eines Objektes. Eine Audit ACE beschreibt, ob eine gewisse Aktion auf ein Objekt erfolgreich war oder nicht. Zu empfehlen für eine tiefere Recherche zum Thema ACL ist das An ACE Up the Sleeve Dokument, welches von der Firma SpecterOps veröffentlicht wurde.
Für unseren Active Directory Honeytoken werden wir von den zwei SACL Kategorien Object Read und Object Write nur das Object Read verwenden. Wir können damit aufzeichnen, ob Active Directory ausgelesen wird. Die Vorgehensweise sieht wie folgt aus:
Von nun an können wir feststellen, ob Angreifer das gesamte Active Directory auslesen oder in unserem Beispiel spezifisch nach adm Accounts suchen. Zu beachten gilt das False-Positives auftreten können, falls der erstellte Honeytoken in einer OU angelegt wurde in welchen legitime Administratoren oft Abfragen tätigen oder durch 3rd Party Applikationen wie zum Beispiel ein Identity Management System. Ausnahmen können daher erforderlich sein, um False-Positives zu vermeiden.
In Windows gibt es eine Vielzahl an Securable Objects wie zum Beispiel:
Auf alle diese Objekte können SACLs gesetzt werden. Dateien auf Shares oder auch auf Clients sind hervorragend geeignet für Honeytokens und erzeugen wie am Beispiel Active Directory auch ein Event mit der ID 4462. Vorausgesetzt die Advanced Audit Policy ist korrekt konfiguriert. Der Kreativität ist schlussendlich kein Ende gesetzt. Als Start für die Dateinamen kann man sich an der PowerView Funktion Find-InterestingDomainShareFile orientieren welche von Angreifern gerne verwendet wird. Die Funktion sucht standardmässig nach Namen wie pass, sensitive, secret, admin, login oder unattend*.xml.
Zahlreiche Webseiten beschreiben verschiedene Arten von Honeytoken-Implementierung. Nachfolgend präsentieren wir einige Links:
Das Erstellen effektiver Honeytokens in IT-Umgebungen erfordert sowohl die Denkweise eines Angreifers als auch Kreativität. Wie wir gelernt haben, können Honeytokens für nahezu jedes Szenario entwickelt werden und kann helfen einen Angreifer in der Frühphase eines Angriffs zu enttarnen. Dadurch kann der Incident möglicherweise schneller bearbeiten und gestoppt werden. Es sollten mehrere Honytokens in einer IT-Umgebung erstellt werden, welche anhand der Angriffsstadien ausgelegt werden sollten. Zu beachten gilt, dass Honeytokens die IT-Umgebung nicht gefährden sollten. Daher empfehlen wir keine privilegierten Zugriffsrechte an Honeytokens zuzuweisen. Wie bei allem in der IT sollten die Honeytokens getestet werden, ob sie wie erwartet funktionieren. Und schliesslich sollten man sich nicht nur auf Honeytokens verlassen. Sie sind jedoch eine wirksame Technik, die Defender einsetzen können, um das Dilemma des Angreifers zu vergrössern.
Unsere Spezialisten kontaktieren Sie gern!
Marius Elmiger
Marius Elmiger
Marius Elmiger
Marius Elmiger
Unsere Spezialisten kontaktieren Sie gern!