Infiltration d’infrastructure via RTF

[post-views]
mai 20, 2016 · 6 min de lecture
Infiltration d’infrastructure via RTF

Passons à l’étude d’une étape de l’attaque appelée « Livraison » dans la Kill Chain Cyber de Lockheed Martin.delivery-weaponized-bundle-rtf_2Beaucoup de choses peuvent être dites à propos de cette étape, mais aujourd’hui je vais simplement partager l’analyse d’un échantillon que j’ai récemment reçu pour analyse. L’échantillon a attiré mon attention en raison de sa simplicité d’un côté et de sa sophistication de l’autre. On ne peut certainement pas reprocher à ses auteurs un manque d’inventivité et d’imagination.

Commençons.

Ici, nous pouvons voir un email standard avec un fichier Word en pièce jointe :

delivery-weaponized-bundle-rtf_3L’un des sites web met en garde contre une telle arnaque par email (Arnaque par email), et fournit plus de détails :delivery-weaponized-bundle-rtf_4Examinons de plus près les subtilités de cette méthode d’intrusion et comment l’ouverture d’un seul email pourrait entraîner des conséquences désastreuses pour votre entreprise.Tout d’abord, nous livrons ce fichier à notre laboratoire improvisé où nous l’analyserons en détail. Comme première étape, nous devons vérifier le document pour tout macros. Nous pouvons utiliser différents ensembles d’outils pour accomplir cette opération et aujourd’hui nous utiliserons OLETOOLS qui contient OLEVBAoutil pour les opérations suivantes :

  • Détecter des macros VBA dans les fichiers MS Office 97-2003 et 2007+
  • Extraire le code source des macros VBA
  • Détecter les macros auto-exécutables
  • Détecter des mots-clés VBA suspects souvent utilisés par les malwares
  • Détecter et décoder les chaînes obfusquées avec Hex/Base64/StrReverse/Dridex
  • Extraire les IOCs/patrons d’intérêt comme des adresses IP, URLs, adresses e-mail et noms de fichiers exécutables
  • Analyser plusieurs fichiers et collections d’échantillons (génériques, récursif)
  • Mode triage pour une vue résumée de plusieurs fichiers
  • Analyser les échantillons de malwares dans les archives Zip protégées par mot de passe
  • API Python pour utiliser olevba depuis vos applications

delivery-weaponized-bundle-rtf_5Nous exécutons l’outilolevba.py:

olevba.py 750786446.doc > macros.txtEn conséquence, un fichier macros.txt, sera créé, contenant tous les macros du document étudié.

Voyons ce que ce fichier Word cache :delivery-weaponized-bundle-rtf_6Bien sûr, tout programmeur sensé ne nommerait pas des fonctions et des variables de cette manière à moins qu’il ne cherche à cacher ses objectifs.

Voici une représentation schématique des opérations de ces macros pour mieux comprendre cet ensemble de symboles :

delivery-weaponized-bundle-rtf_10Maintenant nous voyons clairement que 90% des opérations affichées sont du bruit, créé pour confondre un analyste et compliquer la recherche des macros. Si nous débarrassons le schéma des opérations « excessives », nous obtenons une image claire du fonctionnement de cette macro.

delivery-weaponized-bundle-rtf_11

