Retour aux nouvelles

whitepaper Astaroth

29 mars, 2020

Logiciel malveillant du jour

Le maliciel Astaroth, un logiciel ayant pour but de voler des informations, utilise plusieurs techniques de type "sans fichiers" pour installer sur un ordinateur et voler des mots de passe. Cette famille de logiciels malveillants fait l'objet d'un suivi depuis longtemps, notamment par le groupe Microsoft Advanced Threat Protection (ATP), et des signatures ont été développées pour surveiller leur activité. Cependant, afin d'éviter la détection, Astaroth a récemment modifié ses techniques "sans fichiers". Notamment, il évite désormais l'utilisation de WMI (qui était un déclencheur pour la détection précédente) et se cache à la place via des flux de données alternatifs (ADS). La publication suivante par ATP décrit les changements :

https://www.microsoft.com/security/blog/2020/03/23/latest-astaroth-living-off-the-land-attacks-are-even-more-invisible-but-not-less-observable

Alors, comment cette nouvelle version serait-elle détectée dans SMARTSentinel, le moteur du service SMARTMonitor?

Pièges SMART Sentinel

Commençons par regarder la chaîne d'infection publiée par ATP. Le rapport identifie 5 étapes:

  1. La phase d'infection, où le composant de harponnage lance le zip initial qui est déchiffré pour démarrer la chaîne d'infection;
  2. La phase de téléchargement, où les composants supplémentaires du logiciel malveillant sont téléchargés;
  3. La phase de script principale, où les différents composants du logiciel malveillant sont réassemblés en préparation de leur injection en mémoire;
  4. La phase d'injection, où le logiciel malveillant est injecté en mémoire via l'évidement des processus (process hollowing);
  5. La phase de monétisation, au cours de laquelle l'attaquant met activement son logiciel malveillant au travail pour voler des mots de passe.

Dans cette chaîne d'infection, notre modèle de couverture détecterait plusieurs éléments au cours des trois premières étapes, où le logiciel malveillant est installé. Les phases 4 et 5, où les logiciel malveillant résident uniquement dans des processus qui ont été évidés, laisseraient peu de traces qui seraient observables dans notre modèle actuel. Cependant, cela nous donne de nombreuses opportunités de l'attraper.

La figure 1 illustre quels composantes de la chaîne d'attaque seraient récupérés par SMARTSentinel et envoyés à un analyste SMARTMonitor pour examen.

Astaroth Attack Chain

Décomposons chaque opportunité de détection.

L'une des grandes astuces d'Astaroth est que son package ZIP de livraison contient des fichiers qui apparaissent à première vue comme inoffensifs. Cela ne générerait pas d'alerte dans SMARTSentinel, cependant, l'un des fichiers, le fichier LNK, est en fait un script BAT qui appelle CMD avec la ligne de commande suivante (republiée sous forme ATP):

Astaroth Attack Chain

Cela apparaîtrait comme une ligne de commande qui doit être examinée par un analyste, et un soin particulier serait appliqué parce que CMD est un outil natif de Windows permettant à un attaquant de "vivre de la terre" (LOLbin). Un analyste signalerait immédiatement cela comme suspect en raison de la tentative évidente d'obscurcissement, qui n'est pas une caractéristique d'une utilisation légitime.

Ensuite, la chaîne de processus pour démarrer le JavaScript en ligne serait récupérée et apparaîtrait à l'analyste dans le contexte de la communication réseau (où le JS de 2e étape est en cours de téléchargement).

Après cela, le JavaScript principal appellerait BITSadmin. Cette relation image à image inhabituelle (chaîne de processus) semblerait immédiatement suspecte à un analyste. Cependant, la ligne de commande utilisée pour démarrer BITSadmin serait également automatiquement revue et éveillerait des soupçons. Si nous regardons la ligne de commande fournie dans le billet de blog ATP, nous voyons ce qui suit:

Astaroth Attack Chain

Un analyste verrait l'URL et l'identifierait immédiatement comme non légitime. En outre, ils verraient que le fichier .zip est enregistré avec une extension différente. Cette tentative flagrante d’obfuscation (de camouflage si on veut éviter à tout prix les anglicismes) n'est pas vue dans les programmes légitimes et serait un marqueur immédiat de jeu déloyal.

Enfin, les abus de flux de données alternatifs et la reconstruction de la DLL de logiciels malveillants, bien que difficiles à détecter pour les produits AV traditionnels, seraient triviaux à détecter à partir de la revue de ligne de commande quotidienne. Après tout, ces techniques ne sont essentiellement jamais utilisées par des logiciels légitimes, elles se distinguent donc très clairement comme des anomalies.

Tout d'abord, l'abus ADS utilise la ligne de commande suivante fournie par ATP:

Astaroth Attack Chain

Ce qui serait automatiquement revu en profondeur par notre équipe car CMD est un LOLbin connu.

Il en va de même pour la création des DLL.

Astaroth Attack Chain

Ce qui déclencherait un examen en ligne de commande pour CMD, un LOLbin connu. La présence de type, une commande rarement utilisée pour lire les fichiers texte en ligne de commande, attirerait l'attention de l'analyste. Ensuite, il serait évident qu'aucun programme légitime ne créerait une DLL de cette manière.

Retour aux nouvelles