9 minutes
La ‘cyber killchain’
Disclaimer :
Ce contenu est proposé à but éducatif, de recherche et de sécurité informatique.
N’en faites pas un usage illégal.
Depuis quelques années déjà, plusieurs acteurs de la cybersécurité se sont posés la question de savoir s’il était possible d’établir un modèle générique pour définir les cyberattaques. En 2011, la société Lockheed Martin a publié un modèle en sept étapes d’une attaque réussie : la “Cyber Kill Chain”.
Dans cet article de blog, il est question de détailler ce modèle et de proposer quelques principes pour nuire et perturber les attaquants cherchant à compromettre un réseau informatique.
1. Reconnaissance
But recherché : Trouver une faiblesse
Première phase du modèle, et pas des moindres, puisqu’il s’agit de collecter un maximum d’informations sur la cible.
En premier lieu, l’attaquant entre dans une phase de recherche passive qui commence par la collecte d’un maximum d’informations sur la cible. Cela concerne notamment l’identification des personnalités importantes. Pour ce faire il existe de nombreuses techniques de recherches du renseignement en sources ouvertes (OSINT), que ce soit par le biais de moteurs de recherches (spécialisés ou non) ou par la consultation de registres (WHOIS, réservation de noms de domaines, offres d’emploi, sites internet, statuts de l’entreprise, réseaux sociaux, …).
Quand l’attaquant estime avoir collecté suffisamment d’information, il entame une phase de reconnaissance active.
Il est désormais question de délimiter le périmètre du système d’information (SI), ce même périmètre qui s’avère être de plus en plus « poreux » au fur et à mesure des évolutions dans la façon où les utilisateurs interagissent avec le SI, notamment via les accès « nomades » et des services hébergés. Autant de faiblesses susceptibles d’être exploitées.
L’attaquant va rechercher les ports et services ouverts sur le réseau avec des outils de scans de ports ou de vulnérabilités. Certains de ces outils, notamment les scanners de vulnérabilités, sont susceptibles de laisser des traces.
La reconnaissance active peut alors durer de nombreux mois pour éviter d’être détecté.
Se défendre contre la reconnaissance nécessite une chose fondamentale : il faut parfaitement connaitre son réseau. Il y a une différence entre ce que les gens pensent utiliser dans leur réseau et les services qui y sont réellement actifs. L’attaquant va rechercher des traces externes laissées par des outils internes qui tournent parfois à l’insu des administrateurs. Ils servent généralement à automatiser certaines taches ou pour les besoins des propriétaires de logiciels. Ces services sont autant de vulnérabilités potentielles de l’infrastructure.
Il est nécessaire pour les administrateurs de connaitre toutes les fonctionnalités et de savoir configurer correctement leurs outils. Le but étant toujours, in fine, de réduire la surface d’attaque.
Pour ce faire il est nécessaire de retirer toutes les choses qui ne sont pas ou plus utilisées et de faire faire auditer son infrastructure (pentest, redteam, etc…). Il faut attaquer son périmètre comme le ferait un adversaire réel !
Un réseau bien géré rend difficile la collecte d’informations. Cette bonne gestion passe notamment par la correction des failles.
Toutes les failles identifiées doivent être corrigées !
Les failles volontairement ignorées sont autant d’opportunités laissées aux attaquants. Et il en va de même pour l’ouverture temporaire d’accès extérieurs sur des ressources internes protégées. Les groupes APT (Advanced Persistent Threat) maintiennent une surveillance permanente pour détecter toute exposition, même temporaire, du système informatique de leur cible.
Techniquement parlant, les pots de miel (honeypots) sont d’excellents outils qui peuvent être utilisés comme un leurre contre un agresseur potentiel. Non seulement ils détournent l’attention des systèmes réels, mais ils révèlent aussi ce qu’ils cherchent et parfois qui ils sont.
Un pare-feu avec des capacités IPS (Intrusion Prevention System) sur le périmètre assurera le filtrage et la segmentation, tout en surveillant les scans de ports et le ‘banner grabbing’. La plupart des pare-feu de nouvelle génération (NGFW) peuvent bloquer les connexions des réseaux Tor et des proxy IP connus qui sont couramment utilisés durant cette phase.
Le but de la phase de reconnaissance est de trouver une faiblesse qui peut être exploitée. Une fois que l’attaquant a trouvé cette faiblesse, il peut passer à l’étape suivante.
2. Weaponization
But recherché : Sélectionner une arme basée sur le résultat de la reconnaissance
Une faiblesse sur le SI de la cible a désormais été découverte par l’attaquant. Cette phase consiste à trouver ou développer l’outil qui permettra de l’exploiter.
Pour les vulnérabilités les plus courantes, il peut s’agir d’outils accessibles au public tels que ‘Metasploit Framework’, ‘exploit-db’ ou ‘SEToolkit’ par exemple. Ou alors de programmes et shellcodes développés spécifiquement pour cette attaque. Tout cela dépend du contexte de l’attaque, généralement en corrélation avec le type de cible, les moyens engagés et le niveau technique de l’attaquant.
L’une des meilleures contre-mesure consiste à corriger les vulnérabilités du SI car la majorité des failles exploitées proviennent de serveur non patchés.
Je découvre encore des systèmes critiques de grandes sociétés vulnérables à ‘eternal blue’…
Il est aussi conseillé de mettre en place divers dispositifs tels que :
- les antivirus et anti-spam sur le service d’email,
- l’audit des logs,
- l’IPS orienté détection des tentatives d’exploit,
- …
Ces solutions ne protègent que contre ce que nous connaissons, il faut mettre en place des mesures pour détecter les attaques qui passent au travers des mesures de sécurité. C’est là qu’un outil de post-infection, comme une sandbox ou un EDR (Endpoint detection and response), aidera à détecter les menaces que les mesures préventives n’ont pas détectées.
Désormais, l’attaquant a choisi l’outil à utiliser, mais il ne l’a pas encore livré. La manière dont il le fait est aussi importante que le choix de l’arme.
3. Delivery
But recherché : Livrer la charge utile dans le SI
Détenteur de la charge adéquat en fonction du résultat de la reconnaissance antérieure, l’étape de livraison consiste à essayer une ou plusieurs voies pour livrer le code malveillant. Cette livraison varie selon le type d’attaque.
Voici quelques exemples :
- Un site web compromis ;
- Une interaction avec une ressource du SI exposée sur internet ;
- Un phishing e-mail avec pièce-jointe ou une attaque ciblée (spire phishing) en pratiquant le social-engineering' pour obtenir un accès interne illégitime ;
- Le hameçonnage d’un employé sur les réseaux sociaux ;
- Par support USB. L’attaque consiste à abandonner une clé USB infectée dans l’espoir qu’un employé trop curieux la branche sur le SI interne.
Il faut bien tenir compte du fait qu’une entreprise peut disposer des meilleurs experts en cybersécurité, si elle ne forme pas ses employés elle s’expose à une compromission depuis le poste d’un utilisateur. Il ne faut pas négliger ces derniers et mettre en place des politiques sur les mots de passe et sur les bonnes pratiques de la SSI.
Outre les mesures déjà employées dans la section Weaponization, d’autres peuvent venir les compléter.
- Le filtrage web pour empêcher le téléchargement des payloads;
- Une politique de sécurité sur les supports USB et de gestion stricte des droits des utilisateurs sur leur poste;
- Le filtrage DNS;
- L’inspection des paquets chiffrés en SSL.
Une fois l’arme délivrée, l’attaquant doit désormais la déclencher.
4. Exploitation
But recherché : Déclencher le code malveillant et exploiter la vulnérabilité
C’est à ce stade de l’attaque que l’on parle d’injection SQL, buffer overflow, malware, etc…
Rien n’a réussi à empêcher la charge d’entrer dans le SI. Cette phase est critique car peu de choses désormais ne permettent de stopper son exécution.
Une fois l’exploitation mise en œuvre, la machine ciblée est infectée et devient ce que l’on appelle le ‘patient zéro’. La ligne de défense est franchie, seule une sandbox ou un programme d’analyse comportementale en temps réel est capable de détecter l’intrusion.
Après avoir tiré parti d’une faiblesse dans une application ou un système d’exploitation, l’attaquant à maintenant obtenu un accès au travers d’une brèche mais l’attaque n’est pas terminée…
5. Installation
But recherché : ‘Planter la tente’ et conserver un accès persistant
Exploiter une faille et gagner l’accès c’est bien, mais faire en sorte d’y rester c’est mieux.
Dans cette phase l’attaquant (ou le code exécutable) va faire en sorte de conserver un accès persistant dans la machine infectée (et plus tard dans le SI en entier).
Cela se fait par la mise en place d’une porte dérobée (backdoor) permettant de regagner l’accès automatiquement même après redémarrage de la machine par exemple (taches planifiées, dll hijacking, modification du registre…).
Une fois arrivé à ce stade de l’attaque, les opportunités de défense sont très limitées. Tout repose principalement dans la détection de flux suspects et de processus illégitimes sur les machines.
6. Command & Control
But recherché : Permettre le contrôle distant et progresser à travers le SI
C’est au cours de cette étape que l’attaquant s’efforcera d’obtenir ce que l’on appelle une élévation de privilèges, consistant à s’octroyer plus de droits sur système qu’il n’en a au départ.
Le saint graal ce sont les droits d’administrateur (ou ‘root’).
La meilleure contremesure consiste à ne pas attribuer de droits permissifs à tous les utilisateurs. Un compte ne doit détenir que les droits dont il a besoin.
À ce stade, le système est complètement compromis et sous le contrôle de l’agresseur. S’il a correctement effectué l’étape précédente, son accès est persistant.
Il va maintenant tenter d’installer des outils lui permettant de gagner des accès ou d’automatiser des taches. Pour ce faire il va généralement essayer de contacter un serveur externe via un nom de domaine. Celui-ci est potentiellement identifiable à l’aide de bases connues, pour peu que l’on surveille les flux.
Encore et toujours, l’application des correctifs de sécurité et une action stratégique dans la défense de l’infrastructure, tant dans son périmètre extérieur que pour les systèmes qui le compose.
Pour atteindre son objectif, l’adversaire devra peut-être avoir besoin de se déplacer sur le réseau, cela s’appelle un ‘mouvement latéral’ ou un ‘pivot’. La meilleure barrière réside dans la bonne gestion du réseau notamment dans sa segmentation. Certaines zones et certaines machines ne doivent pas se côtoyer ni même être accessible l’une de l’autre, de manière logique ou physique.
Pour la post-détection, la recherche active d’IOC (Indicator Of Compromission) dans le ‘flux réseau’, le comportement des systèmes ou l’analyse des fichiers est un bon moyen d’y parvenir.
En résumé : on isole par la segmentation, on protège par l’interdiction et on détecte les indicateurs de compromission.
Ici encore, l’inspection des paquets SSL apporte une aide significative.
7. Actions on Objectives
But recherché : C’est le but recherché
Si aucune mesure n’a permis de mettre un terme à l’attaque, l’intru est maintenant en capacité d’atteindre son but.
D’après des études statistiques effectuées par « Verizon ». L’attaquant peut rester des mois dans un système d’information avant d’être détecté !
Il détient à ce stade toute latitude pour exploiter le système et y commettre son but recherché. Il peut s’agir :
- d’espionnage,
- de modifications des données,
- de leak ou d’exfiltration des données,
- de neutralisation,
- de chantage,
- du déploiement d’un ransomware dans le but de demander une rançon,
- etc… .
L’attaquant aura potentiellement déjà eu le temps de compromettre de nombreuses zones, il ne restera alors que la restauration de sauvegardes pour sauver l’infrastructure. Il est alors indispensable de mettre en amont une politique de sauvegarde résiliente à ces événements. Les sauvegardes doivent être conservées en dehors du système informatique et doivent demeurer inatteignables.
J’espère que cet article vous a plu, n’hésitez pas à le partager sur vos réseaux ! =)
sources :
- https://youtu.be/bDJb8WOJYdA (USENIX Enigma 2016 - NSA TAO Chief on Disrupting Nation State Hackers)
- https://thecisoperspective.com/index.php/2020/03/27/breaking-the-kill-chain-a-defensive-approach/