Zusammenfassung

In diesem Artikel zeigt das Hornetsecurity Security Lab eines der aktuellen Vorgehen der Betreiber hinter der Clop Ransomware. Die skizzierte Infektionskette beginnt mit einer E-Mail mit einem bösartigen HTML-Anhang. Dieser Anhang leitet das Opfer zu einem XLS-Dokument, das den Get2-Loader enthält. Dieser Loader installiert dann einen Remote Access Trojaner (RAT) auf dem System, der dazu dient, das Netzwerk des Opfers auf den Einsatz der Clop vorzubereiten. Am Ende des Angriffes steht die Verschlüsselung so vieler Rechner im angegriffenen Unternehmen wie möglich, um ein möglichst hohes Lösegeld zu erpressen. Zu diesem Zweck drohen die Angreifer auch mit der Veröffentlichung gestohlener Daten, falls das Lösegeld nicht bezahlt wird.

Hintergrund

In diesem Artikel geht es um die Bedrohungsaktivität,deren TTPs und Indikatoren sich mit denen von Bedrohungsaktivitäten decken, die von anderen IT-Sicherheitsanbietern als TA505 (Proofpoint), SektorJ04 (NSHC Singapur), GRACEFUL SPIDER (Crowdstrike), GOLD TAHOE (Securework) und Dudear (Microsoft) verfolgt werden. Diese Bedrohungsgruppe ist seit mindestens 2014 aktiv. Sie ist finanziell motiviert. Sie ist für den Einsatz folgender Malware bekannt:
  • Loader: Quant (2018), Marap (2018), Amadey (2019), AndroMut (2019) und Get2 (2019-heute)
  • RAT: FlawedAmmyy (2016-heute), FlawedGrace (2019-heute), ServHelper (2019-heute), SDBbot (2019-heute)
  • Ransomware: Bart (2016), Locky (2016-2020), Jaff (2017) und Clop (2019-heute)
Sie verwendet auch:
  • Dridex (2014-heute)
  • TrickBot (2017-heute)
  • Nercus (nicht mehr bestehend) und Neutrino Botnetze
Diese werden jedoch auch von anderen Bedrohungsgruppen häufig verwendet, sodass sie keine robusten Indikatoren für die Zuordnung zu TA505 sind. TA505 verwenden darüber hinaus zusätzliche allgemein verfügbare Malware wie TinyMet, einen kleinen Open-Source-Meterpreter Stager [TinyMet]. Von 2016 bis 2019 haben sie auch die legitime Software Remote Manipulator System (RMS), die von der russischen Firma TektonIT entwickelt wurde, für den Fernzugriff missbraucht. Die typische TA505-Infektionskette hat die folgenden Merkmale:
  1. Malspam, der Get2 mitbringt.
  2. Get2 lädt den RAT SDBbot, FlawedGrace oder FlawedAmmyy herunter.
  3. Lateral Movement im Opfernetzwerk.
  4. Hauptziel: Einsatz der Clop-Ransomware auf einer maximalen Anzahl von Rechnern.
