Serveur d'impression

ESET a découvert une porte dérobée non documentée utilisée par le célèbre groupe Stealth Falcon – Serveur d’impression

Le 20 décembre 2019 - 12 minutes de lecture

Des chercheurs d'ESET ont découvert une porte dérobée liée à des logiciels malveillants utilisés par le groupe Stealth Falcon, un opérateur d'attaques ciblées de logiciels espions contre des journalistes, des militants et des dissidents au Moyen-Orient

Stealth Falcon est un groupe menaçant, actif depuis 2012, qui cible les militants politiques et les journalistes au Moyen-Orient. Il a été suivi par le Citizen Lab, une organisation à but non lucratif axée sur la sécurité et les droits de l'homme, qui a publié une analyse d'une cyberattaque particulière en 2016. En janvier 2019, Reuters a publié un rapport d'enquête sur le projet Raven, une initiative qui emploierait anciens agents de la NSA et visant les mêmes types de cibles que Stealth Falcon.

Sur la base de ces deux rapports faisant référence aux mêmes cibles et attaques, le technologue principal d'Amnesty International, Claudio Guarnieri, a conclu que Stealth Falcon et Project Raven sont en fait le même groupe.

Figure 1. Claudio Guarnieri a connecté Stealth Falcon avec Project Raven

Certaines informations techniques sur Stealth Falcon ont déjà été rendues publiques – notamment dans l'analyse déjà mentionnée du Citizen Lab.

Le composant clé de l'attaque documentée dans le rapport de Citizen Lab était une porte dérobée basée sur PowerShell, livrée via un document armé inclus dans un e-mail malveillant.

Maintenant, nous avons trouvé une porte dérobée binaire précédemment non signalée que nous avons nommée Win32 / StealthFalcon. Dans cet article, nous révélons des similitudes entre cette porte dérobée binaire et le script PowerShell avec des capacités de porte dérobée attribuées au groupe Stealth Falcon. Nous considérons les similitudes comme une preuve solide que Win32 / StealthFalcon a été créé par ce groupe.

La porte dérobée Win32 / StealthFalcon, qui semble avoir été créée en 2015, permet à l'attaquant de contrôler à distance l'ordinateur compromis. Nous avons vu un petit nombre de cibles aux Émirats arabes unis, en Arabie saoudite, en Thaïlande et aux Pays-Bas; dans ce dernier cas, la cible était une mission diplomatique d'un pays du Moyen-Orient. La manière dont la porte dérobée a été distribuée et exécutée sur les systèmes cibles dépasse le cadre de cette enquête; notre analyse se concentre sur ses capacités et sa communication C&C.

Dans sa communication avec le serveur C&C, Win32 / StealthFalcon utilise le composant Windows standard Service de transfert intelligent en arrière-plan (BITS), une technique plutôt inhabituelle. BITS a été conçu pour transférer de grandes quantités de données sans consommer beaucoup de bande passante réseau, ce qu'il atteint en envoyant les données avec un débit limité afin de ne pas affecter les besoins en bande passante d'autres applications. Il est couramment utilisé par les mises à jour, les messagers et d'autres applications conçues pour fonctionner en arrière-plan. Cela signifie que les tâches BITS sont plus susceptibles d'être autorisées par les pare-feu basés sur l'hôte.

Par rapport à la communication traditionnelle via les fonctions API, le mécanisme BITS est exposé via une interface COM et donc plus difficile à détecter pour un produit de sécurité. De plus, cette conception est fiable et furtive. Le transfert reprend automatiquement après avoir été interrompu pour des raisons telles qu'une panne de réseau, la déconnexion de l'utilisateur ou un redémarrage du système. De plus, parce que BITS ajuste la vitesse à laquelle les fichiers sont transférés en fonction de la bande passante disponible, l'utilisateur n'a aucune raison de soupçonner.

Win32 / StealthFalcon peut commuter la communication entre deux serveurs C&C dont les adresses sont stockées dans une clé de registre, ainsi que d'autres valeurs de configuration, et peut être mis à jour par l'une des commandes de porte dérobée. Si la porte dérobée ne parvient pas à atteindre ses serveurs C&C, la porte dérobée se supprime du système compromis après un nombre préconfiguré de tentatives infructueuses.

Win32 / StealthFalcon est un fichier DLL qui, après exécution, se planifie en tant que tâche s'exécutant à chaque connexion utilisateur. Il ne prend en charge que les commandes de base mais affiche une approche systématique de la collecte de données, de l'exfiltration de données, de l'utilisation d'autres outils malveillants et de la mise à jour de sa configuration.

