Ich hatte früher eine Katze, die verrückt nach Eiscreme war. Ich glaube, ich hatte ihr als Kätzchen mal etwas Eis gegeben. Seit dem versuchte sie immer, wenn sie jemand Eis essen sah, auf Biegen und Brechen etwas abzubekommen. Und selbst wenn ihr eine bestimmte Geschmacksrichtung nicht besonders zu schmecken schien, war sie trotzdem sehr erpicht darauf, etwas vom dem Eis zu stibitzen.
Genau wie meine Katze sich ständig auf Eiscreme stürzte, so versuchen Hacker unentwegt Unternehmen anzugreifen, um in böswilliger Absicht an ihre Daten zu gelangen. Und genau wie die vielen Geschmackssorten von Eiscreme, die meine Katze damals „exfiltriert“ hat, gibt es auch bei der Datenexfiltration eine Reihe unterschiedlicher (Geschmacks-)Arten.
Und erst jüngst tauchte eine neue Art von Datenexfiltration im Hacker-Kühlschrank auf:
Mnemonic Labs hat kürzlich einen sehr coolen Proof-of-Concept-Blog veröffentlicht, in dem dargestellt wird, wie die SNI-Erweiterung von TLS zum Exfiltrieren von Daten verwendet werden kann. Dies hat starke Ähnlichkeit zur Datenexfiltration mithilfe anderer exotischer (Geschmacks-)Arten. Die Arbeit von Mnemonic hat gezeigt, dass durch die SNI-Exfiltrationsmethode viele Sicherheitskontrollen erfolgreich umgangen werden können – für mich Grund genug, eine kleine Übung zur Aufdeckung von Datenklau in Splunk durchzuführen.
Bevor wir mit der Praxis loslegen, hier ein paar Informationen zum Proof-of-Concept-Code aus dem Mnemonic-Blog:
SNICat besteht auch zwei separaten, aber voneinander abhängigen Komponenten:
Um diese SNI-Informationen sehen zu können, verwende ich Zeek zum Erfassen der Übertragungsdaten. Die Zeek-Daten sammle ich dann in Splunk, und durch Einsatz der Splunk Decrypt-App kann ich die Base32-codierten SNI-Daten entschlüsseln (SNICat verwendet für seine Exfiltration Base32-Codierung).
Hier ist eine kurze exemplarische Darstellung meiner Vorgehensweise und der Splunk-Suchen, die dazu verwendet wurden. Weitere Informationen zum Mnemonic-Code findet ihr im oben genannten Blog-Post von Mnemonic.
Die folgende Suche nimmt die verschiedenen SNICat-Befehle auf, die im SNI-Feld übergeben, mithilfe des SSL-Decoders von Zeek erfasst und dann in Splunk aufgenommen werden. Ich habe eine Abbildung hinzugefügt, in der die erfassten Events dargestellt sind, während der SNICat C2-Server seine verschiedenen Funktionen durchläuft.
index=main sourcetype="bro:ssl:json" | rex field=server_name "(?(LIST|LS|SIZE|LD|CB|CD|EX|ALIVE|EXIT|WHERE|finito)-[A-Za-z0-9]{16}\.)" | stats count by snicat
Und schließlich sehen wir hier den SNICat C2-Server beim Auswählen einer Datei, die per SNI exfiltriert werden soll. Ich entscheide mich, die passwd-Datei zu exfiltrieren, wie das jeder gute Angreifer tun würde.
Hier die Suche zum Anwenden von Regex auf das Feld server_name (das Feld, das wir mit den von Zeek erfassten SNI-Informationen ausgefüllt haben).
Und hier sehen wir die resultierenden Events, wobei die decodierten Base32-Daten die exfiltrierten Daten anzeigen (das unterste Event ist SNICat beim Ausführen des LS-Befehls zum Abrufen der Verzeichnisauflistung, das mittlere Event ist die Ausführung des Size-Befehls von SNICat zum Ermitteln der Dateigrößen, und das oberste Event ist der Inhalt der gerade exfiltrierten passwd-Datei). Offensichtlich kann die Suche auch zum Decodieren anderer Daten jenseits des SNICat-Verhaltens verwendet werden, was zum Aufdecken anderer Methoden der Datenexfiltration in eurer Umgebung genutzt werden kann.
In Kürze werde ich SNICat-Erkennung zum Splunk Enterprise Security Content Update zur Nutzung mit Splunk Enterprise Security hinzufügen. Bis dahin könnt Ihr aber gerne die oben dargestellten Suchen verwenden.
Happy Splunking!
In Kürze werde ich dem Splunk Enterprise Security-Inhaltsupdate SNICat-Erkennung für die Nutzung mit Splunk Enterprise Security hinzufügen, aber bis dahin könnt Ihr gerne die oben dargestellten Suchen verwenden.
Viel Spaß beim Splunken!
*Dieser Artikel wurde aus dem Englischen übersetzt und editiert. Den Originalblogpost findet ihr hier: Detecting Data Exfiltration Via the Use of SNICat.
----------------------------------------------------
Thanks!
Splunk
Die Splunk-Plattform beseitigt die Hürden zwischen Daten und Handlungen, damit Observability-, IT- und Security-Teams in ihren Unternehmen für Sicherheit, Resilienz und Innovation sorgen können.
Splunk wurde 2003 gegründet und ist ein globales Unternehmen – mit mehr als 7.500 Mitarbeitern, derzeit über 1.020 Patenten und einer Verfügbarkeit in 21 Regionen rund um den Globus. Mit seiner offenen, erweiterbaren Datenplattform, die die gemeinsame Nutzung von Daten in beliebigen Umgebungen unterstützt, bietet Splunk allen Teams im Unternehmen für jede Interaktion und jeden Geschäftsprozess End-to-End-Transparenz mit Kontext. Bauen auch Sie eine starke Datenbasis auf – mit Splunk.