Rechercher
Fermer ce champ de recherche.

Vous êtes victime d’un incident de sécurité ? Contactez notre CERT

31/03/2021

Blog technique

Retour d’expérience de tests d’intrusion internes

Equipe Audit

Essor du numérique, diversification des surfaces d’exposition, multiplication des cyberattaques… Depuis plusieurs années, la sécurité informatique est devenue une composante essentielle de l’administration d’un Système d’Information (SI). Une des bonnes pratiques à avoir est d’auditer le SI de façon régulière afin d’identifier les failles et les vulnérabilités du système en vue de les corriger. L’un des objectifs de l’audit est de pouvoir établir un plan d’action en termes de sécurité du SI, à court, moyen et long terme. Voici un retour d’expérience de nos audits internes.

Divers événements récents mettent en lumière l’importance de la sécurité informatique dans la protection des données. De nombreux guides ont d’ailleurs été publiés par l’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI), notamment le Guide d’Hygiène Informatique, pour sensibiliser et expliquer simplement les premières étapes de durcissement d’un Système d’Information (SI). Il peut cependant être compliqué de prioriser les actions à mettre en œuvre.

Une des bonnes pratiques permettant de définir un plan d’action efficace est d’auditer ses SI de façon régulière afin d’identifier les failles et les vulnérabilités auxquelles celui-ci est exposé et de prioriser leurs remédiations.

Afin d’obtenir un état des lieux représentatif du niveau de sécurité de son SI exposé à Internet, il est recommandé de combiner différents types d’audits de sécurité : l’audit d’architecture donnant un avis sur l’implémentation, la défense périmétrique et le cloisonnement du SI, l’audit de configuration pour aller plus en profondeur sur le durcissement de certains équipements critiques ou génériques ou bien encore un test d’intrusion externe permettant, par simulation d’une attaque, de relever les faiblesses qui seraient ciblées par un attaquant externe.

Bien que le scénario d’une cyberattaque provenant d’Internet demeure le plus présent dans l’imaginaire collectif, il est considéré que la plupart des incidents de cybersécurité sont dus à des menaces internes. Que ce soit par malveillance (revanche, gains financiers…) ou par inadvertance (exécution d’une pièce jointe, installation d’un logiciel malveillant, clé USB piégée…). De plus, de nouveaux risques semi-internes sont apparus ces dernières années avec une utilisation de réseaux Wi-Fi parfois très étendus et la démocratisation du télétravail.

Le test d’intrusion interne est la méthode la plus employée chez AMOSSYS pour évaluer le niveau de sécurité des SI des entreprises qui nous sollicitent. L’objectif de ce type d’audit consiste à se connecter directement au sein du SI ciblé afin d’y simuler des attaques envers les actifs internes à l’entreprise. Les techniques d’attaque employées sont des techniques connues, actuelles et documentées. Ces mêmes techniques sont généralement celles utilisées par des malwares de type rançongiciel lors de leur propagation sur les SI.

Nous avons choisi de partager ici notre expérience en la matière pour expliquer les principales faiblesses que nous rencontrons chez nos clients et comment nous proposons d’y remédier par l’implémentation de « quick win ».

Cet article abordera plusieurs parties correspondant aux différentes phases d’un test d’intrusion interne. À chaque étape de la méthodologie, il est possible d’implémenter des mesures de sécurité pour freiner un attaquant. Ces mesures peuvent être symbolisées par l’image d’un mille-feuille. On parle alors de « défense en profondeur ».

1ère étape : la reconnaissance

La première étape de notre méthodologie d’audit est la reconnaissance. Cette phase consiste à se poser les questions suivantes :

  • Où suis-je ?
  • À quoi ai-je accès ?
  • Quels sont les protocoles réseau utilisés ?

Durant cette étape, les auditeurs utilisent des outils de reconnaissance réseau, comme « nmap » par exemple. L’objectif est d’effectuer une cartographie du SI en mettant en lumière les machines et services exposés. Un attaquant qui a accès à un réseau « à plat » a énormément de services à sa disposition. Il y a alors davantage de probabilité pour lui de trouver une vulnérabilité sur un des systèmes lui étant accessibles.