Wir werden uns auf eine beobachtete Ausführung der Infektionskette konzentrieren, wie sie von TA505 seit 2019 verwendet wird. In dieser Infektionskette hat die erste Malspam-E-Mail einen HTML-Anhang. Dieser HTML-Anhang leitet das Opfer zum Herunterladen eines XLS-Dokuments. Dieses XLS-Dokument enthält den Get2-Loader, der (in unserer Beobachtung) SDBbot herunterlädt. TA505 HTML-Malspam-Infektionskette SDBbot wird zur Aufklärung und dem Lateral Movement im Netzwerk des Opfers eingesetzt. Mit der Clop-Ransomware scheint es TA505 nicht auf die Verschlüsselung von Computern von Einzelpersonen abgesehen zu haben. Ihre Absicht ist die Massenverschlüsselung von Computern einer ganzen Organisation. Dies geschieht vermutlich, um den Druck auf die Organisation zu erhöhen, die Lösegeldsumme zu erhöhen und den Druck auf die Organisation zur Zahlung des Lösegelds zu erhöhen. Die Konzentration auf große Organisationen wird als Big-Game-Hunting (dt. Großwildjagd) bezeichnet. Ein Beispiel für eine erfolgreiche TA505-Attacke war der Angriff auf die Universität von Maastricht. Dort wurden die Daten von über 267 Windows-Servern von der Clop-Ransomware verschlüsselt. Die Universität zahlte 30 BTC (rund 220.000 Dollar) für die Entschlüsselung, um ihre Daten zurückzubekommen. Seit etwa 2020-03-24 hat TA505 auch damit begonnen, gestohlene Daten von Opfern der Clop-Ransomware, die sich weigerten, das Lösegeld zu zahlen, auf ihrer Website namens CL0P^_- LEAKS zu veröffentlichen. Dies ist ein weiterer Versuch, den Druck auf die Opfer zu erhöhen, das Lösegeld zu zahlen. Das Operational Tempo ist hoch. Malspam-Kampagnen finden wöchentlich statt. Download- und C2-Domains werden täglich gewechselt. Wir analysieren nun die skizzierte Infektionskette genauer.

Technische Analyse

Als E-Mail-Sicherheitsanbieter konzentrieren wir uns auf den anfänglichen E-Mail-basierten Zugangsvektor des Angriffs und skizzieren nur kurz, was passiert, wenn eine solche E-Mail von einem Opfer empfangen und geöffnet wird.

E-Mail

Die E-Mails werden von kompromittierten E-Mail-Konten gesendet. Sie passieren daher Spam-Reputation, DMARC-, DKIM- und SPF-Prüfungen. Die E-Mails verwenden Signaturblöcke von früheren kompromittierten Opfern, vermutlich um die E-Mails legitimer aussehen zu lassen. Diese beiden Fakten konnten wir für einige der E-Mails bestätigen. Das kompromittierte Konto unterscheidet sich jedoch von dem in den E-Mails verwendeten gestohlenen Signaturblock. Nur der Anzeigename in der From-Zeile der E-Mail wird in den im Signaturblock verwendeten Namen geändert. Nachfolgend einige Beispiele für solche TA505-HTML-Malspam-E-Mails, die innerhalb von einer Woche eingegangen sind: TA505 ursprüngliche E-Mail TA505 ursprüngliche E-Mail TA505 ursprüngliche E-Mail TA505 ursprüngliche E-Mail TA505 ursprüngliche E-Mail TA505 ursprüngliche E-Mail TA505 ursprüngliche E-Mail Die täglich wechselnden E-Mails unterstreichen das hohe Operational Tempo der TA505.

HTML-Anhang

Jede E-Mail hat einen HTML-Anhang. Der HTML-Code leitet die Opfer auf eine kompromittierte Website. Wie die E-Mails selbst, so ändern sich auch die HTML-Anhänge häufig. In der Woche, in der die zuvor skizzierten E-Mail-Vorlagen verwendet wurden, haben wir drei verschiedene Umleitungstechniken identifiziert, die in den HTML-Anhängen verwendet werden. Die erste verwendet die folgende Javascript-Umleitung: TA505 HTML-Anhang Die zweite verwendet das HTML-Tag <embed>: TA505 HTML-Anhang Die dritte verwendet das Tag <object>: TA505 HTML-Anhang Die HTML-Anhänge verwenden Hash-Busting mittels zufälliger Zeichenfolgen. Wir konnten dies bestätigen, indem wir mehrere HTML-Anhänge fanden, in denen scheinbar Platzhalterzeichen nicht durch die zufälligen Zeichenfolgen ersetzt wurden. In diesem Beispiel sollte das {{RND_TEXT}} wahrscheinlich durch eine zufällige Zeichenfolge ersetzt werden (so wie es in den anderen HTML-Anhängen der Fall war): TA505 HTML-Anhangsvorlage fehlgeschlagen Das Tag {{RND_TEXT}} könnte in der Jinja-Syntax sein. Jinja ist eine Web-Template-Engine für die Programmiersprache Python. Sie verwendet die {{var}}-Syntax, um Platzhalterpositionen im HTML-Schablonencode zu markieren, die dann bei der Instantiierung von HTML-Code aus der Schablone mit den gewünschten Werten gefüllt werden. Neben der Änderung der HTML-Umleitungstechniken und der URLs wurden in den HTML-Anhängen mehrfach auch die HTML-Elemente neu angeordnet oder unbenutzte <a>-Tags hinzugefügt, um die Erkennung durch statische Signaturen zu vermeiden.