Nom de la commande Fonctionnalité
K Se désinstaller
CFG Mettre à jour les données de configuration
RC Exécutez l'application spécifiée
DL Écrire les données téléchargées dans un fichier
CF Préparer un fichier pour l'exfiltration
CFW Exfiltrer et supprimer des fichiers
CFWD Non implémenté / aucune opération

Tableau 1. Commandes de porte dérobée

Par exemple, la fonctionnalité clé de la porte dérobée, téléchargeant et exécutant des fichiers, est obtenue via des vérifications régulières des bibliothèques nommées «win * .dll» ou «std * .dll» dans le répertoire à partir duquel le logiciel malveillant est exécuté et en chargeant ces bibliothèques.

De plus, Win32 / StealthFalcon collecte les fichiers et les prépare à l'exfiltration en stockant une copie cryptée avec un préfixe codé en dur dans un dossier temporaire. Il vérifie ensuite régulièrement ces fichiers et les exfiltre automatiquement. Après l'exfiltration réussie des fichiers, le malware supprime en toute sécurité tous les fichiers journaux et les fichiers collectés – avant de supprimer les fichiers, il les réécrit avec des données aléatoires – pour empêcher l'analyse judiciaire et la récupération des données supprimées.

Les valeurs de configuration sont stockées dans le HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Shell Extensions clé d'enregistrement. Toutes les valeurs sont préfixées par le nom de fichier du logiciel malveillant (sans extension).

Suffixe du nom de la valeur Contenu
-FontDisposition ID de victime de 4 octets généré aléatoirement
-MRUData Domaine C&C crypté RC4
-MRUList Domaine C&C crypté RC4
-IconPosition Indicateur déterminant les domaines C&C à utiliser
-IconDisposition Nombre de secondes de sommeil après chaque itération de contact avec le serveur C&C
-PopupPosition Compteur des tentatives infructueuses pour atteindre les serveurs C&C

Tableau 2. Données de configuration stockées dans le registre

Une fonction intéressante est exécutée avant le démarrage de toute charge utile malveillante et semble redondante. Il fait référence à plus de 300 importations, mais ne les utilise pas du tout. Au lieu de cela, il revient toujours et continue avec la charge utile par la suite, sans vérification des conditions qui suggérerait qu'il s'agit d'une astuce anti-émulation.

Figure 2. Une fonction référençant des centaines d'importations inutilisées, éventuellement ajoutée pour éviter la détection du malware

Nous ne connaissons pas l'intention précise de cette fonction, mais nous soupçonnons qu'il s'agit soit d'une tentative d'échapper à la détection, soit d'une partie d'un cadre plus large utilisé par les auteurs de logiciels malveillants.

Win32 / StealthFalcon et la porte dérobée basée sur PowerShell décrits dans l'analyse de Citizen Lab partagent le même serveur C&C: l'adresse windowsearchcache[.]com a été utilisé comme «domaine de serveur C2 de deuxième étape» dans la porte dérobée analysée par le Citizen Lab, ainsi que dans l'une des versions de Win32 / StealthFalcon.

Les deux portes dérobées présentent des similitudes significatives dans le code – bien qu'elles soient écrites dans des langages différents, la logique sous-jacente est préservée. Les deux utilisent des identifiants codés en dur (très probablement l'ID de campagne / ID cible). Dans les deux cas, toutes les communications réseau de l'hôte compromis sont préfixées avec ces identifiants et chiffrées avec RC4 à l'aide d'une clé codée en dur.

Pour leur communication avec le serveur C&C, ils utilisent tous deux HTTPS mais définissent des indicateurs spécifiques pour la connexion afin d'ignorer le certificat du serveur.

Nous avons découvert et analysé une porte dérobée avec une technique rare pour la communication C&C – en utilisant Windows BITS – et quelques techniques avancées pour entraver la détection et l'analyse, et pour assurer la persistance et compliquer l'analyse médico-légale. Les similitudes dans le code et l'infrastructure avec un malware précédemment connu par Stealth Falcon nous conduisent à la conclusion que la porte dérobée Win32 / StealthFalcon est également le travail de ce groupe de menaces.

Nom de détection ESET

Win32 / StealthFalcon

SHA-1

31B54AEBDAF5FBC73A66AC41CCB35943CC9B7F72
50973A3FC57D70C7911F7A952356188B9939E56B
244EB62B9AC30934098CA4204447440D6FC4E259
5C8F83CC4FF57E7C67925DF4D9DAABE5D0CC07E2