Afin de pallier ce problème, il est recommandé de cloisonner le réseau. Cela permet de segmenter le SI en sous-systèmes selon les différents rôles par exemple : SI Bureautique, SI d’administration, SI R&D, SI industriel, DMZ, etc. Lorsque le SI est correctement cloisonné, il est nécessaire d’y ajouter du filtrage entre les différentes zones afin d’en restreindre l’exposition. Ainsi, un attaquant n’aura accès qu’à une partie limitée du SI et ses accès vers les autres sous-systèmes seront réduits aux usages légitimes (service de mail, intranet, etc.). Il est également possible de contrôler l’accès logique au réseau en implémentant une authentification (802.1x par exemple). Il sera alors plus complexe pour un attaquant ayant un accès physique aux locaux de pouvoir se connecter au réseau informatique.

2ème étape : identifier et exploiter des vulnérabilités

Voici une énumération de quelques vulnérabilités régulièrement constatées sur les systèmes audités. Elles permettent d’obtenir un accès authentifié :

  • Utilisation de protocoles réseau non sécurisés,
  • Système d’exploitation, ou applicatifs non à jour et vulnérables à des codes d’exploitation publics (souvent référencés par un identifiant CVE),
  • Partages réseau ouverts donnant accès à des éléments d’authentification, des sauvegardes de mails, des scripts d’administrations, etc.

L’objectif du test d’intrusion est alors d’obtenir un maximum de privilèges pour avoir un impact théorique maximal sur le système d’information. Pour les environnements reposant sur un Active Directory (Microsoft), il s’agit idéalement d’obtenir des droits « administrateur du domaine » qui correspondent à une compromission de tous les équipements de l’environnement.

Durant cette étape, différents outils sont alors utilisés comme crackmapexec, metasploit, impacket etc.

Lorsque l’on parle de protocoles réseau non sécurisés, il est nécessaire de prendre en compte les accès Web HTTP, mais aussi HTTPS lorsque ceux-ci utilisent des certificats n’étant pas de confiance. Ils peuvent en effet être usurpés et donnent la mauvaise habitude d’ajouter des exceptions de sécurité sur le navigateur pour accéder au service. Pour s’en protéger il est recommandé de proposer du chiffrement lorsque cela est possible et d’utiliser des certificats signés par l’autorité interne (PKI). S’il n’est pas possible de sécuriser ces protocoles, il faut alors en limiter l’accès au strict minimum par le filtrage. Les environnements Windows utilisent par défaut des protocoles de résolution de nom décentralisés, comme LLMNR et NBT-NS. Ceux-ci peuvent être exploités par un attaquant à l’aide d’attaque par relai (aussi appelée NTLM Relay). S’ils ne sont pas utilisés, il est recommandé de les désactiver. À noter qu’il existe également une autre mesure technique pour éviter ce type d’attaque : l’activation de la signature SMB sur tous les postes du domaine Active Directory.

L’application régulière de mises à jour permet par ailleurs de se prémunir contre les vulnérabilités ayant été publiées. Si une adhérence logicielle est présente et empêche l’application d’une mise à jour, le filtrage des accès à cette application est recommandé afin d’en limiter le risque d’exploitation.

Pour se prémunir de l’accès à des fichiers sensibles sur des partages réseau, il est recommandé de contrôler les droits sur ses services. Par exemple, un utilisateur n’étant lié à aucun groupe ou service (RH, administration…) ne doit disposer d’aucun droit métier et chaque droit accordé doit faire l’objet d’un besoin métier identifié (accès aux sauvegardes, aux fiches de paie…).

Pour aller plus loin, l’accès aux données de sauvegarde peut être considéré comme un second objectif. Si tel est le cas, un attaquant peut alors détruire ces données, empêcher la restauration du système d’information et ainsi avoir un impact décuplé.

Sur ce schéma, la méthodologie globale est détaillée avec une phase non authentifiée (en gris), puis une phase authentifiée en tant qu’utilisateur (en jaune). La dernière phase (en rouge) implique quant à elle la compromission d’un compte disposant de privilèges élevés (ex. : administrateur du domaine). Ces deux cycles sont composés d’une phase de reconnaissance, d’identification et d’exploitation des vulnérabilités, comme énoncées précédemment.

Quelques vulnérabilités accessibles uniquement de manière authentifiée sont récurrentes :

  • Utilisation de mot de passe faible sur les comptes de services (attaque Kerberoast) ;
  • Mot de passe dans l’attribut « description » au niveau des objets utilisateur de l’Active Directory ;
  • Comptes ayant un mot de passe faible/identique à son nom de compte ;
  • Identifiants présents dans des fichiers sur des partages réseau ;
  • Utilisation du même mot de passe pour l’administration locale des postes de travail ;
  • Utilisation de compte à haut niveau de privilèges sur des postes ou serveurs très utilisés.

