Introduction aux plateformes de CTF
What's going on guys, c'est Zack et bienvenue dans cette nouvelle leçon dans laquelle on va aborder un concept fondamental pour votre parcours de testeur d'intrusion.
Tout au long de ce cours, nous avons vu différents aspects théoriques et pratiques de la cybersécurité et des tests d'intrusion.
Cependant, la théorie ne suffit pas.
Pour décrocher un poste ou évoluer en cybersécurité, que ce soit en tant que pentesteur, analyste malware ou analyste SOC, vous devez impérativement acquérir de l'expérience pratique sur différentes technologies.
Pour acquérir cette expérience pratique, deux voies s'offrent à vous.
La première consiste à monter votre propre laboratoire physique en achetant le matériel et les logiciels nécessaires (routeurs, switchs, pare-feu, serveurs, etc.).
C'est une excellente méthode, mais elle s'avère extrêmement coûteuse et tout le monde ne peut pas se le permettre.
La seconde solution, bien plus accessible et productive, consiste à utiliser des plateformes d'entraînement en ligne.
Ces plateformes hébergent pour vous des dizaines de serveurs, de systèmes d'exploitation (Windows, Linux, macOS) et de logiciels vulnérables.
Certaines sont entièrement gratuites, d'autres proposent des abonnements annuels très abordables (entre 100 et 200 dollars par an) pour accéder à des laboratoires complets et progresser à votre rythme.
Parmi ces plateformes, les environnements de CTF (Capture The Flag) sont les plus populaires en hacking éthique.
Un CTF est un challenge dans lequel vous devez énumérer un système, identifier ses failles, les exploiter pour vous y introduire, puis trouver un fichier contenant un code unique appelé « flag » (drapeau) pour valider votre réussite.
Je recommande principalement trois plateformes de ce type : VulnHub, Hack The Box et TryHackMe.
VulnHub est une plateforme entièrement gratuite et ouverte.
Vous n'avez même pas besoin d'y créer un compte.
Il vous suffit de télécharger des machines virtuelles vulnérables sous forme de fichiers `.ova` ou `.vmdk`, de les importer dans votre hyperviseur local (comme VirtualBox ou VMware) et de commencer votre test d'intrusion.
Hack The Box et TryHackMe, en revanche, hébergent les machines dans le cloud.
Voyons sur mon écran comment se présentent ces plateformes.
Tout d'abord, VulnHub.com propose des centaines de challenges téléchargeables.
Par exemple, la dernière machine en date est « Morphus » de la série « Matrix Breakout ».
Le site fournit la description du challenge, l'hyperviseur recommandé, ainsi que le niveau de difficulté (ici Medium/Hard).
Si vous débutez, je vous conseille vivement de filtrer par niveau « Easy » pour vous familiariser avec le concept des CTF.
Le seul inconvénient de VulnHub est qu'il nécessite de télécharger des fichiers volumineux, ce qui peut poser problème si vous avez une connexion internet limitée.
Ensuite, Hack The Box est une plateforme de référence pour le perfectionnement en cybersécurité (« Cybersecurity Upskilling Platform »).
Elle propose plusieurs sections : Hack The Box Academy (qui propose des modules de cours interactifs par thème, comme la sécurité web ou le reverse engineering, combinant théorie et exercices pratiques), ou encore des challenges et des machines autonomes à lancer directement dans leur infrastructure.
Hack The Box peut toutefois s'avérer un peu complexe et son coût annuel d'abonnement complet est plus élevé.
C'est pourquoi TryHackMe est mon coup de cœur et le choix idéal pour les débutants.
C'est la plateforme que j'utilise personnellement au quotidien pour continuer à apprendre et perfectionner mes compétences en test d'intrusion.
TryHackMe propose une large sélection de salles d'entraînement (les « rooms ») gratuites ou payantes.
L'abonnement annuel est très abordable (environ 90 dollars par an, pouvant passer à 130 ou 140 dollars selon les périodes), ce qui reste bien moins cher que d'autres solutions.
TryHackMe compte aujourd'hui près de 2 millions d'utilisateurs.
Sur votre tableau de bord, vous pouvez voir votre classement général (par exemple, je suis actuellement au rang 738), votre niveau et vos points qui augmentent à chaque salle complétée.
La plateforme propose également une fonction sociale pour ajouter des amis, suivre leur progression et voir sur quelles salles ils s'entraînent.
Je vous mettrai le lien de mon profil dans les ressources si vous souhaitez m'ajouter.
L'un des points forts de TryHackMe est la présence de parcours d'apprentissage structurés (Learning Paths).
Si vous êtes débutant absolu, vous pouvez suivre le parcours « Introduction to Cyber Security ».
Il vous guidera à travers les concepts réseau et système de base indispensables avant de vous lancer dans le pentest.
Si vous préférez la défense, vous avez le parcours « SOC Analyst ».
Ces parcours vous mèneront pas à pas vers votre objectif.
Vous pouvez également rechercher des salles spécifiques dans l'onglet « Search ».
TryHackMe propose actuellement plus de 630 salles.
J'en ai moi-même complété plus de 400.
Dans vos recherches, vous pouvez filtrer la difficulté sur « Easy » pour débuter.
Par exemple, la salle « Blue » est un excellent exercice pour apprendre à exploiter la vulnérabilité EternalBlue.
En lançant la machine sur TryHackMe via le bouton vert « Start Machine », celle-ci démarre sur leurs serveurs.
Pour les utilisateurs disposant d'un ordinateur peu puissant qui ne peut pas faire tourner de machines virtuelles en local, TryHackMe propose également de lancer une machine d'attaque Kali Linux directement depuis votre navigateur web grâce à la fonction « Split View ».
C'est une option extraordinaire.
Pour vous connecter aux machines cibles de TryHackMe depuis votre propre Kali Linux, vous devez utiliser leur VPN.
Allez dans la section « Access » pour télécharger votre fichier de configuration OpenVPN (par exemple `zack.ovpn`).
Ouvrez ensuite votre terminal, placez-vous dans votre dossier de téléchargements, passez en root et lancez la commande `openvpn zack.ovpn`.
Une fois que vous voyez la ligne « Initialization sequence completed », la connexion est établie.
Vous verrez alors votre adresse IP de VPN s'afficher dans l'interface de votre terminal, ce que vous pouvez également valider avec la commande `ifconfig` sur l'interface `tun0`.
Pour vérifier la connectivité, vous pouvez pinger l'adresse IP interne de TryHackMe (`10.10.10.10`).
C'est un excellent réflexe à prendre car il arrive parfois que des coupures VPN surviennent pendant un CTF, ce qui vous empêche de communiquer avec la cible.
Une fois connecté, vous pouvez rafraîchir la page de TryHackMe et commencer à auditer la machine cible.
Si vous utilisez la machine d'attaque de la plateforme en Split View, vous y trouverez tous les outils de sécurité indispensables pré-installés : BloodHound, Postman, Metasploit, Burp Suite, etc.
Le seul obstacle potentiel pour certains est que la plateforme est entièrement en anglais.
Je vous encourage vivement à travailler votre anglais technique, car c'est la langue universelle en cybersécurité.
Cependant, pour débuter, vous pouvez utiliser des extensions de navigateur comme Google Translate pour traduire les pages en français.
Enfin, TryHackMe propose un classement compétitif (Leaderboard) où vous pouvez suivre les meilleurs joueurs mondiaux ou par pays, comme le célèbre hacker 0day.
Plus vous résoudrez de challenges, plus vous monterez dans ce classement.
L'entraînement sur ces plateformes vous permettra d'acquérir des compétences solides sur des technologies variées : réseaux Windows Active Directory, serveurs Linux, IoT (Internet of Things), SCADA, etc.
Dans les prochaines leçons de ce module, nous allons réaliser ensemble deux tests d'intrusion complets : l'un sur une machine Linux et l'autre sur une machine Windows.
Je vous laisse découvrir la plateforme et créer votre compte.
Si vous avez des questions, posez-les en commentaire.
On se retrouve dans la prochaine leçon !