Clés RC4

258A4A9D139823F55D7B9DA1825D101107FBF88634A870DE9800580DAD556BA3
2519DB0FFEC604D6C9A655CF56B98EDCE10405DE36810BC3DCF125CDE30BA5A2
3EDB6EA77CD0987668B360365D5F39FDCF6B366D0DEAC9ECE5ADC6FFD20227F6
8DFFDE77A39F3AF46D0CE0B84A189DB25A2A0FEFD71A0CD0054D8E0D60AB08DE

Remarque: Un logiciel malveillant dérive une deuxième clé RC4 en XORant chaque octet de la clé codée en dur avec 0x3D.

Indicateurs basés sur l'hôte

Noms de fichiers malveillants

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

Modèles de nom de fichier journal

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

Clés / valeurs de registre

HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Shell Extensions
X-MRUList
X-MRUData
X-FontDisposition
X-IconDisposition
X-IconPosition
X-PopupPosition
X est le nom de fichier du malware (sans extension).

Indicateurs de réseau

Noms de travail BITS

WindowsImages-
WindowsBackup-
WindowsSearchCache-
ElectricWeb

Serveurs C&C

footballtimes[.]Info
portfolio de légumes[.]com
windowsearchcache[.]com
electricweb[.]org
upnpdiscover[.]org

Tactique Identifiant prénom La description
Exécution T1059 Interface de ligne de commande Utilisations de logiciels malveillants cmd.exe pour exécuter certaines commandes.
T1106 Exécution via API Utilisations de logiciels malveillants CreateProcessW API pour l'exécution.
T1085 Rundll32 Utilisations de logiciels malveillants rundll32.exe pour charger la DLL de porte dérobée.
T1053 Tâche planifiée Horaires des programmes malveillants rundll32.exe à exécuter à chaque connexion, puis à charger la DLL de porte dérobée.
Persistance T1053 Tâche planifiée Les logiciels malveillants établissent la persistance en planifiant une tâche qui charge la porte dérobée à chaque connexion utilisateur.
Evasion de défense T1197 Emplois BITS Les logiciels malveillants utilisent le mécanisme de transfert de fichiers BITS pour la communication réseau, afin d'éviter la détection.
T1140 Désobfusquez / décodez des fichiers ou des informations Les chaînes sont chiffrées avec un chiffrement XOR personnalisé.
Les données de configuration et les fichiers journaux sont cryptés avec RC4, à l'aide d'une clé codée en dur.
T1107 Suppression de fichiers Un logiciel malveillant écrase les fichiers avec des données aléatoires et les supprime après l'exfiltration.
T1036 Mascarade Les logiciels malveillants tentent de se déguiser en utilisant des noms de fichiers apparemment légitimes.
T1112 Modifier le registre Un logiciel malveillant stocke sa configuration dans une clé de registre.
T1027 Fichiers ou informations obscurcis Les chaînes sont chiffrées avec un chiffrement XOR personnalisé.
Les données de configuration et les fichiers journaux sont cryptés avec RC4, à l'aide d'une clé codée en dur.
Découverte T1063 Découverte de logiciels de sécurité Les logiciels malveillants s’arrêtent si le binaire McAfee Agent (cmdagent.exe) est détecté.
Collection T1074 Données par étapes Les logiciels malveillants stockent les données collectées dans un dossier temporaire dans des fichiers nommés avec un préfixe codé en dur.
T1005 Données du système local Malware a une commande pour collecter / voler un fichier du système compromis.
Commander et contrôler T1008 Canaux de secours Les logiciels malveillants sont capables de communiquer avec deux serveurs C&C; il prend également en charge le basculement vers un autre serveur C&C à l'aide d'une commande de porte dérobée.
T1105 Copie de fichier à distance Les logiciels malveillants utilisent les travaux BITS pour la communication C&C.
T1005 Protocole cryptographique standard Un logiciel malveillant chiffre la communication C&C à l'aide de RC4 avec une clé codée en dur.
Exfiltration T1020 Exfiltration automatisée Les logiciels malveillants exfiltrent automatiquement les fichiers dans un dossier temporaire dans des fichiers nommés avec un préfixe codé en dur.
T1022 Données cryptées Les logiciels malveillants chiffrent les données collectées à l'aide de RC4 avec une clé codée en dur, avant l'exfiltration.
T1041 Exfiltration sur le canal de commande et de contrôle Les logiciels malveillants exfiltrent les données sur le canal C&C.


Recherche ESET

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.