Étude de cas - Le virus Hammertoss

Étude de cas - Le virus Hammertoss
Photo by iMattSmart / Unsplash

Le groupe d’attaquant Russe APT29 tente par tous les moyens de couvrir ses traces. FireEye, une société en cybersécurité a découvert en 2015 un virus développé en C# particulièrement élaboré – appelé Hammertoss – qu’ils suspectent d’être sponsorisé par le gouvernement Russe.

Pour se prémunir de la détection des antivirus, ils utilisent une multitude de techniques de dissimulation en ajoutant des couches d’offuscation et en se comportant comme un utilisateur.

Hammertoss utilise Twitter, GitHub et des services de cloud pour passer des commandes et extraire des données d’un réseau compromis.

Principe de fonctionnement global

Une fois le virus Hammertoss installé sur l'équipement de la victime, il se met en dormance par défaut et s'active uniquement lorsque l'utilisateur utilise l'équipement. Cette technique permet de cacher l'activité du virus derrière les actions légitimes de l'utilisateur.

Lorsqu'il est actif, il est capable de récupérer des commandes à distance mais plutôt que d'utiliser un serveur CnC (Command and Control), il passe par de la stéganographie et ensuite il envoie les données sur des services cloud.

Les étapes détaillées

Découverte du compte Twitter 🔎

Hammertoss dispose d'un algorithme capable de générer un nom de compte Twitter unique par jour.

Chaque jour, Hammertoss va générer le nom du compte Twitter et va le visiter afin d'obtenir les actions à réaliser. Si le compte a été créé par le groupe APT29, Hammertoss va passer à l'étape suivante, sinon il va se mettre en dormance jusqu'au lendemain.

Visite du compte Twitter 🐤

Si APT29 a généré le compte Twitter, Hammertoss va découvrir un tweet unique comprenant :

  • Un lien vers un compte GitHub
  • Un offset représenté par le "101" sur l'image
  • Un code représenté par le "docto" sur l'image

Téléchargement de l'image depuis Github 🖼️

Hammertoss utilise Internet Explorer Application COM Object pour se rendre sur l'URL et télécharger l'image présente sur le GitHub en local sur le poste de l’utilisateur infecté.

La particularité de cette image, c'est qu'elle utilise de la stéganographie qui vise à cacher une information dans un fichier. Dans ce cas précis, APT29 a injecté une commande chiffrée dans l'image.

Déchiffrement du message de l'image 🗝️

Hammertoss va d'abord récupérer le code hexadécimal de l'image. Il va ensuite utiliser l'offset fourni dans dans le Tweet ("101") pour savoir où débute le message caché et enfin, il va déchiffrer le message à l'aide de la clé secrète.

La clé secrète est la concaténation d'un code qui est écrite en dur dans le virus et qui est connu à la fois de APT29 et du virus et du code fourni par APT29 dans le Tweet ("docto").

Commande et exfiltration 👨‍💻️

Une fois que Hammertoss a récupéré la commande contenue dans l'image, il l'exécute. Parmi les actions possibles, Hammertoss peut :

  • Lister des fichiers
  • Prendre des captures d'écrans
  • Voler des données
  • etc.

Le premier objectif reste le vol de données et Hammertoss chiffre les données volées puis les envoie sur des services de stockage cloud.

Fire Eye

APT29 - Hammertoss

Voir la source

Voilà un bel exemple d'attaque complexe !


💌 Vous aimez l'article que vous avez lu ?

Pensez à vous inscrire et découvrez d'autres articles seulement visibles pour la communauté ! Et en bonus, un nouvel article chaque dimanche ! 😀