• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 14/11/2024

Découvrez le principe d’un test d’intrusion

Découvrez ce qu’est un test d’intrusion

Un test d’intrusion est une forme particulière d’audit qui appartient à la grande famille de la sécurité offensive (parfois abrégée en “offsec”, en anglais). 

Un test d’intrusion permet de :

  1. Vérifier si un système est vulnérable.

  2. Comprendre comment ces vulnérabilités peuvent être découvertes et exploitées (et le cas échéant, en combien de temps).

  3. Faire des recommandations pour mieux protéger le système.

Connaître les termes anglais est important pour ce cours, car la majorité des ressources que vous trouverez sont en anglais, tout comme les plus grosses conférences sur le sujet (DEF CON, Black Hat pour ne citer qu’elles). Pour autant, la France n’est pas en reste et vous pourrez rencontrer et discuter avec d’autres pentesteurs à des conférences comme le SSTIC, ou la Hack in Paris.

Les meilleurs hackers viennent du monde entier ! La langue d’échange et de partage des connaissances est donc par défaut l’anglais.

Comprenez l’intérêt du test d’intrusion

Pourquoi les entreprises commandent-elles des tests d’intrusion ?

Dans un monde parfait, personne n’aurait besoin de faire des tests d’intrusion.

Seulement voilà :

  1. L'erreur est humaine, que ce soit dans l'écriture du code d'une application, la configuration d'un système, le paramétrage d'un réseau…

  2. Les moyens et techniques d'attaque évoluent sans cesse : ce qui est sécurisé à un instant t peut devenir vulnérable dans le temps.

  3. Les tentatives d'attaque sont permanentes, et nombreuses sont les personnes mal intentionnées qui exploitent les faiblesses des systèmes pour les compromettre.

Par conséquent, toutes les entreprises développant ou intégrant des solutions devraient - idéalement - faire un test d’intrusion au moins avant la mise en production, et s’assurer que leur système ne contient pas de vulnérabilité qui pourrait être exploitée.

Les entreprises ne font donc pas toutes des tests d’intrusion, en fait ?

Non… mais les entreprises les plus matures sur le sujet de la cybersécurité ont commencé à standardiser l’approche. Vous pouvez être quasi certain que l’application de votre banque rentre dans cette catégorie.

À ce propos, découvrez le témoignage de Rawia Salem, chef de mission Audits Cybersécurité. Elle commande régulièrement des tests d’intrusion car elle a bien compris leur intérêt pour l’entreprise. Cela vous permettra de comprendre le point de vue d'un client sur le sujet, et ce que ça lui apporte :

Découvrez les différents types de tests d’intrusion

On en recense traditionnellement 3 différentes approches ou catégories de tests d’intrusion :

  • boîte noire / black box ;

  • boîte grise / grey box ;

  • boîte blanche / white box.

Ces approches se comprennent bien grâce à l’image qu’on s’en fait : plus on est dans le noir pour faire le test, moins on a d’informations.

Boîte noire = un attaquant externe a peu de connaissances sur l'application. Boîte grise = un utilisateur malveillant a des connaissances partielles sur l'application. Boîte blanche = le développeur a des connaissances approfondies sur l'application.
Les différents types de tests d'intrusion

Simulez l’attaquant externe avec l’approche boîte noire

Dans un test d’intrusion "boîte noire”, le pentester se met dans la peau d’un attaquant qui n’a pas ou a peu d'informations sur l’application : une simple URL, l'adresse IP du serveur cible, ou encore le site vitrine de l'entreprise.

L’objectif est de montrer au client ce que peut faire un attaquant depuis internet, s’il décide de s’intéresser de près à l’application.

Simulez l’utilisateur malveillant avec l’approche boîte grise

Dans l’approche boîte grise, l’objectif est double :

  1. accélérer le test d’intrusion en donnant plus d’informations au pentester,

  2. et simuler les actions d'un “utilisateur malveillant”.

