Nachdem bekannt wurde, dass Mitglieder der berüchtigten Ransomware-Gruppe REvil, die vornehmlich große Ziele angriff, von den russischen Strafverfolgungsbehörden verhaftet wurden und damit die Gruppe und ihre Machenschaften zerschlagen wurden, wandern die Mitglieder nun mit hoher Wahrscheinlichkeit zu anderen Anbietern von Ransomware-as-a-Service (RaaS) ab.
Varonis Threat Labs hat beobachtet, dass ein solcher RaaS-Anbieter, ALPHV (auch bekannt als BlackCat Ransomware), seit Ende 2021 zunehmend aktiv wird, neue Partner rekrutiert und Organisationen in verschiedenen Branchen weltweit ins Visier nimmt.
Hier sind die wichtigsten Erkenntnisse:
Die Leak-Website der Gruppe, die seit Anfang Dezember 2021 aktiv ist, hat bis Ende Januar 2022 mehr als zwanzig Opferorganisationen genannt. Die Gesamtzahl der Opfer, einschließlich derer, die ein Lösegeld gezahlt haben, um Öffentlichkeit zu vermeiden, ist jedoch wahrscheinlich höher.
In diesem Artikel erhalten Sie einen Überblick über diese aufkommende Ransomware-Bedrohung, mit Einzelheiten sowohl zur Linux- als auch zur Windows-Variante des Verschlüsselungstools.
ALPHV, auch bekannt als ALPHV-ng, BlackCat und Noberus, wurde erstmals im November 2021 beobachtet und ist eine Ransomware-as-a-Service-Bedrohung (RaaS), die Unternehmen in zahlreichen Sektoren weltweit angreift und dabei eine Triple-Extortion-Taktik (dreifache Erpressung) verwendet.
Hierbei wird auf der üblichen Extortion aufgebaut, bei der sensible Daten vor der Verschlüsselung gestohlen werden und das Opfer mit der Veröffentlichung dieser Daten erpresst wird. Bei Triple Extortion wird zusätzlich mit einem DDoS-Angriff (Distributed Denial-of-Service) gedroht, falls die Forderungen der Ransomware-Gruppe nicht erfüllt werden.
Aufgrund der offensichtlichen Erfahrung in diesem Bereich – z. B. der Verwendung bewährter Taktiken, Techniken und Prozeduren (TTP) für große Ziele und des bekanntgewordenen Erfolgs in letzter Zeit – ist eher davon auszugehen, dass ehemalige Mitglieder einer Ransomware-Gruppierung dahinterstehen, statt Neulinge.
Darüber hinaus haben einige Cyberkriminalitäts-Forenmitglieder angemerkt, dass ALPHV sogar eine Weiterentwicklung bzw. ein Rebranding von BlackMatter sein könnte, das seinerseits ein „Spin-off“ oder Nachfolger von REvil und DarkSide ist.
In russischsprachigen Cyberkriminalitätsforen wurden zuvor Partner angeworben (Abbildung 1) mit dem Versprechen, bis zu neunzig Prozent der Lösegelder zu erhalten.
Abbildung 1 – ALPHV „sucht nach WINDOWS/LINUX/ESX-Pentestern“
Bei der Arbeit mit diesen neuen Partnern werden für die erste Intrusion in ein Opfernetzwerk wahrscheinlich bewährte Methoden verwendet. Zum Beispiel werden gängige Sicherheitslücken in Netzwerkinfrastrukturgeräten wie VPN-Gateways ausgenutzt und Anmeldeinformationen werden über ungeschützte RDP-Hosts (Remote Desktop Protocol) missbraucht.
Anschließend wurde beobachtet, dass bei ALPHV-Angriffen PowerShell verwendet wurde, um die Sicherheitseinstellungen von Windows Defender im gesamten Netzwerk des Opfers zu ändern und die Ransomware-Binärdatei, einen interaktiven Prozess, mit PsExec auf mehreren Hosts zu starten.
Nachdem die Gruppe Zugriff auf ein Opfernetzwerk erlangt hat, führt sie anschließend Phasen zur Erkundung und zur lateralen Bewegung durch, in denen sensible und wertvolle Daten identifiziert werden, die verschlüsselt und anschließend exfiltriert werden können.
Unter Verwendung einer eigenen ausführbaren Ransomware-Datei, die neu erstellt wird und nicht auf einer bestehenden Bedrohung basiert, entwickelt der Bedrohungsakteur eine auf das jeweilige Opfer zugeschnittene Bedrohung. Hierbei werden bestimmte Elemente, wie die Verschlüsselungsleistung berücksichtigt und große Dateien möglicherweise nur teilweise verschlüsselt. Außerdem werden eingebettete Anmeldedaten des Opfers verwendet, um die automatische Propagierung des Ransomware-Payloads auf andere Server zu ermöglichen.
Im Gegensatz zu vielen anderen Ransomware-Bedrohungen wurde ALPHV mit Rust entwickelt, einer Programmiersprache, die für ihre schnelle Leistung und ihre plattformübergreifenden Kapazitäten bekannt ist. Dadurch konnten im Dezember 2021 und Januar 2022 sowohl Linux- als auch Windows-Varianten beobachtet werden.
Viele gehen zwar davon aus, dass ALPHV die erste Ransomware-Bedrohung „in freier Wildbahn“ sein könnte, die mit Rust entwickelt wurde, allerdings wurde bereits im Juni 2020 auf GitHub ein Proof-of-Concept einer Rust-Ransomware veröffentlicht. Es deutet allerdings nichts darauf hin, dass dieses irgendeine Verbindung zur Ransomware selbst aufweist.
Vor allem die Verwendung von Rust, neben anderen modernen Sprachen wie Golang und Nim, scheint in den letzten ein bis zwei Jahren ein zunehmender Trend in der Cyberkriminalität zu sein.
Neben der Schaffung neuer plattformübergreifender und leistungsstarker Bedrohungen haben einige Bedrohungsakteure auch ihre älteren Bedrohungen neu geschrieben. Dadurch können die Erkennung vermieden und die Analyse sabotiert werden, wie etwa beim aktualisierten Buer-Downloader „RustyBuer“.
Die Analyse kürzlich gesammelter ALPHV-Proben deutet darauf hin, dass der Entwicklungsprozess wahrscheinlich Anfang bis Mitte November 2021 stattfand, wenn man die Veröffentlichungshistorie der dafür verwendeten Rust-„Crates“ (Programmierbibliotheken) betrachtet.
Die kürzlich beobachteten ALPHV-Proben verwenden Zeroize 1.4.3, das erst am 4. November 2021 veröffentlicht wurde, und benutzen außerdem Kryptographieversionen für öffentliche Schlüssel, die durch die am 16. und 17. November 2021 veröffentlichten Versionen ersetzt wurden.
Viele der verwendeten Rust-Crates sind relativ offensichtlich, z. B. die Befehlszeilenschnittstellen- und Verschlüsselungsbibliotheken. Die Verwendung von Zeroize – einer Bibliothek, die Geheimnisse sicher aus dem Speicher löscht – deutet allerdings auf einen bewussten Versuch hin, zu verhindern, dass Verschlüsselungsgeheimnisse von einem kompromittierten Host wiederhergestellt werden können.
Jede opferspezifische Binärdatei für ALPHV-Ransomware verfügt über eine eingebettete JSON-Datenstruktur (Abbildung 2) mit einer maßgeschneiderten Konfiguration, in die die Kenntnisse des Bedrohungsakteurs über das Opfernetzwerk einfließen.
Abbildung 2 – Beispiel für eine eingebettete JSON-Datenstruktur
Zu den kürzlich beobachteten Proben gehören Konfigurationen mit einem gemeinsamen Satz von Optionen (Tabelle 1), von denen einige für beide Varianten gelten und andere betriebssystemspezifisch sind.
Konfigurationsoption |
Beschreibung |
config_id |
In kürzlich beobachteten Proben nicht festgelegt. |
public_key |
Opferspezifischer, öffentlicher RSA-Schlüssel, der zur Sicherung des Verschlüsselungsschlüssels verwendet wird. |
Erweiterung |
Opferspezifische Erweiterung, die an verschlüsselte Dateien angehängt wird, eine scheinbar zufällig generierte Zeichenfolge aus sieben Kleinbuchstaben und Ziffern (regulärer Ausdruck: [a-z0-9]{7}). |
note_file_name |
Dateiname der Lösegeldforderung, eingestellt auf „RECOVER-${EXTENSION}-FILES.txt“ in kürzlich beobachteten Proben. |
note_full_text |
Text der Lösegeldforderung, der in allen kürzlich beobachteten Proben eine opferspezifische Tor-Onion-Adresse für Verhandlungen enthielt. |
note_short_text |
Windows-Desktophintergrundtext, mit dem das Opfer zur Lösegeldforderung geführt wird, in allen kürzlich beobachteten Proben vorhanden. |
default_file_mode |
Normalerweise auf „Auto“ eingestellt. Es wurden jedoch zwei „SmartPattern“-Werte beobachtet, die dazu führen, dass eine bestimmte Anzahl an Megabyte jeder Datei in Zehnerschritten verschlüsselt wird:
Diese Werte werden aus Leistungsgründen auf bestimmten Opfer-Hosts festgelegt, z. B. wenn sehr große Dateien verarbeitet werden sollen. |
default_file_cipher |
In allen kürzlich beobachteten Proben auf „Best“ festgelegt. Es wird versucht, zuerst AES-Verschlüsselung zu verwenden und danach ggf. ChaCha20. |
credentials |
Opferspezifisch und wahrscheinlich für die Propagierung verwendet. In einigen Proben wurden sowohl Domänen- als auch lokale Administratoranmeldedaten beobachtet. |
kill_services |
Typische Liste gängiger Windows-Dienste im Zusammenhang mit Anwendungen, Backup-Dienstprogrammen, Sicherheitslösungen und Servern mit opferspezifischen Diensten, die in den letzten Proben beobachtet wurden. |
kill_processes |
Typische Liste gängiger Windows-Prozesse im Zusammenhang mit Anwendungen, Backup-Dienstprogrammen, Sicherheitslösungen und Servern mit opferspezifischen Diensten, die in den letzten Proben beobachtet wurden. |
exclude_directory_names |
Typische Liste von Windows-Systemverzeichnissen, um sicherzustellen, dass der Host nach der Verschlüsselung stabil bleibt (und die Lösegeldforderung geöffnet werden kann). |
exclude_file_names |
Typische Liste von Windows-Systemdateien, um sicherzustellen, dass der Host nach der Verschlüsselung stabil bleibt (und die Lösegeldforderung geöffnet werden kann). |
exclude_file_extensions |
Typische Liste von Windows-Systemdateierweiterungen, um sicherzustellen, dass der Host nach der Verschlüsselung stabil bleibt (und die Lösegeldforderung geöffnet werden kann). |
exclude_file_path_wildcard |
In kürzlich beobachteten Proben nicht festgelegt. Schließt bestimmte Dateipfade vom Verschlüsselungsprozess aus, spezifisch für den Host/das Opfer. |
enable_network_discovery |
Boolescher Wert, der in kürzlich beobachteten Proben auf „true“ festgelegt ist und die Netzwerkerkennung über NetBIOS/SMB ermöglicht, um andere Hosts zur Verschlüsselung zu finden. |
enable_self_propagation |
Boolescher Wert, verschiedene Konfigurationen, die in kürzlich beobachteten Proben anscheinend spezifisch für den jeweiligen Host/das Opfer festgelegt werden. |
enable_set_wallpaper |
Boolescher Wert, der in kürzlich beobachteten Proben auf „true“ festgelegt ist und dank dem auf dem Windows-Desktophintergrund „note_short_text“ angezeigt wird. |
enable_esxi_vm_kill |
Boolescher Wert, der bestimmt, ob virtuelle VMware-ESXi-Maschinen beendet werden. |
enable_esxi_vm_snapshot_kill |
Boolescher Wert, der festlegt, ob Snapshots virtueller VMware-ESXi-Maschinen entfernt werden (Konfigurationsoption nur in kürzlich beobachteten Linux-Proben vorhanden). |
strict_include_paths |
In kürzlich beobachteten Proben nicht festgelegt. Führt dazu, dass der Verschlüsselungsprozess nur Dateien innerhalb der angegebenen Pfade verarbeitet. |
esxi_vm_kill_exclude |
Boolescher Wert, führt dazu, dass bestimmte virtuelle VMware-ESXi-Maschinen nicht beendet werden. |
Tabelle 1 – ALPHV-Konfigurationsmöglichkeiten
Obwohl viele Optionen in den eingebetteten Konfigurationen beider Proben auftauchen, scheint die Ransomware diejenigen zu ignorieren, die für den jeweiligen Host nicht verwendet werden können. So enthalten kürzlich beobachtete Windows-Proben beispielsweise Referenzen auf VMware ESXi – eine Plattform, die von der Linux-Variante unterstützt wird. Kürzlich beobachtete Linux-Proben enthalten hingegen Referenzen auf Windows-Verzeichnisse, Dateien und Dateierweiterungen.
Basierend auf den Befehlszeilenoptionen, die für beide Varianten verfügbar sind, können viele der eingebetteten Konfigurationsoptionen vermutlich bei der Ausführung deaktiviert werden.
Wenn die Ransomware mit dem Parameter „--help“ gestartet wird, werden die verfügbaren Optionen bequem angezeigt (Abbildung 3) und man erhält einen Einblick in die Kapazitäten der Ransomware.
Abbildung 3 – ALPHV-„Kernoptionen“ (Windows-Varianten)
Unterschiede in den angezeigten Optionen können auf eine frühere Version oder spezifische Variante für das Opfer bzw. die Windows-Version hindeuten. Viele Optionen ermöglichen es dem Bedrohungsakteur, eingebettete Konfigurationen zu überschreiben.
Zusätzlich zu diesen Kernfunktionen bietet die Analyse einer neueren Linux-Variante Einblicke (Abbildung 4) in die Unterstützung von VMware-ESXi-Hosts, einschließlich der Möglichkeit, virtuelle Maschinen anzuhalten und, falls aktiviert, Snapshots virtueller Maschinen zu löschen, um eine Wiederherstellung zu verhindern.
Abbildung 4 – „ESXi“-Optionen von ALPHV (Linux-Variante)
Nach dem ersten Start enthalten sowohl die Linux- als auch die Windows-Variante einen Multi-Thread-Worker-Pool, der einen „Datei-Worker-Pool“ mit vier Workern erzeugt. Diese werden verwendet, um alle Zieldateien zu öffnen und bearbeiten, wobei der ursprüngliche Inhalt durch verschlüsselte Daten ersetzt wird.
Nach der Initialisierung seiner Kernfunktionen, einschließlich der Erstellung des Datei-Worker-Pools, kann die Windows-Variante unter bestimmten Bedingungen Funktionen zur Berechtigungseskalation ausführen.
Da die manuelle Ausführung des Ransomware-Elements nach der Erkundungs- und Datenexfiltrationsphase erfolgt, ist davon auszugehen, dass der Bedrohungsakteur bereits über erweiterte Berechtigungen verfügt.
Unabhängig davon scheinen die folgenden Berechtigungseskalationsfunktionen in die Ransomware eingebettet zu sein und erhöhen wahrscheinlich die Erfolgschancen, wenn sie an andere Windows-Hosts propagiert werden:
Darüber hinaus führt die Windows-Variante vor der Verschlüsselungsphase eine Reihe von Prozessen aus, die sich von den üblichen Ransomware-Bedrohungen unterscheiden, nämlich:
Zusätzlich zur Unterdrückung der Anzeige des PsExec-Lizenzdialogs (-accepteula) wird der propagierte Ransomware-Prozess mit dem SYSTEM-Konto (-s) in einer nicht-interaktiven Sitzung ausgeführt (-d). Hierdurch muss nicht auf den Abschluss des Remote-Prozesses gewartet werden und die ausführbare Datei der Ransomware wird auf den Remote-Host (-c) kopiert, wobei alle bestehenden Dateien überschrieben werden (-f).
Die legitime PsExec-Datei ist in die Windows-Variante eingebettet und wird im %TEMP%-Verzeichnis des Opfers abgelegt.
Wie zu erwarten, werden auch die üblichen Windows-Ransomware-Funktionen ausgeführt:
Standardmäßig wird AES-Verschlüsselung verwendet, wie an der Konfigurationsoption „best“ zu sehen ist. Der Prozess kann jedoch auf die Verwendung von ChaCha20 zurückgreifen bzw. dafür konfiguriert werden.
Nachdem eine Datei verschlüsselt wurde, wird die vorkonfigurierte siebenstellige alphanumerische Dateierweiterung an den Dateinamen angehängt. Dieser Wert scheint sich je nach Opfer zu unterscheiden.
Nach der Verschlüsselungsphase werden eine Reihe von abschließenden Aufgaben ausgeführt:
Abbildung 5 – Desktop-Hintergrundbild nach der Verschlüsselung
Sofern die ESXi-Optionen nicht deaktiviert sind, wird das VMware-ESXi-Befehlszeilenschnittstellen-Dienstprogramm (esxcli) aufgerufen, das eine CSV-Liste aller laufenden virtuellen Maschinen erstellt:
Die Ausgabe dieses Befehls wird anschließend an AWK weitergeleitet, ein Textverarbeitungsprogramm. Damit werden die Ergebnisse analysiert und das ESXI-Befehlszeilenschnittstellen-Dienstprogramm wird gestartet, um die Beendigung jeder virtuellen Maschine zu erzwingen:
Mithilfe des Verwaltungsdienstprogramms für virtuelle Infrastruktur von VMware (vimcmd) wird eine weitere Liste virtueller Maschinen erfasst und analysiert, deren Ergebnisse mit dem Befehl „snapshot.removeall“ an vimcmd zurückgegeben werden. Hierdurch werden alle Snapshots gelöscht:
Wie allgemein bei Ransomware-Bedrohungen, die sich auf große Ziele spezialisiert haben, werden in der Regel große Unternehmen anvisiert, von denen größere Lösegeldsummen erbeutet werden können. Berichten zufolge bewegen sich die Forderungen im Bereich von 400.000 bis 3.000.000 US-Dollar, die in Kryptowährung bezahlt werden müssen.
Die tatsächliche Zahl der Opfer ist zwar unbekannt, allerdings wurden auf der Tor-Leak-Website der Gruppe über zwanzig Organisationen aus einer Vielzahl von Branchen und Ländern genannt, darunter:
Die folgenden legitimen, wenn auch verdächtigen, Prozesse wurden von der Linux/VMware-ESXi-Variante gestartet:
Die folgenden legitimen, wenn auch verdächtigen, Prozesse wurden von der Windows-Variante gestartet:
Da jede Probe auf das jeweilige Opfer zugeschnitten ist, eignen die folgenden Angaben eher zu Forschungszwecken als zur Erkennung:
Da jede Probe auf das jeweilige Opfer zugeschnitten ist, eignen die folgenden Angaben eher zu Forschungszwecken als zur Erkennung: