Stealth Falcon ist eine Cybergang, die seit 2012 aktiv ist. Sie nimmt politische Aktivisten und Journalisten aus dem Mittleren Osten ins Visier. Im Jahr 2016 veröffentlichte die Non-Profit-Organisation Citizen Lab einen Bericht über eine Cyberattacke von Stealth Falcon. Im Januar des Jahres 2019 brachte Reuters einen investigativen Report über Project Raven an die Öffentlichkeit. An dieser Spionage-Offensive war eine ehemalige NSA-Mitarbeiterin beteiligt – Man verfolgte die gleichen Ziele wie Stealth Falcon.

Aus beiden Berichten geht hervor, dass die Angreifer dieselben Ziele verfolgten und die gleichen Angriffsszenarien verwendeten. Amnesty Internationals Senior Technologist, Claudio Guarnieri, schloss daraus, dass Stealth Falcon und Project Raven vermutlich ein und dieselbe Cybergang ist.

Abbildung 1: Claudio Guarnieri bringt Stealth Falcon in Verbindung mit Project Raven

Abbildung 1: Claudio Guarnieri bringt Stealth Falcon in Verbindung mit Project Raven

Einige technische Informationen zu Stealth Falcon wurden bereits veröffentlicht - insbesondere in dem bereits erwähnten Bericht von Citizen Lab. Bei der Analyse des Cyberangriffs stießen die Citizen Lab Forschenden auf eine Komponente, die eine Schlüsselrolle spielte. Es geht dabei um eine auf PowerShell aufbauende Backdoor, die als schädlicher Anhang in einer E-Mail verpackt war.

Nun melden ESET-Forscher eine bislang unentdeckte Backdoor (Win32/StealthFalcon). In diesem Beitrag enthüllen wir die Parallelen zwischen dieser Hintertür und dem PowerShell Script mit Backdoor-Fähigkeiten, welches der Stealth Falcon Cybergang zugeschrieben wird. Anhand der starken Ähnlichkeiten gehen wir davon aus, dass Win32/StealthFalcon von der gleichen Gang abstammt.

Die Win32/StealthFalcon-Backdoor scheint bereits im Jahr 2015 entwickelt worden zu sein. Sie erlaubt Cyberangreifern, die Kontrolle über einen entfernten kompromittierten Computer zu übernehmen. Eine kleine Anzahl von Zielen beobachtete man in den Vereinten Arabischen Emiraten, Saudi-Arabien, Thailand und in den Niederlanden. Beim letzteren handelte es sich um eine diplomatische Mission eines Landes des Nahen Ostens. Wie die Backdoor auf die Zielrechner gelangte oder darauf ausgeführt wurde, war nicht Teil der ESET-Untersuchungen zu Stealth Falcon. Die Analysen beschränkten sich auf den Funktionsumfang und die Kommunikation mit den C&C-Servern.

Für die Kommunikation mit den C&C-Servern verwenden die Cyberangreifer die Windows Standard-Komponente Background Intelligent Transfer Service (BITS) – eine eher ungewöhnliche Technik. BITS wurde für den Transfer von großen Datenmengen entwickelt, ohne dabei massenweise Netzwerkbandbreite in Anspruch zu nehmen. Das gelingt, indem die Daten mit gedrosseltem Durchsatz verschickt werden. Anderen Anwendungen steht auf diese Weise immer noch genügend Bandbreite zur Verfügung. Gewöhnlich nutzen Update-Mechanismen, Messenger und andere Apps, die im Hintergrund aktiv sind, diese Technik. Das bedeutet, dass „BITS-Tasks“ mit hoher Wahrscheinlichkeit von hostbasierten Firewalls zugelassen werden.

Verglichen mit der traditionellen Kommunikation via API-Schnittstelle wird der BITS-Mechanismus über ein COM-Interface geöffnet – für Sicherheitsprodukte schwieriger zu erkennen. Diese Ausgestaltung ist außerdem verlässlich und besser getarnt. Die Kommunikation wird nach einer Unterbrechung, sei es durch einen Netzwerkabbruch, einer Nutzerabmeldung oder durch einen Neustart, automatisch wieder aufgenommen. Da BITS die Übertragungsrate für Dateien basierend auf der verfügbaren Bandbreite anpasst, hat der Benutzer keinen Grund zur Annahme einer Kompromittierung des Computers.

Win32/StealthFalcon kann zwischen zwei C&C-Server-Kommunikationen umschalten. Die C&C-Server-Adressen sind zusammen mit Konfigurationswerten in einem Registry-Key gespeichert. Mit Hilfe von Backdoor-Befehlen können diese aktualisiert werden. Nach einer vorbestimmten Anzahl gescheiterter Verbindungen zu einem der C&C-Server entfernt sich die Backdoor selbstständig vom Computer.

