Analyse de l'attaque du logiciel malveillant Shamoon 2

7 février 2017
Vectra AI Security Research team
Cybersécurité
Analyse de l'attaque du logiciel malveillant Shamoon 2

Les autorités saoudiennes ont récemment mis en garde les organisations du royaume contre le logiciel malveillant Shamoon 2, qui paralyse les ordinateurs en effaçant leurs disques durs. En 2012, Shamoon a paralysé Saudi Aramco et cette nouvelle variante aurait visé le ministère saoudien du travail ainsi que plusieurs entreprises d'ingénierie et de fabrication.

Au cours d'une analyse récente, Vectra Networks a découvert un composant malveillant qui semble être utilisé en conjonction avec des documents malveillants envoyés par spear-phishing.

Ces documents utilisent PowerShell pour télécharger et exécuter l'outil de reconnaissance afin de prendre pied dans le réseau de la victime. Cet outil, connu sous le nom d'ISM, semble être un outil autonome à part entière qui permet aux opérateurs distants d'explorer les systèmes avant d'effacer leurs traces avec Shamoon 2.

ISM est un binaire relativement petit par rapport aux logiciels malveillants modernes. Sa taille est comprise entre 565 et 580 Ko et il semble avoir été compilé à l'aide de Microsoft Visual C++ 8.0. Une fois exécuté, cet outil effectue plusieurs actions afin de recueillir un maximum d'informations critiques sur le système ciblé.

Il contient quelques méthodes anti-sandbox et d'analyse et recherchera spécifiquement la présence de "ISM.exe" en cours d'exécution afin de mener à bien son opération.

Figure 1 : Recherche de ISM.exe dans la liste des tâches

L'outil obtiendra les informations suivantes sur la machine ciblée :

  • Produits anti-virus installés
  • Installation de produits pare-feu
  • Date et heure du système actuel
  • Fuseau horaire actuel du système
  • Le domaine du compte "administrateur" local
  • Un vidage complet de netstat (netstat -ant)
  • Un vidage complet de l'ipconfig (ipconfig /all)
  • Variable d'environnement %username%.
  • Variable d'environnement %userdomain%.
  • Un vidage complet du profil du système (systeminfo)
  • Liste des processus en cours d'exécution (tasklist)
  • WPAD et configurations actuelles du proxy
Figure 2 : Exemples de scripts de collecte de données

L'outil force également l'arrêt du système en tuant le processus d'initialisation de Windows, winit.exe, lorsque l'arrêt du système n'aboutit pas. Il peut créer des tâches planifiées et les utiliser pour perturber les vérifications des applications et des mises à jour du système.

En outre, l'outil a la capacité d'exécuter des outils d'accès à distance (RAT) et des portes dérobées supplémentaires. Les outils suivants sont spécifiquement étiquetés dans le code :

  • Powershell UACME afin de contourner l'UAC et d'élever les privilèges en déposant divers fichiers DLL à l'aide du binaire Windows Wusa.exe. Cet outil cible spécifiquement la méthode d'exploitation OOBE.
  • Méthode PowerShell Empire Invoke-bypassuac, qui abuse d'un certificat publié de confiance pendant l'injection de processus pour élever les privilèges et contourner l'UAC.
  • Mimikatz - Outil populaire permettant d'obtenir des informations d'identification Windows stockées sur la machine.
  • Powercat - Une porte dérobée Powershell basée sur le port TCP 4444 compatible avec ncat et netcat.
  • ExecuteKL - Un keylogger générique peut être exécuté sur le système et ses résultats sont stockés dans un fichier temporaire.
Figure 3 : Références à des ressources supplémentaires du RAT

L'outil effectue également des requêtes DNS et HTTP sortantes vers le serveur update.winappupdater.com. Après inspection, ce serveur a eu à un moment donné plusieurs requêtes PHP et URI suspectes vers des pages qui indiqueraient une fonctionnalité C&C.

