Les cyberattaques passent par plusieurs phases silencieuses avant que les cybercriminels n’atteignent leurs objectifs finaux (divulgation d’informations sensibles, chiffrement de données, sabotage …)  qui sont les parties visibles d’opérations sophistiquées. Les impacts sont souvent graves et divers notamment sur le plan financier, les obligations de conformité ou l’image de marque.

Il est donc important d’adopter une approche proactive pour mieux comprendre les menaces cybers afin de détecter les cyberattaques avant l'atteinte de leurs objectifs finaux. Le renseignement sur les menaces cybers, la “Cyber Threat Intelligence”, permet de disposer d’une base de connaissance sur les modes opératoires et techniques utilisés par les acteurs de cyberattaques. Les informations de “Cyber Threat Intelligence” vont permettre de définir des scénarios pertinents d’attaques qui serviront à tester les mécanismes de défense du système d’information. Il s’agit d’une activité fastidieuse d’où l'importance de disposer d’outils facilitant l'émulation des menaces informatiques. 

 

L’émulation des menaces

L’émulation des menaces (ou adversary emulation) est le fait de reproduire des attaques comme le ferait une personne malveillante. Le but est d’augmenter son niveau de résilience, de mesurer sa capacité de détection et d’entraîner ses équipes à identifier les signaux d’attaques afin d’être prêt le moment venu. Ce type d’outil est destiné aux Red et Blue Team.

On peut ainsi être tenté de comparer l’émulation des menaces aux tests d’intrusion (Penetration Test) :

 

Adversary EmulationPenetration Test
Tester la résilience d'une organisation face à un groupe d'attaquants Identifier et exploiter des vulnérabilités sur des systèmes pour tester la sécurité 
Focalisé sur l'exécution d'un scénarioFocalisé sur un périmètre spécifique

Action préventive de détection

(Blue et Red Team) 

Action surtout préventive (Red Team) 

Ces deux méthodes sont nécessaires et complémentaires.

Caldera, un outil prometteur

Caldera est un outil Open Source d’émulation d’attaques développé par l’organisme MITRE. Caldera se base bien entendu sur le framework MITRE ATT&CK avec une interface graphique simple et épurée. Cet outil s'intègre bien dans l’arsenal des Red ou Blue teams et se déploie dans une architecture serveur / client.

Le serveur s’installe sur Linux ou MacOS et des agents sont installés sur les machines cibles, Windows, MacOS et Linux. L’administration se fait via une interface web présente sur le serveur. Il existe la possibilité d’ajouter des  plugins complémentaires dont notamment le plugin Atomic Red Team qui permet d’avoir un grand nombre de techniques d’attaque supplémentaires.

Le framework MITRE ATT&CK

C’est une base de connaissances regroupant de nombreuses techniques d’attaque. Il permet de développer des modèles sur les menaces, d’évaluer les écarts dans les  capacités de détection ou encore d’élaborer des scénarios d’attaques. Il permet ainsi d’identifier les brèches potentielles et de mapper sa propre maturité face aux menaces.

1.png

Composé de 12 Tactiques qui sont le “pourquoi” de l’action. Il s’agit des objectifs intermédiaires pour atteindre l’objectif visé. 

Ces tactiques catégorisent les différentes Techniques qui sont le “comment”. Ce sont les actions élémentaires pour atteindre chaque objectif intermédiaire.

 

Caldera - Un outil en 3 Parties

1. Agents

On y déploie et visualise les agents exécutés pour effectuer les commandes à distance sur les machines cibles.

2.png

Trois types d’agents sont disponibles : 

  • 54ndc47 (GoLang agent / HTML) 
  • Manx (Reverse-Shell agent / TCP)
  • Ragdoll (Python agent / HTML)

Les agents peuvent avoir 2 types de privilèges :

  1. User
  2. Elevated (admin/root)

2. Adversaries

Cette catégorie permet la création et la modification de Profils (scénarios) prédéfinis.

3.png

4.png

Des profils prédéfinis sont présents pour pouvoir tester immédiatement l’outil ou servir de base à un scénario personnalisé.