Cela permet de tester la partie authentifiée de l’application, et de détecter des problèmes liés au cloisonnement entre les utilisateurs. En effet, dans cette approche, on possède généralement un ou plusieurs comptes utilisateurs avec des droits et des périmètres différents, pour simuler différents types d’utilisateurs.

Sans l’approche boîte grise, on risque de ne pas tester tout un pan de l’application : il arrive fréquemment d’avoir une vulnérabilité dans la partie authentifiée, voire dans la partie réservée aux administrateurs (ce qui permettrait par exemple de prendre le contrôle du serveur ou d’extraire le contenu d'une base de données).

Restez le plus exhaustif possible avec l’approche boîte blanche

L’approche boîte blanche consiste à demander au client tout ce qui peut donner des informations sur l’application : documentation, schémas d’architecture, code source, etc.

L'objectif n’est plus vraiment de simuler le travail d’un attaquant externe ou d’un utilisateur malveillant, mais bien de détecter le maximum de vulnérabilités (dans le temps imparti) à partir d’éléments qu’un attaquant n’aura normalement jamais. On se rapproche alors de l’activité d’audit.

Mais alors, test d'intrusion et audit de sécurité, c’est la même chose ?

Différenciez "test d'intrusion" et "audit de sécurité"

Un test d’intrusion ne permet pas de se positionner sur la sécurité des processus et de l’organisation qui en découle :

  • les sauvegardes sont-elles correctement gérées ?

  • la détection est-elle bien implémentée ?

  • les différentes procédures sont-elles écrites et cohérentes ?

Toutes ces questions sont traitées lors d’un audit. Un auditeur réalise (en plus – ou à la place – de tests techniques) des analyses documentaires et des entretiens avec les développeurs, propriétaires de l’application et responsables d’exploitation.

Différenciez "bug bounty", "red team" et "test d'intrusion"

Dans le bug bounty, les pentesters sont payés à la vulnérabilité trouvée. Dans un test d’intrusion, ils sont payés au temps passé, quel que soit le nombre de vulnérabilités trouvées.

Les objectifs de la red team sont plus complexes qu'un test d'intrusion (même si les compétences techniques se rejoignent). Il s'agit d'entrer sur le système d’information et de récupérer des droits d’administration ou des données confidentielles, sans se faire repérer. Cela permet à l'entreprise de :

  • voir si les attaquants peuvent entrer ;

  • s’ils peuvent entrer, voir s’ils se font détecter ;

  • s’ils se font détecter, voir la réponse qui est donnée à l’attaque.

Une red team a surtout pour objectif de tester la réponse de l’entreprise face à une attaque avancée.

Réalisez un test d’intrusion web

Dans ce cours, nous allons nous concentrer sur le test d’intrusion web (Il s'agit d'un test d'intrusion réalisé sur une application web). Nous apprendrons à le faire selon les approches boîte noire et boîte grise. (La boîte blanche ne sera pas traitée dans ce cours, car elle demande des compétences en analyse de code et d’architecture.)

En résumé

  • Un test d’intrusion (pentest) est un exercice borné dans le temps, dont l'objectif consiste à se mettre dans la peau d’un attaquant pour identifier les vulnérabilités d’un système ou d’une application.

  • Il existe plusieurs approches (boîte noire / grise / blanche) qui se complètent.

  • Il existe différentes activités liées aux tests d’intrusion mais qui répondent à des besoins différents (comme le bug bounty ou la red team).

  • Les tests d’intrusion sont importants car ils permettent de repérer les potentielles failles et vulnérabilités afin de les corriger et de mieux sécuriser les applications.

Dans ce cours, nous allons parcourir les différentes phases d’un test d’intrusion, de son cadrage à sa restitution. Mais au delà de ça, nous allons apprendre ensemble la posture qu’il faut avoir et les questions qu’il faut se poser. C'est justement ce que l'on va voir dans le chapitre suivant !

Exemple de certificat de réussite
Exemple de certificat de réussite