zephyr_p - stock.adobe.com
Analyse eines koordinierten Ransomware-Angriffs auf Firmen
Experten beobachten den Anstieg opportunistischer, automatisiert vorgehender Ransomware, zudem nehmen koordinierte und komplexe Angriffe zu. Was passiert da technisch im Detail?
Angreifer suchen nach Schwachstellen, nicht nach Branchen oder Unternehmen. Sobald gefunden, versuchen sie, das Beste aus der Gelegenheit zu machen. Die Angreifer der Cactus-Gruppe untersuchten eine automatisiert gefundene Schwachstelle in einem Unternehmen und attackierten in der Folge auch eine zweite, lose angebundene Unternehmens-IT mit Ransomware. Beide angegriffenen Organisationen bezahlten nicht das eingeforderte Lösegeld, sondern beauftragten Bitdefender als externe Experten mit einer forensischen Analyse der Vorgänge.
Bei CACTUS handelt es sich um eine im März 2023 erstmals aufgetretene Ransomware-Gruppe, die sich seitdem etabliert hat. Sie hat sich zu verschiedenen Angriffen bekannt, so zum Kompromittieren und zum Diebstahl von 1,5 TByte an Daten bei Schneider Electric.
Der Proof of Concept (PoC) für eine Remote Code Execution erweckte die Aufmerksamkeit der Angreifer. CACTUS startete die Suche nach Schwachstellen nur 24 Stunden nach dem Bekanntwerden. Anschließend begannen die Hacker, das Netzwerk des Unternehmens zu infiltrieren, indem sie Fernzugriffstools und Tunnel über verschiedene Server einrichteten. Als sie die Möglichkeit fanden, auf eine weitere Unternehmens-IT überzugreifen, nutzten sie diese. Beide Netzwerke gehörten zum selben Konzern, operierten aber unabhängig voneinander und unterhielten getrennte Konnektivitäten und Domänen. Trotz dieser grundsätzlichen Isolation waren einige Rechner des einen Unternehmens im Netzwerk des anderen aktiv. Diesem schmalen Pfad folgten dann auch die Hacker.
Erste Kompromittierung im Unternehmen A
Auslöser für die Attacke war die kritische Sicherheitslücke CVE-2023-38035 für Ivanti Sentry – ehemals Mobilelron Sentry. Dabei handelt es sich um ein Inline-Gateway, das den Datenverkehr zwischen mobiler Hardware und Backend-Unternehmenssystemen verwaltet, verschlüsselt und sichert. Wer diese Lücke ausnutzte, konnte Authentifizierungskontrollen aufgrund eines nicht hinreichend restriktiv konfigurierten Apache-HTTPD Remote Codes im Kontext eines Root-Benutzers ausführen. Einen Tag nach Veröffentlichung des POC, am 24. August 2023, wurde der Server des ersten Unternehmens Opfer eines Angriffs. Da dieser Server über einen Monat lang nicht gepatcht worden war – ein nicht ungewöhnliches Szenario – ließen sich Attacken von über 70 verschiedenen IP-Adressen feststellen. Mehrere Angreifer nutzten die Schwachstelle wahrscheinlich aus, wie Nutzerdaten von Bedrohungsakteuren zeigen: darunter Kinsing, generische XMR-Miner, Meterpreter-Binärdateien und ein neu angelegter Nutzer mit Namen Ubuntu.
Seitliche Bewegungen im Unternehmen A
Am ersten Tag der Angriffe (also T+0) verbanden die Cyberkriminellen den kompromittierten Ivanti-Sentry-Server und den Server für Endpunktsicherheit. Der Sentry-Server diente als Proxy, der das Tunneln von TCP/UDP-, IP- oder HTTP/HTTPS-Datenverkehr unterstützte. Die Verbindung wurde über das lokale Konto SECURITY1\Guest hergestellt. Nach erfolgreicher Ansprache zu SECURITY1 setzte der Angreifer das Kennwort für den lokalen Benutzer-Guest zurück.
Dieser Datenverkehr umging die Firewall. Die Angreifer unternahmen aber auch Brute-Force-/Passwort-Spraying-Versuche am SMB-Port 445, die auf mehrere Konten abzielten und in zwei separaten Phasen mit einem Abstand von etwa zwei Stunden stattfanden.
Am folgenden Tag (T+1) setzten die CACTUS-Mitglieder ihre Aktivitäten auf dem SECURITY1-System fort. Zunächst installierten sie die an sich legitime AnyDesk-Software für den Fernzugriff. Als nächstes erstellten sie auf diesem Server einen Remote SSH-Tunnel, was durch die Anlage der Ordner C:\ProgramData\ssh und C:\Users\endpoint\.ssh\known_hosts belegt ist. Mit RDP-, AnyDesk- und SSH-Zugang fungierte dieser Sicherheitsserver als Gateway für die Angriffe auf das Unternehmen A. Schließlich extrahierten sie die Anmeldedaten für das Konto bei Unternehmen A aus dem Local-Security-Authority-Speicher LSA Secrets und konnten so das nächste Ziel angreifen.
Eskalation von Privilegien im Unternehmen A
Zwei Tage nach Beginn des Angriffs erhielten die Hacker durch den Zugriff auf das Konto VictimA\endpoint die erforderlichen Rechte, um den zentralen Domänencontroller DC1 selbst zu infiltrieren. Etwa zu diesem Zeitpunkt verschafften sie sich auch Zugang auf das Domänen-Administratorkonto VictimA\DomainAdmin.
Zu diesem Zeitpunkt hatten sie mehrere Zugriffsmöglichkeiten auf die Umgebung und Domänenadministratorrechte. Nichts hinderte sie mehr daran, einen Angriff auf Unternehmen A zu starten – aber sie entdeckten noch eine weitere Möglichkeit, diesen Angriff zu eskalieren.
Ausgreifen von Unternehmen A zu Unternehmen B
Obwohl die Netzwerke und Domänen der beiden Unternehmen getrennt blieben und keine überprüfte Konnektivität zwischen ihnen aufgebaut war, waren einige Maschinen von Unternehmen A im Netzwerk von Unternehmen B aktiv. Trotz Firewall wurde ein gewisser Datenverkehr, einschließlich des Zugriffs auf den Domain-Controller von Unternehmen A und den DOCUMENTATION1-Server, zugelassen. Diesen Dokumentationsserver wählten die böswilligen Akteure als Dreh- und Angelpunkt für das Übergreifen des Angriffs auf das zweite Unternehmen. Entdeckt hatten die Angreifer diesen Server über eine SMB-Verbindung am Tag T+0 und verschafften sich frühzeitig Zugang auf ihn.
Command and Control
Am Tag T+1 um 20 Uhr luden sie über das Konto des Opfers A\DomainAdmin eine Datei C:\Users\<DomainAdmin>\Desktop\23.exe auf den Server DOCUMENTATION1 hoch und führten sie aus. Dabei handelte es sich um ein Installationsprogramm für einen DWAgent – eine Komponente des Fernzugriffstools DWService.
Nun legten die Angreifer einen Ordner unter C:\ProgramData\ssh mit den Dateien ssh.exe und libcrypto.dll an. Anschließend öffneten sie eine PowerShell-Konsole, welche die Angreifer möglicherweise zur Installation eines SSH-Tunnels verwendeten. Schließlich erstellten sie eine knownhosts-Datei unter C:\Windows\SysWOW64\config\systemprofile\.ssh, die die IP-Adresse 206.188.196.20 enthielt. Dieser Speicherort weist darauf hin, dass ssh.exe mit SYSTEM-Rechten eine Verbindung zu dieser IP-Adresse aufbaute und damit den Tunnel für die Angreifer bereitstellte.
Zugriff auf Anmeldeinformationen
Als nächstes wurde ein Skript namens bk11.ps1 ausgeführt. Dieses Skript zum Sammeln sensibler Informationen bestand aus einer eingebetteten JSON-Konfigurationsdatei (Configuration.json) und C#-Codes. Das Skript fragte die Active Directory nach allen Hosts ab, für die SAM_MACHINE_ACCOUNT-Attribute definiert waren. Das Skript zielt auf verschiedene sensible Daten ab, die in gängigen Benutzerverzeichnissen gespeichert waren, wie zum Beispiel:
- Browser-Profile: Browserverlauf, Lesezeichen und andere Benutzerkonfigurationen aus Firefox, Chrome und Edge;
- Tools für den Fernzugriff: Konfigurationsdateien zur Verbindung und Anmeldeinformationen von legitimen Fernzugriffstools wie mRemoteNG und FileZilla;
- Verschlüsselungsschlüssel: Schlüssel, die in Microsoft-Protect-Ordnern gespeichert sind und zum Sichern sensibler Daten verwendet werden.
Am Tag T+10 hatten die Angreifer Opfer A in ihrem Sinne kompromittiert und steuerten ihr nächstes Ziel an. Der kompromittierte Server diente nun als Angriffsproxy. Sie leiteten Scans ein und unternahmen mehrere Versuche, im Netzwerk von Unternehmen B Fuß zu fassen. Um das Netzwerk zu erkennen, verwendeten die Hacker eine angepasste Version des Skripts PSnmap.ps1. Dieses Tool suchte nicht nur nach den Ports 135 (RPC/WMI), 3389 (RDP), 445 (SMB), 443 (HTTPS) und 22 (SSH), sondern extrahierte auch Maschinendetails wie Prozessinformationen (zum Beispiel Pfad und Benutzer des Eigentümers), Hardwareeigenschaften (zum Beispiel Festplattennutzung und Computermodell) oder die Liste der installierten Anwendungen.
Zwei Tage später (T+12) gelang es ihnen, zwei Rechner von Systemadministratoren zu kompromittieren und das Netzwerk weiter zu infiltrieren. Sie konnten die KeePass-Datenbanken auf beiden Workstations infiltrieren, darunter eine, die von mehreren Administratoren gemeinsam genutzt wird. So erhielten die Angreifer die erforderlichen Rechte für ihren nächsten Schritt. Kurz darauf ließ sich eine erfolgreiche Verbindung zu Unternehmen B, zum VictimB\DC-Server unter Nutzen des VictimB\DomainAdministrator-Kontos feststellen.
Am Tag T+15 erlangten die Angreifer Zugriff ein Dokument, in dem das Installationsverfahren für das Unternehmens-VPN beschrieben war. Sie exportierten das persönliche Zertifikat eines Systemadministrators für die Client-Authentifizierung, sichere E-Mails und das Signieren von Dokumenten. Kurz darauf stellten die Bitdefender-Experten die erste erfolgreiche VPN-Verbindung von einer entfernten IP-Adresse mit diesem Zertifikat fest.
Exfiltration von Daten
Wie erwartet exfiltrierten die Angreifer zunächst die Daten, bevor sie den Ransomware-Angriff starteten. Unternehmen A wurde von Tag T+1 bis T+20, Unternehmen B von T+16 bis T+17 angegriffen. Die Command-and-Control-Server nutzen für die Exfiltration die bekannten IP-Adressen 206.188.196.20 und 64.52.80.252 über die Ports 22 oder 443.
Vorbereiten der Verschlüsselung
Am Tag T+20 starteten die Cyberkriminellen die Verschlüsselungsattacke. Der gesamte Angriff lief über beide Netze hinweg koordiniert und vielschichtig ab. Die Angreifer begannen damit, Arbeitsstationen zu verschlüsseln, bevor sie dazu übergingen, die Hypervisoren und folglich alle darauf gehosteten virtualisierten Server zu kompromittieren. Dabei galt der Angriff dem Hyper-V von Unternehmen A, während Unternehmen B VMware ESXi verwendete. Geplant wurden die notwendigen Tasks und das böswillige Verwalten von Management- und Sicherheitskonfigurationen in beiden Netzen mit den Group Policy Preferences (GPO). Für Unternehmen A erhielten diese Aufgaben die Label Win64, Win32 und Windows, für Unternehmen B die Label Update, Windows Update, and Microsoft Update.
Ziel der ersten Aufgabe war die Anlage des Nutzers Admin2, der dann der lokalen Administratorengruppe zugefügt wurde:
net.exe /c user Admin2 P4$5w0rd12321 /add
net.exe /c localgroup Administrators Admin2 /add
Die zweite Aufgabe deaktivierte den Restricted Admin Modus Mode, um Logins mit NTLM hash zu erlauben:
reg.exe /c add HKLM\System\CurrentControlSet\Control\ /v DisableRestrictedAdmin /t REG_DWORD /d 0 /f
Der dritte Task entfernte Shadow-Volume-Kopien, um ein Recovery zu unterbinden – eine häufige Praxis von Angreifern:
/c vssadmin Delete Shadows /all /quiet
Mit PowerCLI, einem speziellen Skript-Tool für VMware-Umgebungen, setzten die Angreifer die Kennworte für die Root-Konten aller ESXi-Hosts zurück. Außerdem kompromittierten sie den Veeam-Backup-Server, um diese Möglichkeit von Backup und Recovery auszuhebeln.
Um die installierte Endpunktsicherheit zu entfernen, verwendeten die Kriminellen das sehr kleine Batch-Skript so.bat. Zunächst beendete es zwangsweise alle vorhandenen msiexec.exe-Prozesse, um die Benachrichtigung „another installation is in progress“ zu umgehen. Anschließend rief es msiexec.exe mit mehreren Produkt-GUIDs auf, die verschiedenen Versionen der Sicherheitssoftware entsprachen. Schließlich aktualisierte es die Gruppenrichtlinien, bevor das Skript sich selbst löschte.
Start der Verschlüsselung
Die CACTUS-Gruppe ist dafür bekannt, dass sie das von der Black-Basta-Gruppe entwickelte Skript Invoke-TotalExec.ps1 verwendet, um Daten zu verschlüsseln. Das in diesem Fall beobachtete Verhalten stimmte mit diesem Muster überein. Die Ransomware CACTUS verschlüsselte alle Dateien, außer die mit den folgenden Erweiterungen exe, dll, lnk, sys, msi und bat. Um eine doppelte Verschlüsselung zu vermeiden, wurden außerdem Dateien mit den Erweiterungen cts0 und cts1 vom Verschlüsselungsprozess ausgeschlossen.
Verschiedene Hypervisoren, Hyper-V und ESXi waren in beiden Unternehmen von dem Angriff betroffen.
Nachdem die Ransomware das Herunterfahren aller virtuellen Maschinen eingeleitet hatte, begann sie, Hyper-V-Hosts mit der gleichen Binärdatei (und Methode) zu verschlüsseln, die auch auf normalen Workstations eingesetzt wird.
Die Angreifer kopierten die ausführbare Datei, die mit der ID des Opfers gekennzeichnet war, über SCP auf die Hosts und gewährten ihr Rechte, die Datei auszuführen.
scp -t '/{Opfer-ID}
chmod +x {Opfer-ID}
./{Opfer-ID} -58fb -i{Entschlüsselungsschlüssel} -q -s -c41 -w90
ps | grep {Victim ID}
Lehren für die Abwehr auf Netz- und Endpunktebene
Konzertiere Aktionen immer anspruchsvoller agierender Krimineller lassen sich vor allem durch ein konsequentes priorisiertes Patchmanagement abblocken. Der beschriebene Angriff zeigt deutlich, wie sehr Ransomware-Akteure, die opportunistisch agieren, mit automatisiertem Suchen nach Schwachstellen ihre Reaktionszeit auf POCs verkürzt haben. IT-Sicherheitsverantwortliche stehen daher vor der Notwendigkeit, vor allem die Server mit Internet-Konnektivität zeitnah zu patchen. Darüber hinaus müssen Unternehmen ihre Netzwerke geeignet segmentieren. Zero-Trust-Ansätze sind entscheidend, um den Sicherheitsstatus von Unternehmen zu verbessern. Eine mehrschichtige Abwehr vereint segmentierte Netzwerke zum Eindämmen der Angriffe mit Endpunktschutz und baut überlappende Abwehrmechanismen gegen externe Angriffe auf. Um verdächtige Aktivitäten zu überwachen und Angriffe forensisch zu analysieren, ist ein aktiviertes, funktionierendes und effizientes Logging von Vorgängen nötig. Eine Extended Detection and Response (XDR), Managed Detection and Response (MDR) und wie in diesem Fall das Heranziehen externer Sicherheitsanalysten ist ebenso wichtig, um die Abwehr des Netzwerkes auf der Höhe der Zeit zu halten.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.