3. Operations

Lancement d’un scénario automatisé :

5.png

Une fois le profil effectué, nous pouvons choisir les agents sur lesquels effectuer le déroulement de notre scénario. Un code couleur permet de voir l’état de chaque action.

Le résultat de chaque action est alors directement disponible sur l’interface graphique ou on peut générer un rapport en format JSON contenant les résultats de toutes les étapes du scénario.

 

Procédure :

L’installation de Caldera se fait très simplement et ne demande pas la monopolisation d’une grande quantité de ressources.

La seule contrainte est l’utilisation de deux machines différentes, en plus du SIEM, afin que l’une puisse jouer le rôle du serveur et l’autre du client.

Caldera peut être installée sur une machine Linux via Docker ou simplement avec la commande “apt”. Il est rapidement fonctionnel et ne demande pas l’utilisation d’une configuration complexe. 

Une fois le serveur Caldera lancé, il est nécessaire de récupérer un agent pour le déployer sur la seconde machine, la cible des attaques. Cet agent communique automatiquement avec le serveur Caldera une fois lancé et permet la réception et l'exécution des commandes envoyés par le serveur.

Architecture.png

Architecture de test actuelle de Caldera chez Capfi

 

Une fois l’agent mis en place, il est possible de simuler différentes actions pour chaque étape de la Kill Chain. Ces actions peuvent être lancées ponctuellement ou de manière ordonnées à la création d’un profil.

Pour simuler une attaque avec Caldera, il est particulièrement important d’étudier les menaces actuelles ou les menaces ayant le plus de risque pour l’entreprise. Ainsi l’activité de renseignement sur les menaces cybers est souvent menée de pair avec l’émulation de menaces. 

Ici, le choix s’est porté sur le malware Emotet puisqu’il est récemment revenu en force depuis juillet 2019. C’est un virus permettant de voler différentes informations sensibles pouvant intéresser une grande variété d’acteurs et dont la diffusion s’effectue par mail. Son rôle comme sa diffusion étant simple, c’est un malware à surveiller puisqu’il est susceptible d’affecter n’importe qu’elle entreprise.

Une fois choisi, il est préférable de s’appuyer sur des documentations tels que le MITRE ATT&CK pour déterminer la méthodologie d’attaque du malware ainsi que les TTPs associés. L'objectif n’est pas de reproduire la totalité de la chronologie mais d’en dégager un scénario vraisemblable. Il faut donc tout d’abord comparer les TTPs utilisés par le malware avec ceux disponibles sur Caldera. Une fois les éléments non reproductibles éliminés, il est alors possible de dérouler une logique d’attaque et de faire ressortir au les actions par étape.

Un scénario peut alors être établi de la manière suivante :

7.png

Une fois le scénario ainsi que les différentes actions choisies, une phase de test s’ensuit afin de confirmer le bon fonctionnement de chaque action. Elle permet de s’assurer du bon déroulement du scénario et de lever le doute sur un dysfonctionnement possible entre le serveur et la cible. 

Si la phase de test est concluante, il est alors possible de lancer le scénario afin de réaliser l’analyse des capacités de défense. 

 

Conclusion

Caldera possède donc de nombreuses fonctionnalités lui permettant d’être pertinent au sein des équipes Red ou Blue Team, puisqu’il permet :

  • d’émuler des attaques
  • de couvrir tous les types d’OS cibles
  • d’automatiser les opérations
  • d’obtenir des exemples de scénarios d’attaques
  • d’obtenir une base de données d’attaques basée sur le référentiel du MITRE ATT&CK
  • d’effectuer une analyse d’écart actionnable basée sur le référentiel du MITRE ATT&CK

 

 

Sources 


https://caldera.readthedocs.io/en/latest/Getting-started.html

https://attack.mitre.org/

https://mitre-attack.github.io/attack-navigator/enterprise/

https://github.com/mitre/caldera

https://github.com/mitre/caldera/releases

https://github.com/redcanaryco/atomic-red-team/tree/master/atomics

https://attack.mitre.org/resources/enterprise-introduction/