Zwischengeschaltete Weiterleitung

Die HTML-Anhänge leiten entweder auf eine höchstwahrscheinlich kompromittierte Website um oder betten HTML von einer solchen Website ein. Dieser HTML-Code leitet das Opfer dann weiter zu einer anderen vom Angreifer kontrollierten Domain um: TA505-Weiterleitung auf kompromittierte Website Wie genau TA505 Zugang zu diesen zwischengeschalteten Weiterleitungs-Websites erhält, ist nicht bekannt. Da sie jedoch meist nur statische Inhalte und kein CMS aufweisen sind Web-Schwachstellen sehr unwahrscheinlich. Da TA505 dafür bekannt ist, FTP-Zugangsdaten zu stehlen, ist dies ein wahrscheinlicher Zugangsvektor.

XLS-Download-Domain

Als nächstes führen die zwischengeschalteten Umleitungen zu Domains, die von TA505 registriert wurden. Wie die E-Mails, Anhänge und zwischengeschalteten Umleitungen ändern sich auch diese Domains häufig. Die folgenden Domains wurden im Laufe von einem Monat beobachtet: TA505 XLS-Download-Domains, beobachtet über 1 Monat Wie man sehen kann, registriert TA505 bei laufenden Kampagnen täglich neue Domains. Dies unterstreicht erneut ihr hohes Arbeitstempo. Das folgende Muster ist zu beobachten. Zuerst werden Let’s Encrypt-Zertifikate beschafft. Der Zeitpunkt, zu dem die Zertifikate für die oben genannten Domains beschafft wurden, ist in der folgenden Grafik ersichtlich: TA505 Let's Encrypt Zertifikatsausstellungszeiten Als nächstes wird der HTML-Anhang-Malspam gesendet: TA505 HTML-Malspam-Zeiten Nach dem Versand der Malspam werden neue Domains für den nächsten Tag registriert: TA505 XLS-Domain-Registrierungszeiten herunterladen Dies unterstreicht erneut die Hartnäckigkeit und das hohe Operational Tempo der TA505.

CAPTCHAs

Ab 2020 werden die bösartigen XLS-Dokumente über CAPTCHAs geschützt. Nachfolgend sind die dargestellten Download-Screens abgebildet. Diese stammen alle aus nur einer Woche: TA505 Beispiel CAPTCHA TA505 Beispiel CAPTCHA TA505 Beispiel CAPTCHA Die CAPTCHAs werden wahrscheinlich eingesetzt, um die automatisierte Analyse durch Sicherheitsunternehmen zu behindern. Der verwendete CAPTCHA-Service und das Layout der Download-Seite ändern sich häufig. Im HTML-Code einer solchen XLS-Download-Seite fanden wir wieder die Platzhalterzeichenfolge {{RND_TEXT}}: TA505 HTML-Vorlage fehlgeschlagen Auch diese wird vermutlich für Hash-Busting verwendet.

XLS

