À chaque fois qu’un nouveau logiciel malveillant ou une nouvelle technique d’attaque est découverte, nos clients s’inquiètent de savoir si ça pourrait les affecter eux. Plusieurs viennent à nous pour demander : « suis-je protégé contre cette nouvelle menace ? »

Cette publication répond à ces inquiétudes autour de Astaroth, un logiciel malveillant pour le vol d’information qui utilise des techniques sans fichiers pour obtenir l’accès aux ordinateurs et ensuite voler des mots de passe.

Le logiciel malveillant du jour : Astaroth

La famille de logiciel malveillant Astaroth est suivie depuis longtemps – plus particulièrement par le group de protection contre les menaces avancées de Microsoft (the Microsoft Advanced Threat Protection (ATP) group).

Récemment, Astaroth a adapté ses techniques sans fichiers pour échapper à la détection. En particulier, celui-ci n’utilise plus WMI qui était utilisé précédemment comme déclencheur pour la détection. Il utilise maintenant les flux alternatifs de données (alternate data streams ADS). La publication suivante par ATP décrit les changements:

MS Tracks Astaroth Attack
La technologie SMART-Sentinel de CYDEF, l’engin derrière le service de détection géré SMART-Monitor, attrape Astaroth à partir de nombreux fil-pièges.

Fil-pièges de SMART-Sentinel

Commençons par regarder la décomposition de la chaîne d’infection publiée par ATP. Le rapport identifie cinq étapes :

  1. La phase d’infection : où la composante de harponnage dépose le fichier Zip initial qui est ensuite déchiffrer pour démarrer la chaîne d’infection.
  2. La phase d’étage : où les composants additionnels du logiciel malveillant sont téléchargés.
  3. La phase du script principal : où les différentes composantes du logiciel malveillant sont réassemblées en préparation de leur injection en mémoire.
  4. La phase d’injection : où le logiciel malveillant est injecté en mémoire par la technique du processus creux.
  5. La phase de monétisation : où l’attaquant met la machine au travail pour voler des mots de passe.

Dans cette chaîne d’infection, le modèle de couverture de CYDEF détecterait plusieurs items dans les trois premières phases (pendant que le logiciel malveillant est installé). Les étapes 4 et 5, où le logiciel malveillant réside purement dans des processus creux, laisseraient peu de traces qui seraient observables avec notre modèle actuel. Ceci veut dire que des logiciels malveillants s’apparentant à Astaroth serait détectés par SMART-Sentinel suffisamment tôt pour prévenir que l’attaquant accède les données sensibles.

Chaîne d’attaque de Astaroth

Le diagramme suivant du groupe ATP de Microsoft illustre quelles composantes de la chaîne d’attaque serait identifiées par SMART-Sentinel pour revue par un expert de sécurité CYDEF.

 

SMART-Sentinel Detects Astaorth

Détection rapide des brèches avec SMART-Sentinel

Regardons chaque opportunité en détail.

Une des meilleurs trucs d’Astaroth est le modèle de livraison par fichier Zip. À premier abord, le fichier compressé contient des fichiers qui semblent inoffensifs. Ceci ne générerait pas d’alerte dans SMART-Sentinel.

Ceci étant dit, le fichier LNK dans l’archive Zip générait une activité qui identifiée pour revue par un analyste.

Utilisation non légitime de CMD
Le fichier LNK est en fait un fichier BAT qui appelle CMD avec la ligne de commande suivante (republiée de ATP) :
BAT Script Disguised as LNK File
Puisque ceci serait représenté par une activité de ligne de commande, un analyste la réviserait en portant particulièrement attention, étant donné que CMD est connu comme un binaire permettant les attaques de type « vivre de la terre » (LOLbin). Un analyste voyant cette ligne de commande la marquerait immédiatement comme étant suspecte puisqu’elle contient une tentative d’obfuscation, ce qui ne serait pas présent en provenance d’une exécution légitime.
Utiliser la ligne unique de JavaScript et BITSadmin

Ensuite, la chaîne de processus pour démarrer le Javascript en ligne unique alerterait l’analyste de regarder plus attentivement. Ceci se présenterait à l’analyste dans le contexte de communication réseau (pendant le 2e étage de JS est en cours de téléchargement).

Après cela, le JavaScript principal appelerait BITSadmin. La relation image-à-image (la chaîne de processus) bizarre aurait immédiate une apparence suspecte pour l’analyste. La ligne de commande pour appeller BITSadmin serait aussi automatiquement révisée et entraînerait des soupçons.

La ligne de commande fournie sur le blog ATP alerterait aussi immédiatement un analyste :

Illegitimate CMD Line
L’URL est clairement non légitime. De plus, le fichier .zip est enregistré avec une extension différente. Cette tentative évidente d’obfuscation n’est pas observée dans des programmes légitimes et serait un indicateur immédiat de mauvaises intentions.
Abus de flux de données alternatifs
Finalement, l’abus des flux de données alternatifs et la reconstruction du DLL du logiciel malveillant, bien que difficile à détecter pour les AV traditionnels, serait trivial à détecter à partir de la revue quotidienne des lignes de commandes par SMART-Monitor. Après tout, ces techniques ne sont essentiellement jamais utilisées par des logiciels légitimes et donc sortent du lot très clairement comme anomalies. Par exemple, l’utilisation des flux de données alternatifs nécessite la ligne de commande suivant extraite de la publication d’ATP :
ADS Command Line Abuse

Cette ligne de commande serait révisée attentivement par notre équipe puisque CMD est un LOLbin connu.

La même logique s’applique à la création des DLLs :

DLL Aduse Astaroth
Ceci entraînerait une révision de l’activité de ligne de commande pour CMD. La présence de type, un outil rarement utilisé permettant de lire des ficher à partir de la ligne de commande, attirerait l’attention de l’analyste. Aussi, il est évident qu’aucun programme légitime ne créerait une DLL de cette manière.