Alors, que cherche vraiment à faire la macro ?

  1. Après l’ouverture du fichier DOC, la macro trouve l’emplacement du dossier temporaire via des variables d’environnement. Ensuite, elle se sauvegarde dans ce dossier au format RTF sous le nom de BYFE.RTF.
  2. Ensuite, elle répète la même opération, mais utilise un autre nom – JWUD.RTF. Cette opération est nécessaire pour libérer le fichier BYFE.RTF pour d’autres opérations car tant que Microsoft Word le « tient », personne ne peut se référer à ce fichier sauf en mode « lecture seule ». Bientôt, nous verrons que la macro a des plans spéciaux pour ce fichier.
  3. À ce stade, la macro exécute le fichier BYFE.RTF en mode « invisible ».delivery-weaponized-bundle-rtf_17Ici, je dois m’éloigner de notre sujet et vous parler d’une caractéristique particulière des fichiers RTF :
    Vous pouvez attacher n’importe quel objet aux fichiers RTF, même de la musique ou des fichiers exécutables. Lorsqu’un utilisateur ouvre un fichier avec un tel objet, cet objet est extrait dans le dossier Temp. Et il y restera tant qu’il est attaché au fichier RTF jusqu’à ce que le document soit fermé. L’essentiel est qu’il puisse être utilisé par quoi que ce soit de l’extérieur.
    Procédons à une expérience :

    • Nous créons un fichier RTFdelivery-weaponized-bundle-rtf_9
    • Ensuite, nous attachons la calculatrice par défaut (calc.exe) en tant qu’objet :delivery-weaponized-bundle-rtf_10
    • Fermons ce document et ouvrons le dossier %temp%
    • Maintenant, nous vidons le dossier et ouvrons avec Microsoft Word notretest.rtf:
      delivery-weaponized-bundle-rtf_11
    • Lançons la calculatrice pour prouver son fonctionnement :delivery-weaponized-bundle-rtf_12
    • Lorsque le fichier RTF est fermé, calc.exe disparaît sans laisser de trace
  4. Nous comprenons maintenant pourquoi les adversaires utilisent des fichiers RTF et pourquoi ils ont besoin d’une pause de 2 secondes. Ils en ont besoin pour placer leur « objet » dans notre dossier Temp.
  5. Ensuite, un objet est exécuté (comme nous l’avons fait avec la calculatrice) et comme nous le verrons plus tard, le nom de notre objet est s3.tmp:
    delivery-weaponized-bundle-rtf_13

    Les adversaires ont besoin d’une pause de 3 secondes pour que « l’objet » complète ses tâches. Dans notre cas, cet « objet » est un téléchargeur/droper, donc ses tâches consistent à communiquer avec un centre de commande et à obtenir d’autres instructions. Dans notre exemple, il a communiqué avec54.225.64.111hxxp://api.ipify.org:80/. Sur le site VirusTotal, nous pouvons voir une activité anormale à cette adresse IP qui a commencé à la fin d’avril – au début de mai 2016.

    https://www.virustotal.com/ru/ip-address/54.225.64.111/information/delivery-weaponized-bundle-rtf_14

  6. Enfin, la dernière étape. La macro ferme le fichier RTF, ce qui provoque la disparition du droper. La tâche est terminée. L’intrusion est terminée. Les traces sont effacées.

Conclusion :

  1. De plus en plus de « bacs à sable » pour les périmètres de l’entreprise deviennent capables de trier les courriels et de déconstruire de telles pièces jointes pour détecter toute activité malveillante et réduire les risques d’intrusion.
  2. L’analyse manuelle et détaillée du spam intercepté par les filtres antispam (ingénierie inverse des malwares) est très importante. Cela peut vous aider à trouver les IOCs clés à utiliser dans les règles pour les systèmes de surveillance et à suivre les cas de tels emails pénétrant le périmètre. Dans notre exemple, ce serait une adresse IP. Pour sécuriser votre organisation, vous devez la bloquer sur les pare-feux et surveiller toute tentative de connexion. Cela vous permet de découvrir les stations de travail compromises et de commencer la maintenance de l’infrastructure. Cela peut également vous protéger lorsque votre filtre antispam manque un email avec malware et qu’un utilisateur l’ouvre – vos pare-feux seront prêts à bloquer toute communication entre le malware et son centre de commande.
  3. Le droper est généralement « invisible » pour l’antivirus d’entreprise. Si vous envoyez un échantillon découvert à un fournisseur d’antivirus, ils peuvent l’ajouter à leurs signatures vous permettant de découvrir les stations de travail compromises.

J’espère que cet article est utile et j’attends vos commentaires.

Table des Matières

Cet article vous a-t-il été utile ?

Aimez-le et partagez-le avec vos collègues.
Rejoignez la plateforme Detection as Code de SOC Prime pour améliorer la visibilité des menaces les plus pertinentes pour votre entreprise. Pour vous aider à démarrer et générer une valeur immédiate, réservez dès maintenant une réunion avec les experts de SOC Prime.

Articles connexes