Nachdem das CAPTCHA gelöst ist, lädt das Opfer das TA505-XLS-Dokument herunter. Die Nummer im Dateinamen ändert sich bei jedem Download. Der Dokument-Hash ändert sich jede Minute. Die Änderungen werden an den Metadaten des Dokuments wie Titel, Thema und Autor, aber auch am Inhalt des Dokuments selbst vorgenommen, wie der Vergleich zweier XLS-Dokumente, die zu unterschiedlichen Zeiten heruntergeladen wurden, zeigt:
$ diff <(exiftool Form\ F-12189.xls) <(exiftool Form\ F-44754.xls)
2c2
< File Name                       : Form F-12189.xls
---
> File Name                       : Form F-44754.xls
4,5c4,5
< File Size                       : 816 kB
< File Modification Date/Time     : 2020:06:25 15:13:02+02:00
---
> File Size                       : 734 kB
> File Modification Date/Time     : 2020:06:25 15:13:11+02:00
7c7
< File Inode Change Date/Time     : 2020:06:25 15:13:04+02:00
---
> File Inode Change Date/Time     : 2020:06:25 15:13:13+02:00
14,16c14,16
< Title                           : Q
< Subject                         : U
< Author                          : gzh
---
> Title                           : pfaE
> Subject                         : nudUSwT
> Author                          : k
18c18
< Revision Number                 : 641
---
> Revision Number                 : 458
20c20
< Total Edit Time                 : 18.4 hours
---
> Total Edit Time                 : 14.5 hours
22c22
< Modify Date                     : 2020:06:25 07:55:19
---
> Modify Date                     : 2020:06:25 07:57:12
24,25c24,25
< Words                           : 2696
< Characters                      : 9575
---
> Words                           : 2669
> Characters                      : 4214
29,31c29,31
< Bytes                           : 28002
< Lines                           : 689
< Paragraphs                      : 75
---
> Bytes                           : 75897
> Lines                           : 395
> Paragraphs                      : 15
Die Änderungen basieren wiederum auf zufälligen Zeichenfolgen. Das VBA-Projekt im Dokument bleibt dasselbe:
$ diff -r Form\ F-12189 Form\ F-44754
Binary files Form F-12189/[5]DocumentSummaryInformation and Form F-44754/[5]DocumentSummaryInformation differ
Binary files Form F-12189/[5]SummaryInformation and Form F-44754/[5]SummaryInformation differ
Binary files Form F-12189/Workbook and Form F-44754/Workbook differ
Das Dokument enthält die typischen Anweisungen, die Schaltflächen „Enable Editing“ (dt. „Bearbeitung aktivieren“) und „Enable Content“ (dt. „Inhalte aktivieren“) zu betätigen: TA505 XLS-Dokument Falls ein Opfer dies tut, erscheint ein gefälschtes Fenster „Microsoft Office Components“: TA505 XLS gefälschtes Fenster Microsoft Office Components Das Fenster wird tatsächlich durch den VBA-Makrocode des Dokuments selbst erzeugt: TA505 XLS VBA-Code für gefälschtes Fenster Microsoft Office Components Der gefälschte Ladebildschirm wird wahrscheinlich eingesetzt, um Opfer daran zu hindern, das Dokument zu früh zu schließen, d.h. bevor die eingebettete Malware vollständig ausgeführt wurde. Dies ist wichtig, da das Get2-Ladeprogramm innerhalb des EXCEL.EXE-Prozesses läuft, der das XLS-Dokument geöffnet hat. Sobald dieser Prozess geschlossen wird, wird auch dieser anfängliche Malware-Loader geschlossen. Die DLLs des Get2-Loader sind in das heruntergeladene XLS-Dokument eingebettet:
$ binwalk Form\ F-12189/MBD007A19C2/\[1\]Ole10Native --dd=".*"

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
17513         0x4469          Microsoft executable, portable (PE)
354857        0x56A29         Microsoft executable, portable (PE)
Eine der DLLs ist 32-Bit, die andere 64-Bit:
$ file *
4469:  PE32 executable (DLL) (console) Intel 80386, for MS Windows
56A29: PE32+ executable (DLL) (console) x86-64, for MS Windows
Der VBA-Makrocode extrahiert das eingebettete Objekt und die eingebetteten Get2-Loader-DLLs. Er schreibt sie (zuerst die 64-Bit-, dann die 32-Bit-Version) in %APPDATA%\Roaming\Microsoft\Windows\Templates\libIntel{1,2}.dll. Der Code verwendet dann ExecuteExcel4Macro, um die libIntel{1,2}.dll, d.h. den Get2-Loader, aufzurufen. Die aufgerufene Funktion ist der Pfad (in diesem Fall vckpmd), der von der C2 abgefragt werden soll: TA505 XLS ruft Get2 DLL auf Die Funktion ExecuteExcel4Macro erlaubt die Ausführung beliebiger Excel 4 Macro-Anweisungen. In diesem Fall CALL("C:\Users\...\libIntel2.dll", "vckpmd", "J"), die es erlaubt, Code aus der DLL direkt aus dem EXCEL.EXE Prozess heraus auszuführen, ohne einen ansonsten verdächtigen Prozess zu erzeugen. Zuerst wird die 64-Bit-DLL aufgerufen, auch in einem 32-Bit-EXCEL.EXE-Prozess. Wenn das fehlschlägt, wird die 32-Bit-Version auf die Festplatte geschrieben und aufgerufen.

