Ghost Locker ist eine Ransomware-as-a-Service (RAAS)-Lösung von GhostSec (Hacktivistengruppe). Im Oktober 2023 veröffentlichte GhostSec das GhostLocker-Framework. Nach der erfolgreichen Zusammenarbeit mit der Ransomware-Gruppe Stormous im Juli 2023 bieten die Betreiber von GhostLocker ihren Partnern verschiedene Optionen.
Ghost Locker 2.0 ist eine neue Ransomware- Variante , die die Dateien des Opfers exfiltriert und verschlüsselt und anschließend ein Lösegeld für den Entschlüsselungsschlüssel fordert. Wir haben beobachtet, dass sie Länder wie Brasilien, Indien, China, Südafrika, Ägypten, die Türkei und viele andere betrifft.
Technische Analyse:
Seqrite Im Rahmen der Bedrohungsanalyse wurden die beiden Varianten der Ghost Locker-Ransomware in freier Wildbahn beobachtet. Ghost Locker Version 1.0 wurde in Python geschrieben, Version 2.0 in Golang.
Variant 1:
Bei der ersten Ausführung ruft diese Variante den Windows-Startordner ab und kopiert sich selbst in diesen Ordner, um die Persistenz sicherzustellen.

Abb. 1: Persistenz schaffen
Anschließend erhält es die Liste der auf dem Computer des Opfers installierten Laufwerke, die während des Verschlüsselungsprozesses verwendet werden sollen.

Abb. 2: Treiberliste abrufen
Außerdem wird eine zufällige Zeichenfolge von 32 Bytes generiert und als ID in der JSON-Datei der Ransomware verwendet. Die Bedrohungsakteure verwenden diese ID in ihrem Control Panel, um einen infizierten Computer zu identifizieren.

