/
Cyber-résilience

Charges utiles et balises malveillantes : comment démarrent les communications malveillantes

Comprendre les balises de malwares et savoir comment les bloquer peut contribuer à assurer la sécurité de votre entreprise. Une balise, également appelée charge utile, est un exécutable ou un programme qui communique avec un cyberattaquant via un canal de communication. Du point de vue de l'auteur de la menace, la gestion des balises est à la base de sa campagne malveillante. Selon le type et la capacité d'une balise, c'est le moyen par lequel un acteur de la menace peut accéder directement à votre réseau, maintenir cette ligne de communication et réaliser ses buts et objectifs illégaux.

Par exemple, le Attaque contre la chaîne d'approvisionnement de SolarWinds impliquait un acteur de la menace insaisissable utilisant une balise ou une mise en scène de la charge utile. Comme l'ont montré plusieurs rapports d'analyse post-incident, il s'agissait d'une attaque sophistiquée en plusieurs étapes au cours de laquelle le malware Sunspot a été initialement utilisé pour compromettre le fournisseur. Ensuite, il y a eu la porte dérobée Sunburst destinée aux clients du fournisseur. Une fois cette opération exécutée avec succès, il a été utilisé pour lancer le compte-gouttes à mémoire uniquement Teardrop, suivi du chargeur Raindrop et de la balise Cobalt Strike. Chaque charge utile avait un objectif et un ensemble de fonctionnalités uniques.

Étapes courantes d'une séquence d'attaque de programmes malveillants

En cas d'activité malveillante impliquant une vulnérabilité, qu'il s'agisse de l'utilisateur final ou du système, la séquence d'attaque suit généralement le chemin suivant :

malware attack path

Il est utile de comprendre ces phases du point de vue de l'auteur de la menace. En découvrant comment les attaquants obtiennent leurs communications malveillantes à des fins de commande et de contrôle, nous pouvons également mettre en place une défense contre eux. Faisons chaque étape séparément.

Infrastructure pour les attaquants

Du côté de l'attaquant, il y aura un écouteur de commande et de contrôle chargé de recevoir et de traiter les communications de toutes les machines victimes compromises par la charge utile correspondante. L'auditeur sera soutenu par des serveurs Web, des systèmes de messagerie, des DNS, des systèmes d'alerte et des serveurs d'attaque, qui hébergent les outils utilisés dans la campagne de menaces.

Les communications de l'attaquant sortant de son infrastructure seront probablement anonymisées, c'est-à-dire renvoyées via une série de serveurs proxy pour masquer sa véritable identité. Voici un exemple :

anonymous proxy

Pour les attaques plus sophistiquées, les acteurs de la menace peuvent également déployer des infrastructures distribuées dédiées à leurs campagnes spécifiques. Cela leur permet de mettre en place ou de démanteler rapidement des infrastructures sur plusieurs sites géographiques, selon les besoins. Le système des noms de domaine (DNS) constitue un élément important de cette infrastructure. Un attaquant peut exploiter le DNS pour transmettre des communications malveillantes à son infrastructure, et il peut également utiliser le DNS pour exfiltrer (c'est-à-dire voler) des données.

Parallèlement à la mise en place de l'infrastructure, il y aura probablement les ressources humaines responsables de la planification, du déploiement et de la gestion de la campagne malveillante. La plupart des campagnes de menaces sont soutenues par toute une équipe de personnes et une infrastructure ; il est peu probable qu'il s'agisse d'une émission individuelle.

La répartition suivante montre un exemple d'équipe chargée d'une campagne d'attaque. Notez à quel point elle ressemble à l'équipe d'une entreprise de services informatiques classique.

malicious campaign team

Pour les acteurs de la menace, le processus qui consiste à sécuriser leur propre infrastructure tout en évitant d'être détectés sur le réseau de la victime est appelé sécurité opérationnelle. Les acteurs de menaces sophistiqués ont tendance à privilégier une sécurité opérationnelle élevée. Et pour y parvenir, ils utiliseront un éventail de techniques d'évasion et d'obscurcissement.

vulnérabilité

Une vulnérabilité est simplement une faiblesse inhérente à un système informatique ou à des technologies connexes qu'un acteur de la menace cherche à exploiter. Cette vulnérabilité peut provenir de la source (le fournisseur de l'équipement) ou de la destination (généralement un utilisateur final). Par exemple, en 2017, la vulnérabilité SMBv1 de Microsoft a été exploitée avec succès par des attaquants de rançongiciels à l'échelle mondiale. Voici un aperçu du rapport détaillé de cette vulnérabilité :