Get2-Loader

Die oben erwähnte libIntel{1,2}.dll DLL ist der Get2-Loader. Ihr Zweck ist es, zusätzliche TA505-Malware herunterzuladen und auszuführen. Zu diesem Zweck sammelt er zunächst einige Systeminformationen und sendet dann wie folgt eine POST-Anforderung an den C2-Server: TA505 Get2-POST-Anforderung Die an den C2-Server gesendeten Parameter enthalten die folgenden Daten aus dem System des Opfers:
  • D: Hostname
  • U: Benutzername
  • OS: Windows-Version
  • PR: Liste der laufenden Prozesse
Der C2-Server antwortet dann mit URLs zum Herunterladen der nächsten Malware.

SDBbot

Derzeit ist die Malware der Wahl, die vom Get2-Loader von TA505 für die nächste Stufe des Angriffs heruntergeladen wird, SDBbot [SDBbot]. SDBbot ist ein Remote Access Trojan (RAT). Diese Stufe der Infektion fungiert als Brückenkopf für das Lateral Movement und das weitere Hinarbeiten auf das Ziel, d.h. dem Einsatz der Clop-Ransomware. Zu diesem Zweck wird SDBbot dazu verwendet, das infizierte Netzwerk zu untersuchen und zusätzliche Malware zu laden, um den Einsatz der Clop-Ransomware vorzubereiten. Eine dieser Vorbereitungen ist die Deaktivierung der Endpunkt-Sicherheitssoftware vor dem Einsatz der Clop-Ransomware.

Clop-Ransomware

Das im Englischen ausgesprochene „Clop“ klingt ähnlich dem russischen bzw. bulgarischen Worte „клоп“, das „Bettwanze“ bedeutet. Viele glauben, dass dies der Ursprung des Namens ist. Die Clop-Ransomware ist von der CryptoMix-Ransomware [CryptoMix] abgeleitet. Es handelt sich um das letzte Stadium eines TA505-Angriffs. Das Ziel scheint es zu sein, die Clop-Ransomware auf möglichst vielen Systemen innerhalb eines Opfernetzwerks einzusetzen, um so viel Druck auf die Opfer auszuüben, das Lösegeld zu zahlen. Die Verschlüsselung findet in der Regel am Wochenende statt, um das Risiko zu verringern, dass das Personal im Opferunternehmen den Verschlüsselungsprozess bemerkt und den Ransomware-Angriff vorzeitig abbricht.

CL0P^_- LEAKS

Um 2020-03-24 herum hat TA505 damit begonnen, gestohlene Daten von Opfern, die sich weigern, das Lösegeld zu zahlen, im Internet zu veröffentlichen. Zu diesem Zweck betreiben sie eine Tor Hidden Service Website mit dem Titel CL0P^_- LEAKS: CL0P^ _- LEAKS Zum Zeitpunkt des Verfassens gibt es auf der Website 12 Opfer. Dadurch sollen die Opfer zur Zahlung gedrängt werden.