Afin de pouvoir réagir en cas d’exploitation d’une vulnérabilité, il est recommandé d’implémenter des mécanismes de détection d’attaques, en complément des mesures énoncées précédemment.

3ème et dernière étape : la post-exploitation

La dernière étape d’une attaque consiste à effectuer l’action recherchée : déploiement d’un malware, vol d’informations sensibles, etc. Cette étape est appelée post-exploitation. Durant nos audits, nous nous intéressons aux événements redoutés afin d’avoir des exemples d’impacts efficaces et liés au métier : accès à des données sensibles, à des données de santé, au processus industriel, etc.

Nous avons aussi pris pour habitude d’extraire les hashs des mots de passe des utilisateurs du domaine, lorsque ceux-ci ne sont pas stockés de manière réversible… Le but est d’évaluer l’application de la politique de mot de passe, mais aussi la sensibilisation des utilisateurs, en essayant de casser ces hashs à l’aide de dictionnaires. Ces dictionnaires peuvent être génériques, mais aussi contextualisés en fonction de l’environnement du client.

Généralement, 30 à 50% des mots de passe sont obtenus en l’espace de quelques jours, sans équipement particulier.

L’application d’une politique de mot de passe robuste accompagnée d’une sensibilisation régulière des collaborateurs d’une entreprise permet donc d’assurer un premier niveau de sécurité au niveau des accès au SI.

En résumé, les nombreuses mauvaises pratiques d’administration ou défauts de configuration peuvent être exploités par un attaquant afin de porter atteinte à votre entreprise. Des mesures simples, comme l’application de mises à jour, la sensibilisation des utilisateurs, la mise en place de filtrages efficaces entre différentes zones du réseau permettent d’élever significativement le niveau de sécurité de votre SI. Le test d’intrusion interne permet d’évaluer votre niveau de sécurité de manière pragmatique en quelques jours et de vous fournir un plan d’action qui vous permettra de réduire le risque et l’impact d’une cyberattaque.

Cet article vous a plu ? Vous souhaiteriez en savoir davantage pour réaliser un test d’intrusion interne ou tout autre audit de sécurité sur votre SI ? Contactez-nous !

Voir les derniers articles du Blog technique

11 avril 2024
M&NTIS Platform est une solution SaaS destinée au test d'efficacité de produits de défense (AV, EDR, sondes réseau/NDR, SIEM, XDR, ...) et d'architectures de supervision. Une nouvelle version majeure de la plateforme vient de sortir.
25 mars 2024
Through this article, we propose a way to find LPE in Windows applications, by using SysInternals tools. What and how to look at? How to exploit in an easy and quick way?
31 janvier 2024
During the inter-CESTI challenge organized by ANSSI, many vulnerabilities were included to test our abilities to find them and, if possible, to exploit them. In this article, we explore one vulnerability that we found during the original challenge, and explainhow we exploited it: can we find a secret key from a singlesignature?
4 décembre 2023
Find here the crypto and reverse challenges that our teams created for the European Cyber Week pre-qualification and qualification tests of CTF, a recognized cybersecurity event that took place in Rennes from November 21 to 23, 2023.
29 mars 2023
On the 24th of January, AMOSSYS and Malizen put together a Blue Team CTF, for the SupSec seminar organized by Inria. In this blog post, we explain how we, at AMOSSYS, generated the dataset used in this challenge.
20 décembre 2022
Find here the crypto and web challenges that our teams created for the European Cyber Week pre-qualification tests of CTF, a recognized cybersecurity event that took place in Rennes from November 15 to 17, 2022.
22 novembre 2022
Find here the write-ups of the crypto and web challenges that our teams created for the European Cyber Week pre-qualification tests of CTF
14 septembre 2022
This article starts with a quick overview on NIDS (Network Intrusion Detection System) evasions to remind what it is and why it could happen.
18 septembre 2020
Depuis plusieurs années, l'écosystème informatique a dû faire face à une recrudescence de compromissions de systèmes d'informations par des rançongiciels, ou cryptolockers, qui s'introduisent principalement par des méthodes automatiques (_spear phishing_, etc.).
12 août 2020
We will discuss the feasibility in real world of the Spectre V1 flaw from a cross-process, userland perspective.