smb CVE details

Une fois qu'une vulnérabilité d'un système ou d'un programme est découverte, elle peut être rendue publique ; dans ce cas, un numéro CVE (Common Vulnerabilities and Exposures) standard lui est attribué. Ou il se peut qu'il ne soit connu que de quelques personnes privées, et sans aucun correctif disponible (alias « jour zéro »). La phase de vulnérabilité peut également faire référence à des vulnérabilités plus courantes des utilisateurs finaux, généralement exploitées par l'ingénierie sociale, comme le phishing et le malvertising. À ce stade, l'objectif général de l'acteur de la menace est d'exploiter la vulnérabilité et d'en faire une opportunité pour une attaque réussie.

Attaquer ou exploiter

La prochaine phase importante d'une attaque se produit lorsque l'auteur de la menace accède à un morceau de code qu'il peut utiliser pour exploiter une vulnérabilité tout en contournant les contrôles de sécurité. Par exemple, en utilisant le framework Metasploit comme serveur d'attaque, un acteur malveillant a découvert trois exploits disponibles pour la vulnérabilité Windows SMBv1, comme illustré ci-dessous :

Metasploit SMB vulnerability search

Ces vulnérabilités sont du type de celles exploitées par les tristement célèbres WannaCry et NotPetya. campagnes de ransomware. Les exploits de ce type contiennent souvent à la fois le code d'exploitation de la vulnérabilité et un petit code de charge utile pour les communications malveillantes.

Un exploit est souvent distinct de la balise ou de la charge utile. Cependant, les deux sont généralement regroupés sous forme de shellcode. Une fois que l'exploit accède au système cible, il charge une petite balise ou une charge utile qui peut rappeler à l'attaquant de terminer l'attaque, un processus connu sous le nom de payload staging.

Balise ou charge utile

Comme mentionné ci-dessus, une balise ou une charge utile est un exécutable ou un programme qui communique avec l'attaquant via un canal de communication. Cela peut être sécurisé via HTTPS ou utiliser un protocole en texte brut tel que le DNS. L'attaquant, à l'aide de ce que l'on appelle une balise ou un rappel de charge utile, peut ensuite transférer d'autres charges utiles, souvent avec des fonctionnalités supplémentaires pour atteindre les objectifs visés.

Dans l'exemple ci-dessous, vous pouvez voir Meterpreter charge utile en tant que fichier EXE Windows à l'aide du framework Metasploit msfvenom:

Metasploit msfvenom
payload

Une fois qu'une telle charge utile est livrée et exécutée sur un système victime, elle crée silencieusement une connexion TCP inversée. La charge utile utilise le port par défaut 4444 depuis l'intérieur du réseau de la victime vers l'adresse IP de l'attaquant. Notez que l'exemple de charge utile ci-dessus aurait de fortes chances d'être détecté dans le monde réel, car il a été généré avec des valeurs par défaut et sans codage. Ce n'est vraiment qu'un exemple académique.

Objectifs

Une fois qu'un attaquant a exécuté la balise ou la charge utile, il peut mener à bien sa campagne de menaces. Cela peut impliquer le vol de données, l'installation d'un rançongiciel ou tout autre type de perturbation.

Avant de poursuivre, voici un résumé des étapes qu'un attaquant doit suivre pour atteindre son objectif :

Étape 1 : Planifiez la campagne et concevez l'infrastructure correspondante, y compris les serveurs Web, les serveurs de messagerie, l'infrastructure DNS et les serveurs d'attaque.

Étape 2 : Effectuez des reconnaissances sur les cibles et les systèmes sélectionnés.

Étape 3 : Sélectionnez l'attaque ou la vulnérabilité la plus efficace à exploiter, en utilisant une combinaison d'humains et de systèmes.

Étape 4 : Développez ou acquérez les outils d'exploitation correspondants, y compris les mécanismes de livraison.

Étape 5 : Configurez l'infrastructure d'attaque, y compris l'infrastructure de commande et de contrôle (également appelée « écouteur »), pour recevoir les communications par balise inversée.

Étape 6 : Lancez la campagne malveillante.

Étape 7 : Gérez la balise et les charges utiles pour éviter toute détection et atteindre les objectifs de la campagne.

Procédure d'attaque

Une fois qu'un acteur de la menace a conçu et mis en œuvre l'infrastructure et la configuration associée, sa campagne malveillante est prête à démarrer. Pour ce faire, l'auteur de la menace aura besoin de ses balises ou de ses charges utiles pour s'exécuter sur le réseau de la victime. Ils peuvent alors y accéder, maintenir leur présence et réaliser leurs objectifs.