Schlussfolgerung und Gegenmaßnahme

Wie dieser Artikel zeigt, unternehmen entschlossene Cyberkriminelle wie TA505 große Anstrengungen für ihre Angriffe. Die tägliche Rotierung von Domains und die ständige Aktualisierung ihrer schadhaften Payloads, um einer Entdeckung zu entgehen, zeigen deutlich, dass es sich hier um organisierte Kriminalität handelt. Die rücksichtslose Erpressung von Opfern durch Veröffentlichen gestohlener Daten zeigt, wie weit Kriminelle gehen, um Profit zu machen. Angriffe wie diese können in mehreren Stufen abgewehrt werden. Als letztes Mittel können solide Backups es einem Unternehmen ermöglichen, sich von einem Ransomware-Angriff zu erholen, ohne das Lösegeld zu zahlen. Die allgemeine Empfehlung für Backups folgt der 3-2-1-Regel [US-CERT]. 3 verschiedene Kopien, auf 2 verschiedenen Medien, mindestens 1 Backup außer Haus, z.B. in der Cloud. Es wird auch empfohlen, das Wiederherstellen von Systemen aus Backups zu üben, da ein Backup erst dann erfolgreich ist, wenn die Daten wiederhergestellt wurden, nicht wenn sie gesichert wurden. Die Blockierung der C2-Kommunikation an jedem Punkt der Infektionskette kann auch verhindern, dass die Infektion auf die nächste Stufe fortschreitet. Zu diesem Zweck können Webfilter eingesetzt werden. Natürlich wird durch das Blockieren der ursprünglichen E-Mail verhindert, dass sich die gesamte Kette überhaupt erst entfalten kann. Spam and Malware Protection von Hornetsecurity mit den höchsten Erkennungsraten auf dem Markt kann die skizzierten bösartigen HTML-Anhänge blockieren. Advanced Threat Protection von Hornetsecurity erweitert diesen Schutz durch zusätzliche hochmoderne Sicherheitsebenen gegen noch unbekannte Bedrohungen. Auch wenn die Zahlung des Lösegeldes die Kosten, die mit der Nichtzahlung des Lösegeldes einhergehen, unter geschäftlichen Gesichtspunkten überwiegen kann, sollte kein Lösegeld gezahlt werden. Es finanziert die Angreifer, was zu weiteren Lösegeldangriffen führt. Es stellt sicher, dass das Opfer, das das Lösegeld gezahlt hat, auf der Zielliste bleibt. Schließlich sind diese Angreifer an finanziellem Gewinn und nicht an der Zerstörung von Unternehmen interessiert, d.h. ein Opfer, das unter keinen Umständen Lösegeld zahlt, ist kein gutes Ziel. Das bedeutet natürlich nicht, dass ein Unternehmen, von dem bekannt ist, dass es kein Lösegeld zahlt, nie wieder Opfer von Ransomware wird. Es bedeutet, dass Angreifer wahrscheinlich nicht mehr speziell auf dieses bestimmte Unternehmen abzielen werden. Kein Lösegeld zu zahlen und ein Datenleck zu akzeptieren, ist besonders schwer. Es gibt jedoch keine Garantie dafür, dass die gestohlenen Daten gelöscht werden. Nur das Versprechen von Kriminellen. Die gestohlenen Daten könnten in der Schattenwirtschaft verkauft, bei künftigen Angriffen verwendet und sogar dazu benutzt werden, das Opfer zu einem späteren Zeitpunkt wieder zu erpressen. Nicht zuletzt ist ein Data Breach (d.h. eine Verletzung des Schutzes personenbezogener Daten) auch ohne die Veröffentlichung der gestohlenen Daten immer noch eine Datenschutzverletzung mit all ihren rechtlichen Konsequenzen, wie z.B. eine Meldung von Verletzungen des Schutzes personenbezogener Daten an die Aufsichtsbehörde und damit verbundenen Geldstrafen. Die Zahlung eines Lösegeldes macht diese nicht nichtig.  

Literatur