Malware-Fähigkeiten von Stealth Falcon

Win32/SteahltFalcon ist eine dynamische Programmbibliothek, die sich nach Ausführung selbständig als wiederholende Task (bei jedem Neustart) ins Computersystem verankert. Die Datei unterstützt nur grundlegende Befehle, zeigt aber einen systematischen Ansatz zur Datenerfassung, zum Daten-Abfangen und für den Einsatz weiterer schädlicher Tools sowie zur Konfigurations-Aktualisierung.

Command name Functionality
K Uninstall itself
CFG Update configuration data
RC Execute the specified application
DL Write downloaded data to file
CF Prepare a file for exfiltration
CFW Exfiltrate and delete files
CFWD Not implemented/no operation

Tabelle 1: Backdoor-Befehle

Das Herunterladen und Ausführen von Dateien erreicht die Backdoor durch regelmäßiges Prüfen, ob Bibliotheken wie „win*.dll“ oder „std*.dll“ in dem Verzeichnis existieren, in dem die Malware selbst ausgeführt wird.

Win32/StealthFalcon sammelt Dateien und bereitet sie für das Ausschleusen vor, in dem eine verschlüsselte Daten-Kopie mit einem fest codierten Präfix in einem temporären Verzeichnis gespeichert wird. Regelmäßig überprüft die Backdoor, ob solche Dateien vorliegen. Wenn das so ist, sendet sie diese an einen C&C-Server und löscht danach die Kopien und alle Protokolldateien sicher vom kompromittierten Computer. Vor dem Löschen überschreibt die Malware die Daten-Kopien mit zufälligen Zeichen. Eine forensische Analyse oder Wiederherstellung der Dateien ist quasi nicht mehr möglich.

Die Konfigurationswerte werden im Registrierungsschlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions gespeichert. Allen Werten wird der Dateiname der Malware vorangestellt (ohne Datei-Erweiterung).

Value name suffix Content
-FontDisposition Randomly generated, 4-byte victim ID
-MRUData RC4-encrypted C&C domain
-MRUList RC4-encrypted C&C domain
-IconPosition Flag determining which of the C&C domains should be used
-IconDisposition Number of seconds to sleep after each iteration of contacting the C&C server
-PopupPosition Counter of failed attempts to reach the C&C servers

Tabelle 2: Konfigurationsdaten in der Registry

Wie Stealth Falcon Malware-Erkennungen austrickst

Recht interessant ist eine Funktion, die noch bevor irgendeine schädliche Payload startet, ausgeführt wird und redundant erscheint. Die Funktion verweist auf 300+ Importe, greift jedoch darauf überhaupt nicht zurück. Alles deutet darauf hin, dass es sich hierbei um einen Anti-Emulations-Trick handelt.

Abbildung 2: Eine Funktion, die auf Hunderte nicht verwendeter Importe verweist und möglicherweise hinzugefügt wurde, um die Erkennung der Malware zu verhindern.

Abbildung 2: Eine Funktion, die auf Hunderte nicht verwendeter Importe verweist und möglicherweise hinzugefügt wurde, um die Erkennung der Malware zu verhindern.

Abbildung 2: Eine Funktion, die auf Hunderte nicht verwendeter Importe verweist und möglicherweise hinzugefügt wurde, um die Erkennung der Malware zu verhindern.

Wir kennen die genaue Absicht dieser Funktion nicht, vermuten jedoch, dass es sich entweder um einen Versuch handelt, Malware-Erkennungsprogrammen zu entgehen, oder um das Überbleibsel eines größeren Frameworks, das die Malware-Entwickler verwenden.

Konnex zur Stealth Falcon Cybergang

Sowohl Win32/StealthFalcon als auch die in der Citizen Lab Analyse beschriebene PowerShell-basierte Backdoor verwenden denselben C&C-Server. Die C&C-Server-Adresse windowsearchcache[.]com wurde als "Stage Two C2-Serverdomäne" von der vom Citizen Lab analysierten Backdoor genauso gebraucht, wie von Win32/StealthFalcon.

Beide Backdoors weisen erhebliche Ähnlichkeiten im Code auf. Zwar sind beide in unterschiedlichen Programmier-Sprachen geschrieben, die zugrunde liegende Logik bleibt dabei aber dieselbe. Beide benutzen festcodierte Identifier (Campaign-IDs). Außerdem wird die Target-ID (RC4-verschlüsselt) des kompromittierten Hosts zur Identifizierung bei der Kommunikation vorangestellt.