Passons en revue certaines des étapes importantes du point de vue de l'attaquant.

Pour commencer, voici un aperçu de la génération de la charge utile souhaitée :

payload web meeting

Dans ce cas, la charge utile est générée pour communiquer à l'aide d'un domaine (app12.webcoms-meetings.com, représenté par LHOST dans la première ligne verte) qui imite certains logiciels de réunion et de collaboration à distance pour le système d'exploitation Windows. Une vérification montre que le domaine est résolu à l'adresse IP contrôlée de l'attaquant.

DNS resolution check

À partir de là, l'attaquant choisit un mécanisme de diffusion pour son entrée initiale dans la cible. Dans cet exemple, ils ont choisi d'utiliser le spear phishing, une sorte d'attaque d'ingénierie sociale qui permet à un utilisateur peu méfiant de télécharger ce qu'il pense être une mise à jour de son logiciel pour les réunions à distance. L'attaquant a configuré un domaine (e-mail et Web) et une infrastructure de site Web correspondants pour prendre en charge cette méthode de diffusion d'ingénierie sociale, comme indiqué ci-dessous :

phishing email and web

L'attaquant espère que l'utilisateur peu méfiant téléchargera et exécutera la charge utile. Ou, si l'utilisateur visite le site de phishing, la charge utile peut être exécutée automatiquement via un téléchargement au lecteur. Quoi qu'il en soit, la charge utile déguisée est maintenant sur l'ordinateur de l'utilisateur et prête à être exécutée, comme indiqué ici :

payload in downloads

Une fois que la charge utile est en cours d'exécution, elle rappelle silencieusement le commandement et le contrôle de l'attaquant. UNE auditeur sera déjà opérationnel du côté de l'attaquant pour recevoir les communications de rappel. Dans l'exemple ci-dessous, un gestionnaire de charge utile ou un écouteur, exploit/multi/handler, a été configuré du côté de l'attaquant pour recevoir les communications du tcp inversé charge utile exécutée sur la machine victime via le domaine malveillant app12.webcoms-meetings.com.

payload handler

Une fois que la balise atteint l'infrastructure de l'attaquant, l'auditeur ou le gestionnaire concerné reçoit la connexion, et la charge utile initiale peut télécharger une charge utile principale beaucoup plus importante, appelée Stage. Cela peut être vu ci-dessous avec le message « envoi de l'étape (175174) à 203.0.113.1 ». La machine victime se trouve derrière un pare-feu NAT dont l'adresse IP externe est 203.0.113.1. Dans cet exemple, la charge utile de l'attaquant est polyvalente Metasploit Meterpreter.

payload callback

Une fois que la balise initiale a téléchargé la charge utile principale, elle est prête à poursuivre le reste de l'attaque. Une fois l'exécution réussie, le contrôle du programme est ensuite transmis à cette charge utile principale (Stage) pour fournir un shell à l'attaquant. Tout cela se passe en mémoire et implique des techniques d'injection de code. La capture d'écran suivante montre l'attaquant avec un accès clavier pratique à l'ordinateur de la victime. L'attaquant peut exécuter la commande « dir » et voir tous les fichiers du dossier de téléchargement de l'utilisateur.

meterpreter shell

À partir de là, l'attaquant effectue une reconnaissance interne (c'est-à-dire une « découverte ») sur la machine victime. L'attaquant peut désormais obtenir les informations relatives au compte et à l'annuaire de la victime. Par exemple, le nom d'utilisateur enregistré pour la machine compromise est « ama ». Ils peuvent même capturer une capture d'écran du bureau Windows du système cible, comme illustré ci-dessous :

meterpreter shell

À ce stade, l'attaquant peut également scanner le réseau interne pour découvrir d'autres systèmes. La capture d'écran suivante montre une analyse du réseau interne via le protocole ARP (Address Resolution Protocol). Cela sera utile pour mouvement latéral, décrit plus loin.

meterpreter shell ARP scan

L'attaquant peut également effectuer des actions plus malveillantes telles que l'exfiltration (vol) d'un Project_Progress.pdf fichier depuis la machine victime. Comme indiqué ci-dessous, ils peuvent également télécharger Mimikatz, un outil malveillant permettant de voler les informations d'identification des utilisateurs. Les attaquants ont besoin d'informations d'identification dotées de privilèges élevés pour effectuer des actions au niveau du système et effectuer des mouvements latéraux au sein d'un réseau.

project progress mimikatz