Abb. 3: ID erstellen
Die Ransomware stellt über die URL „hxxp[://]2[.]41[.]216[.]183[/]incrementLaunch“ eine Verbindung zum C31-Server des Bedrohungsakteurs her, um den Bedrohungsakteur darüber zu informieren, dass sich ein weiterer Opfercomputer auf seiner Liste befindet [Systemsteuerung von Ghost Locker].

Abb. 4: C2-Anschluss
Diese Ghost Locker-Variante generiert einen geheimen Schlüssel mithilfe des symmetrischen Fernet-Verschlüsselungsalgorithmus. Der generierte geheime Schlüssel wird per JSON-Datei an den Bedrohungsakteur gesendet und beim Verschlüsseln der Dateien verwendet.

Abb. 5: Geheimschlüssel generieren
Anschließend generiert die Ransomware aus ihren Konfigurationsparametern die IP-Adresse des Opfers, die Verschlüsselungs-ID, das Infektionsdatum und andere Informationen, einschließlich des Verschlüsselungsstatus, und sammelt den Lösegeldbetrag und eine Opfer-Identifikationszeichenfolge.
Die Ransomware erstellt eine JSON-Datei auf dem Computer des Opfers und speichert die oben genannten Details.

Abb. 6: JSON-Datei generieren
Die generierte JSON-Datei wird dann über die URL „hxxp[://]2[.]41[.]216[.]183[/]addInfection“ an den C31-Server gesendet, um den Computer des Opfers in diesem C2-Panel zu registrieren.

Abb. 7: Registrieren Sie die infizierte Maschine mit einem C2-Panel
Diese Variante überprüft, ob das infizierte System über Administratorrechte verfügt. Falls nicht, erlangt es diese über das Dienstprogramm takeown für den Zugriff auf Dateisysteme, z. B. Lesen und Löschen.

Abb. 8: Eigentumserwerb durch Übernahme
Wie in Abb. 9 unten dargestellt, werden beim Verschlüsselungsprozess der Ordner „C:\Windows“, die Datei „new-mains.exe“ sowie Dateien mit der Erweiterung „ .ghost“ übersprungen.

Abb. 9: Dateien und Ordner überspringen
Diese Ransomware verwendet einen AES-Verschlüsselungsalgorithmus und eine Schlüssellänge von 256 Bit. Sie verschlüsselt die Datei im Speicher, erstellt eine Kopie der verschlüsselten Datei auf der Festplatte mit der Erweiterung „.ghost“ und löscht anschließend die Originaldatei.

Abb. 10: Verschlüsselungsprozess
Sobald der Verschlüsselungsprozess abgeschlossen ist, speichert die Ransomware die eingebettete Lösegeldforderung in einer HTML-Datei mit dem Namen „ Ransomnote.html “ auf dem Desktop des Opfers und startet diese über den Windows-Befehl „Start“.

Abb. 11: Ransomware-Hinweis
Variant 2:
Diese Ghost-Locker-Variante basiert größtenteils auf Golang. Der Großteil der Ransomware-Funktionalität bleibt derselbe wie bei Variante 1.
Die Unterschiede zwischen diesen beiden Ghost Locker-Varianten sind:
- C2-Server haben sich geändert: von hxxp:[//]41[.]216[.]183.31[/](Abb. 7) C2-Server in Variante 1 zu hxxp[://]94[.]103[.]91[.]246[/] C2-Server in Variante 2.
- Ausführung: Variante 1 wird auch ohne erfolgreiche Verbindung zum C2-Server ausgeführt. Variante 2 wird jedoch nur dann vollständig ausgeführt, wenn der Opfercomputer eine erfolgreiche Verbindung zum C2 herstellen kann.
- Benutzername in der JSON-Datei: Der Benutzername ist Null in Variante 1 und ghostsec in Variante 2 in der generierten JSON-Datei im Speicher. Ein anderer Partner hat diese Ransomware-Binärdatei offenbar mit anderen Konfigurationen über diesen Ransomware-Builder generiert.
- Exfiltration: Wie in Abb. 13 dargestellt, beendet Variante 2 die vom Bedrohungsakteur definierten Dienste und Prozesse, um einer Erkennung zu entgehen. Die vom Bedrohungsakteur definierten Zieldateien für Verschlüsselung und Exfiltration sind .doc, .docx, .xls und .xlsx.
- Datei überspringen: Wie in Abb. 9 erwähnt, wurde in Variante 1 die Option „new-mains.exe”-Datei während des Verschlüsselungsprozesses zur Skip-Liste hinzugefügt, Variante 2 jedoch nicht.
Wie in Abb. 1 und 3 erwähnt, kopiert sich diese Ghost-Locker-Variante auch in den Windows-Startordner, um Persistenz herzustellen, und generiert eine zufällige Zeichenfolge von 32 Bytes für die ID in der JSON-Datei.
Sobald die infizierte Maschine beim C2-Panel registriert ist, versucht die Ransomware-Probe, die definierte Prozessliste oder Dienste [vom Bedrohungsakteur definierte Liste beim Erstellen der Ransomware-Proben] auf der Maschine des Opfers zu beenden.


Abb. 12: Funktionen zum Beenden von TA-definierten Diensten und Prozessen
Es sucht die Zieldateien auf dem Computer des Opfers anhand der vom Bedrohungsakteur definierten Dateierweiterungsliste. Bevor die Verschlüsselungsroutine beginnt, lädt es die Zieldateien mithilfe der HTTP-Post-Methode über die URL auf den C2-Server hoch, wie in Abbildung 13 dargestellt. In dieser Variante exfiltrierte und verschlüsselte der Akteur die Dateien mit den Erweiterungen .doc, .docx, .xls und .xlsx.

Abb. 13: Exfiltrieren Sie die von TA angegebenen Dateien auf den C2-Server
IOCS:
C30A14B595FA334084CD32FA60B3C827
8AD67A1B7A5F2428C93F7A13A398E39C
hxxp[:]//94[.]103[.]91.246[/]incrementLaunch
hxxp[://]41[.]216[.]183[.]31[/]incrementLaunch
hxxp[:]//94[.]103[.]91.246[/]addInfection
hxxp[://]41[.]216[.]183[.]31[/]addInfection
Erkennungen:
Lösegeld.Ghostlockr.S32894932
Yara-Regel:
importiere „pe“
Regel Ghost_locker
{
Saiten:
//$s2={06 6F ?? 00 00 0A 28 ?? 00 00 0A 28 ?? 00 00 0A 28 ?? 00 00 06 26}
$s1={3C 74 69 74 6C 65 3E 47 68 6F 73 74 4C 6F 63 6B 65 72 20 4E 6F 74 65 3C 2F 74 69 74 6C 65 3E}
$s2={68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 61 64 64 49 6E 66 65 63 74 69 6F 6E}
$s3={68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 69 6E 63 72 65 6D 65 6E 74 4C 61 75 6E 63 68}
$s4={3C 61 20 68 72 65 66 3D 22 68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 76 69 63 74 69 6D 63 68 61 74 3F 69 64 3D 5B 45 4E 43 52 59 50 54 49 4F 4E 49 44 5D 22 3E 43 6C 69 63 6B 20 6D 65 3C 2F 61 3E}
$s5={2E 67 68 6F 73 74 }
Bedingung: Alle}
MITRE-ANGRIFF-TTPs:
| Taktik | Technik / Vorgehensweise |
| Ausführung | T1059.003: Befehls- und Skriptinterpreter: Windows-Befehlsshell
|
| Bewertung | T1007: Systemdiensterkennung |
| T1082: Systeminformationserkennung | |
| T1083: Datei- und Verzeichniserkennung | |
| Command and Control | T1071: Protokoll der Anwendungsschicht |
| Exfiltration | T1041: Exfiltration über C2-Kanal
|
| Auswirkungen | T1486: Für Auswirkungen verschlüsselte Daten |
| T1489: Dienststopp | |
| T1490: Systemwiederherstellung sperren |
Fazit:
Ghost Locker ist eine Ransomware-as-a-Service-Lösung (RAAS), die von Python-Skripten auf die Programmiersprache Go umgestiegen ist. Sie exfiltriert Daten und verschlüsselt Dateien. Um einer Erkennung zu entgehen, beendet sie die vom Bedrohungsakteur definierten Dienste oder Prozesse und nutzt nach der Verschlüsselung den Selbstlöschungsmechanismus.
Autor:
Manoj Kumar Neelamegam
Mitverfasser:
Rumana Siddiqui