L'outil utilise une chaîne d'agent utilisateur unique Mozilla/5.0 (Windows NT 6.3 ; Trident/7.0 ; rv:11.0) comme Gecko afin d'effectuer des requêtes HTTP C&C :

Figure 4 : Identifiant de la chaîne de l'agent utilisateur

Des exemples de paramètres pendant le C&C seraient similaires à ce qui suit :

commandid=62168133-0418-411c-a6f9-27b812b76759

commandId=CmdResult=85bd26b3-c977-47d8-a32b-f7bae6f8134d

Ces requêtes HTTP sont adressées aux URI contenant Home/BM, Home/CC, Home/SCV, Home/CC ou Home/CR. Quelques autres ressources, telles que Home/SF et Home/gf, ont également été notées et pourraient être utilisées pour des tests ou des campagnes antérieures.

Figure 5 : Emplacement des URI de communication C&C

En outre, il semble que le serveur héberge également un pilote de réseau local sans fil Intel (NB500_Win7_intel_wireless_LAN_Driver_13.3.0.24.1.s32) périmé et certifié par Microsoft. Cet outil est probablement utilisé de manière malveillante pour manipuler les pilotes réseau existants ou pour utiliser une vulnérabilité dans le pilote lui-même afin d'élever les privilèges sur les systèmes ciblés.

Une fois que ce binaire a été exécuté sur un système et que les attaquants sont satisfaits des données recueillies, l'outil a la capacité de supprimer toutes les traces de ses fichiers temporaires du système.

Ces données volées sont ensuite directement utilisées dans l'application de construction de Shamoon 2 afin de maximiser l'efficacité de l'effacement des données. Étant donné que les informations d'identification et les emplacements du réseau sont volés au cours de cette phase, les opérateurs n'ont plus qu'à introduire le logiciel malveillant Shamoon 2 dans le système via la porte dérobée ISM lorsqu'ils ont fini d'exécuter leur mission principale.

Lors de l'initialisation, le binaire Shamoon 2 analyse le réseau /24 auquel la machine locale est connectée. Ce balayage du réseau recherchera les machines utilisant les informations d'identification volées recueillies par le logiciel malveillant ISM via les ports TCP 135, 139 et 445.

Les auteurs vérifieront la validité des mots de passe sur les systèmes en abusant des appels de registre à distance sur les systèmes ciblés. Une fois qu'une session de registre à distance réussie est détectée, le logiciel malveillant utilise RPC et psexec pour copier à distance les fichiers sur ces machines, puis exécute silencieusement chacun de ces binaires.

Les copies actuelles des binaires de Shamoon 2 supprimeront le système le mardi suivant l'exécution à 2 h 30, heure du système. Nous pensons que la date et l'heure de détonation de la charge utile peuvent également être personnalisées en fonction de la campagne en cours.

Ce qu'il faut faire

En cas de détection d'une activité de Shamoon 2, il est fortement conseillé d'éteindre physiquement et immédiatement tous les systèmes concernés. Les administrateurs doivent ensuite démarrer les appareils concernés à partir d'un périphérique USB sécurisé et monter le système de fichiers pour l'accès en lecture.

Les fichiers critiques doivent alors être supprimés du système et ce dernier doit être réimagé avec d'autres informations d'identification. Les administrateurs doivent savoir que si le binaire Shamoon 2 ou son activité sur le réseau est détecté, les identifiants du domaine et probablement d'autres informations sensibles ont déjà été volés et exfiltrés du réseau affecté.

La charge utile de Shamoon 2, qui efface le MBR et le remplace par une image, est probablement utilisée pour dissimuler les traces des attaquants et leurs véritables motivations.

La science des données derrière les détections de menaces sur Vectra

Consultez ce livre blanc pour découvrir comment les modèles de détection des menaces basés sur le site Vectra AI associent l'expertise humaine à un large éventail de techniques de science des données et d'apprentissage automatique sophistiqué pour identifier des menaces telles que Shamoon 2.