L'exemple ci-dessous montre comment l'attaquant peut exécuter le téléchargement Dumping des titres de compétences Mimikatz outil pour afficher les hachages de mot de passe sur la machine Windows compromise.

Mimikatz

Une autre étape cruciale pour l'attaquant consiste à créer une route vers la machine victime, même après son redémarrage par l'utilisateur. C'est là que la technique de la persévérance entre en jeu. Les attaquants disposent de plusieurs moyens pour y parvenir, notamment des charges utiles inversées à exécution automatique et des portes dérobées persistantes.

Comme indiqué ci-dessous, l'attaquant choisit d'exécuter un module de persistance post-exploit, qui implique un script Visual Basic (VBScript) placé dans le dossier Windows Temp de l'utilisateur connecté, UOPFNWO.vbs. L'attaquant installe ensuite une entrée de registre Windows pour permettre au script de s'exécuter automatiquement après le démarrage de la machine.

post-exploit persistence

L'attaquant s'est maintenant assuré que son script de charge utile peut se reconnecter à son auditeur, même si la machine est redémarrée. Toutefois, les fichiers présents sur le disque peuvent désormais également être détectés par une analyse antivirus du système de fichiers.

Enfin, l'attaquant voudra nettoyer toutes les preuves potentielles. Pour ce faire, ils peuvent supprimer les fichiers et entrées malveillants d'origine, et crypter ou même mélanger des fichiers malveillants à des fichiers système légitimes. Pour mieux suivre leurs traces, ils peuvent également supprimer à la fois les clichés instantanés et les journaux système.

Analyse et criminalistique de l'attaque

Je vais maintenant passer en revue quelques réponses initiales aux incidents (IR) et l'analyse de base des composants spécifiques de l'attaque. Cela vous permettra de mieux comprendre certaines actions malveillantes.

Analyse du réseau et du DNS

À partir de l'analyse des communications réseau depuis la machine victime, on constate que l'adresse IP interne (10.1.1.81) a établi une connexion TCP sur le port distant 443 avec le nom DNS de l'attaquant externe. Il s'agit d'une communication de commande et de contrôle.

process running
Netstat command-and-control communication

Ensuite, en analysant les composants typiques impliqués dans une hiérarchie de résolution DNS normale, nous pouvons décomposer le processus de l'attaquant :

  • Tout d'abord, l'auteur de la menace a enregistré un domaine : webcoms-meetings.com
  • Le domaine pointe vers l'IP externe 203.0.113.123.
  • L'attaquant utilise un nom de sous-domaine app12.webcoms-meetings.com pour rediriger le trafic depuis les charges utiles des machines compromises vers leur commande et leur contrôle.
DNS structure

Les acteurs de la menace peuvent également tenter d'exfiltrer des données à l'aide du DNS. Par exemple, ils peuvent utiliser des enregistrements DNS TXT ou même encoder des informations uniques sur leurs victimes dans le cadre d'une supposée requête DNS sortante. Ces requêtes seront reçues par le serveur DNS faisant autorité sous le contrôle de l'attaquant. Un serveur DNS faisant autorité reçoit et répond aux requêtes DNS pour un domaine spécifique.

Les acteurs de la menace peuvent également utiliser des algorithmes de génération de domaines (DGA) pour générer automatiquement des milliers de domaines chaque jour. Avec cette technique, une machine infectée disposera d'un code intégré (c'est-à-dire un algorithme) pour générer puis tenter de se connecter à un certain nombre de ces domaines générés pendant une période spécifiée. Par exemple, il peut essayer de se connecter à 1 000 domaines générés toutes les 24 heures jusqu'à ce que l'un d'entre eux réussisse. L'attaquant enregistrera ensuite quelques-uns de ces domaines chaque jour et les gardera actifs pendant de courtes périodes.

Ces domaines recevront probablement des communications malveillantes de temps en temps. Cette technique, popularisée par la famille de malwares Conficker, rend difficile la création d'un liste de refus en tant que kill switch. Pour échapper davantage à la détection et maintenir leur résilience, les acteurs de la menace les plus sophistiqués utilisent également une infrastructure distribuée qui combine des proxys, des redirecteurs et des équilibreurs de charge.

Analyse du système

La plupart des opérations typiques de post-exploitation de la charge utile ou des balises impliquent la manipulation de processus Windows, qui se produisent entièrement en mémoire. Un attaquant doté d'une capacité de manipulation des processus peut démarrer de nouveaux processus sur la machine victime. Il peut s'agir d'un shell interactif natif (Windows cmd.exe) qui permet à l'attaquant d'utiliser des commandes Windows natives. L'attaquant peut également démarrer des processus de manière non interactive, comme illustré ici :