Die C&C-Server-Kommunikation findet bei beiden via https statt. Spezifischen Flags helfen, die Server-Zertifikate zu ignorieren.

Fazit

ESET entdeckte und analysierte eine Backdoor, die auf eine ungewöhnliche Technik (BITS) für die C&C-Server-Kommunikation zurückgriff. Zudem setzten die Backdoor-Entwickler auf ausgefeilte Methoden, um nicht aufzufallen und Persistenz auf den Zielrechnern zu erreichen sowie forensische Malware-Analysen erheblich zu erschweren. Die Ähnlichkeiten im Code und der Infrastruktur im Vergleich zu bereits bekannter Stealth Falcon Malware lässt uns zu dem Schluss kommen, dass auch Win32/StealthFalcon das Werk derselben Cybergang ist.

 

IoCs

ESET detection name

Win32/StealthFalcon

SHA-1

31B54AEBDAF5FBC73A66AC41CCB35943CC9B7F72
50973A3FC57D70C7911F7A952356188B9939E56B
244EB62B9AC30934098CA4204447440D6FC4E259
5C8F83CC4FF57E7C67925DF4D9DAABE5D0CC07E2

RC4 keys

258A4A9D139823F55D7B9DA1825D101107FBF88634A870DE9800580DAD556BA3

2519DB0FFEC604D6C9A655CF56B98EDCE10405DE36810BC3DCF125CDE30BA5A2

3EDB6EA77CD0987668B360365D5F39FDCF6B366D0DEAC9ECE5ADC6FFD20227F6

8DFFDE77A39F3AF46D0CE0B84A189DB25A2A0FEFD71A0CD0054D8E0D60AB08DE

Note: Malware derives a second RC4 key by XORing each byte of the hardcoded key with 0x3D.

Host-based indicators

Malware file names

ImageIndexer.dll
WindowsBackup.dll
WindowsSearchCache.dll
JavaUserUpdater.dll

Log file name patterns

%TEMP%\dsc*
%TEMP%\sld*
%TEMP%\plx*

Registry keys/values

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions

X-MRUList

X-MRUData

X-FontDisposition

X-IconDisposition

X-IconPosition

X-PopupPosition

X is the malware’s filename (without extension).

Network indicators

BITS job names

WindowsImages-
WindowsBackup-
WindowsSearchCache-
ElectricWeb

C&C servers

footballtimes[.]info

vegetableportfolio[.]com

windowsearchcache[.]com

electricalweb[.]org

upnpdiscover[.]org

MITRE ATT&CK techniques

Tactic ID Name Description
Execution T1059 Command-Line Interface Malware uses cmd.exe to execute some commands.
T1106 Execution through API Malware uses CreateProcessW API for execution.
T1085 Rundll32 Malware uses rundll32.exe to load the backdoor DLL.
T1053 Scheduled Task Malware schedules rundll32.exe to be executed on each login, and subsequently to load the backdoor DLL.
Persistence T1053 Scheduled Task Malware establishes persistence by scheduling a task that loads the backdoor on each user login.
Defense Evasion T1197 BITS Jobs Malware uses BITS file transfer mechanism for network communication, in an attempt to avoid detection.
T1140 Deobfuscate/Decode Files or Information Strings are encrypted with a custom XOR cipher.
Configuration data and log files are encrypted with RC4, using a hardcoded key.
T1107 File Deletion Malware deletes files after exfiltration, and rewrites them with random data.
T1036 Masquerading Malware attempts to disguise itself by using seemingly-legitimate file names.
T1112 Modify Registry Malware stores its configuration in a registry key.
T1027 Obfuscated Files or Information Strings are encrypted with a custom XOR cipher. Configuration data and log files are encrypted with RC4, using a hardcoded key.
Discovery T1063 Security Software Discovery Malware terminates itself if McAfee Agent binary (cmdagent.exe) is detected.
Collection T1074 Data Staged Malware stores collected data in a temporary folder in files named with a hardcoded prefix.
T1005 Data from Local System Malware has a command to collect/steal a file from the compromised system.
Command and Control T1008 Fallback Channels Malware is able to communicate with two C&C servers; it also supports switching to a different C&C server using a backdoor command.
T1105 Remote File Copy Malware uses BITS Jobs for C&C communication.
T1032 Standard Cryptographic Protocol Malware encrypts C&C communication using RC4 with a hardcoded key.
Exfiltration T1020 Automated Exfiltration Malware automatically exfiltrates files in a temporary folder in files named with a hardcoded prefix.
T1022 Data Encrypted Malware encrypts the collected data using RC4 with a hardcoded key, prior to exfiltration.
T1041 Exfiltration Over Command and Control Channel Malware exfiltrates data over the C&C channel.