meterpreter shell process manipulation

Sur la machine cible, un vidage de processus (illustré ci-dessous) affiche les processus nouvellement créés avec leurs ID de processus respectifs, 2624 et 1972, tous deux en cours d'exécution.

process explorer view

La possibilité de démarrer de nouveaux processus est très utile. L'attaquant peut démarrer un nouveau processus peu méfiant tel que notepad.exe, puis migrer son processus d'origine charge utile malveillante y accéder à l'aide d'une injection de code/DLL. C'est une technique qui donne l'impression qu'un processus malveillant sur le système est légitime ; j'en parlerai plus en détail dans la deuxième partie de cette série.

Dans le cadre de son évasion post-exploitation, l'attaquant migre le processus malveillant d'origine, web1_meeting_update.exe (2472), vers un nouveau notepad.exe processus (1768), comme indiqué ici.

meterpreter shell migrate process

Sur la machine victime, le processus malveillant d'origine, PID 2472, a été migré et s'exécute désormais en tant que notepad.exe avec l'ID de processus 1768. Comme indiqué ci-dessous, seul le nouveau processus est en cours d'exécution.

task manager migrated process

Selon la technique de persistance précédente, le dossier Windows Temp (voir ci-dessous) affiche à la fois le VBScript utilisé et les clés d'exécution automatique correspondantes créées dans le registre pour le script malveillant.

persistence registry artifacts

Une analyse statique initiale du fichier de charge utile exécutable malveillant d'origine montre que plusieurs facteurs de risque y sont associés. Par exemple, il charge certaines bibliothèques Windows (DLL) intéressantes, en particulier celles utilisées pour les communications réseau. Une analyse de la mémoire et de la dynamique correspondante affichera le comportement suspect d'un processus notepad.exe établissant des connexions réseau.

static analysis malicious payload file

Conclusions

Dans cet article, j'ai abordé certaines des considérations et actions typiques impliquées dans une campagne de menaces et les communications malveillantes associées. J'espère que cela vous permettra de mieux comprendre comment et pourquoi un acteur de la menace utilise certaines techniques.

Nous pouvons résumer le cycle d'attaque qui conduit à une communication malveillante en trois phases :

  • Entrée initiale
  • Exécution
  • Commande et contrôle

Une bonne façon d'aborder les stratégies d'atténuation est d'appliquer les supposer une violation philosophie. En d'autres termes, supposons que l'attaquant soit déjà présent et que, par conséquent, vos principaux objectifs de sécurité soient la détection et le confinement. De plus, vos résultats en matière de sécurité doivent inclure au moins visibilité automatisée, alerte et confinement (Segmentation Zero Trust). J'aborderai les techniques d'atténuation plus en détail dans la troisième et dernière partie de cette série de blogs.

Dans le prochain article, deuxième partie de cette série, j'examinerai de manière plus approfondie les balises et les charges utiles et j'expliquerai pourquoi un acteur de la menace peut choisir un type plutôt qu'un autre. J'aborderai également certaines des techniques avancées utilisées par les attaquants pour l'évasion et l'obscurcissement.

Sujets connexes

Articles connexes

Une infrastructure critique résiliente commence par Zero Trust
Cyber-résilience

Une infrastructure critique résiliente commence par Zero Trust

Qu'il s'agisse de la brèche de Colonial Pipeline ou de l'attaque du rançongiciel JBS, l'année dernière nous a montré que les cyberattaques contre les infrastructures critiques des États-Unis sont plus incessantes, sophistiquées et impactantes que jamais, et menacent trop souvent la stabilité économique et le bien-être des citoyens américains.

Illumio se développe en Amérique latine pour renforcer la cyberrésilience
Cyber-résilience

Illumio se développe en Amérique latine pour renforcer la cyberrésilience

Découvrez ce qui fait de la région de l'Amérique latine une cible particulière pour les acteurs de la menace et comment Illumio peut les aider.

6 recommandations d'experts sur la confiance zéro pour les agences gouvernementales
Cyber-résilience

6 recommandations d'experts sur la confiance zéro pour les agences gouvernementales

Découvrez les 6 recommandations clés du récent webinaire GovExec sur la mise en œuvre de Zero Trust et la segmentation des applications.

Aucun article n'a été trouvé.

Supposez Breach.
Minimisez l'impact.
Augmentez la résilience.

Vous souhaitez en savoir plus sur la segmentation Zero Trust ?