Temps de lecture : 5 min
Pour comprendre ce qu’est une compétition CTF, quoi de mieux que de faire un exercice réel ?
Je vais donc vous présenter la mission “Welcome” de BattleHack. Dans cette passionnante aventure de hacking éthique, vous serez plongé au cœur d’un environnement virtuel rempli de défis stimulants. La mission “Welcome” est conçue pour les débutants. Vous pourrez tester vos compétences en résolution de problèmes, votre capacité à rechercher des vulnérabilités.
Soyez prêt à vous plonger dans le monde captivant des CTF et à développer vos compétences en sécurité informatique tout en vous amusant. Alors, préparez-vous à relever le défi et à devenir un véritable maître du CTF avec la mission “Welcome” de BattleHack !
Dans cette première mission, votre instructeur vous guidera pas à pas pour vous donner un aperçu du jeu... Pour participer à la compétition, vous devrez démontrer vos compétences. Pouvez-vous vous connecter à cette machine ? Cela devrait être facile, mais nous sommes gentils, alors voici les informations que nous connaissons à ce sujet : Le nom d'utilisateur doit être seela. Le mot de passe utilisé est faible.
Le scanning fait référence à la pratique de recherche et d’exploration des systèmes informatiques cibles pour identifier les services et les ports ouverts. C’est une étape cruciale lors de la préparation d’une attaque ou de la résolution de défis en CTF. Cela nous permet de voir par où commencer pour attaquer la machine.
Pour ça, nous allons utiliser NMAP, l’outil le plus populaire en matière de scan réseau
nmap -sC -sV
Cette commande nous permet de scanner tout ce qui se trouve sur la machine cible. Pour faire simple :
Le paramètre -sC est utilisé pour effectuer un “scan de scripts par défaut”. Lorsqu’il est activé, Nmap exécute une série de scripts prédéfinis qui permettent de détecter automatiquement des vulnérabilités et des informations spécifiques sur les services ouverts sur les hôtes cibles. Ces scripts fournissent des informations supplémentaires sur les cibles et peuvent aider à identifier des failles potentielles dans les services en cours d’exécution.
Le paramètre -sV est utilisé pour effectuer un “scan de version”. En activant cette option, Nmap tente d’identifier les versions des services réseau qui s’exécutent sur les ports ouverts des cibles. Cela peut être utile pour déterminer les versions spécifiques des logiciels utilisés, ce qui peut être crucial pour évaluer les vulnérabilités connues et déterminer la meilleure approche pour une exploitation réussie.
On voit que le port 22 SSH est ouvert ! Nous allons donc essayer de trouver comment se connecter à la machine via ce protocole.
L’énumération consiste à collecter activement des informations sur les cibles potentielles, telles que les hôtes, les services et les utilisateurs, afin de découvrir des vulnérabilités et des points d’entrée pour mener une attaque. Cela implique de rechercher de manière systématique et ciblée des informations qui pourraient être utiles pour progresser dans le CTF, comme des noms d’utilisateurs, des mots de passe faibles, des numéros de version de logiciels, des partages de fichiers, etc. L’énumération joue un rôle clé pour planifier une approche stratégique et efficace lors de la résolution de défis en CTF.
Ici, l’auteur de la mission nous a donné un indice, le nom d’utilisateur pour se connecter en SSH est seela
Sans cet indice, nous aurions dû chercher à droite à gauches des informations pour retrouver ce nom d’utilisateur.
On peut essayer de se connecter avec une attaque par bruteforce pour tester tous les mots de passe d’un dictionnaire. Et c’est dans la phase suivante que nous allons mettre notre plan à exécution.
L’exploitation consiste à utiliser les failles et les vulnérabilités découvertes lors de l’énumération pour prendre le contrôle des cibles ou accéder à des informations sensibles. Cela implique de mettre en œuvre des attaques ciblées et des techniques spécifiques pour exploiter les points faibles et résoudre les défis du CTF. L’exploitation est la phase finale cruciale où les participants démontrent leur expertise en sécurité informatique en utilisant les failles trouvées pour atteindre les objectifs du CTF, tels que l’obtention de drapeaux ou de récompenses spécifiques.
Nous allons donc essayer de nous connecter via une attaque par bruteforce. Pour ça, nous allons utiliser l’outil Hydra, et le dictionnaire de mot de passe rockyou.txt, qui regroupe l’ensemble des mots de passe les plus utilisés.
hydra -l seela -P /usr/share/wordlists/rockyou.txt -t 4 ssh://ip_machine
En résumé, cette commande Hydra tente de se connecter à la machine distante via SSH en utilisant le nom d’utilisateur “seela” et en testant une liste de mots de passe à partir du fichier “rockyou.txt”.
Magnifique, on a trouvé le mot de passe ! C’est tout simplement rockyou. On peut maintenant se connecter en SSH, et voir que nous sommes l’utilisateur seela.
Mais la mission n’est pas finie, nous n’avons pas encore tous les droits sur la machine, il faut qu’on arrive à se connecter en tant que root !
Pour ça, on peut exécuter la commande “sudo -l”. Cela permet de vérifier quelles commandes spécifiques nous sommes autorisés à exécuter avec les privilèges root (administrateur) en utilisant la commande “sudo”. Cette information est précieuse car elle nous permet de savoir quelles opérations spéciales nous pouvons effectuer sans avoir à connaître le mot de passe du superutilisateur (root).
Une fois que nous connaissons les commandes que nous pouvons exécuter avec “sudo”, nous pouvons chercher des vulnérabilités ou des erreurs de configuration dans ces commandes pour essayer d’exploiter l’une d’elles. Si nous réussissons à exploiter une de ces commandes, nous pourrons obtenir des droits d’accès élevés et atteindre les objectifs du CTF, tels que l’obtention de drapeaux ou la résolution de la mission donnée.
sudo -l
On voit qu’on peut utiliser find en tant que root.
Si on cherche sur internet, on trouve justement un vulnérabilité avec find.
Si on tape ce code, on aura alors un accès total à la machine en tant que root
sudo find . -exec /bin/sh \; -quit
Voici comment cela fonctionne :
“sudo“: La commande “sudo” est utilisée pour exécuter la commande “find” avec des privilèges root (administrateur), ce qui signifie que nous aurons accès à des fonctionnalités avancées et à des fichiers sensibles.
“find .”: Cette partie indique à la commande “find” de commencer à chercher à partir du répertoire courant (“.”) et de parcourir récursivement tous les fichiers et dossiers sous ce répertoire.
“-exec /bin/sh ;”: C’est la partie clé de l’exploitation. Elle dit à la commande “find” d’exécuter le shell interactif “/bin/sh” pour chaque fichier trouvé. En exploitant une certaine vulnérabilité de configuration, cela nous permet d’obtenir un shell interactif avec des privilèges élevés.
“-quit”: Cette option indique à la commande “find” de s’arrêter dès qu’un fichier est trouvé et que le shell a été exécuté une fois. Cela est important car nous ne voulons pas continuer à parcourir tous les fichiers une fois que nous avons obtenu un shell interactif.
Et voilà, vous avez réussi votre premier CTF ! Bravo 🍾
Si vous voulez le refaire de votre côté, inscrivez-vous à BattleHack, le mode campagne est gratuit avec plus de 30 missions !
Et si vous souhaitez vous former au CTF, cela se passe directement avec notre formation Ethical Hacker sur CyberTraining.
Commencez votre formation en cybersécurité !
100% en ligne
Théorie & Pratique
Personnalisé par niveau
Commencez votre formation en cybersécurité
Formation
Carrière
Cybersécurité
100% en ligne
Donnez un nouveau souffle à votre carrière avec nos formations cybersécurité
La certification qualité a été délivrée au titre de la catégorie
« ACTIONS FORMATION »
© Seela – 24/11/2022
Organisme de formation
N°11755030075
Cet enregistrement ne vaut pas agrément de l’Etat.
Le certificat Qualiopi est disponible sur ce lien
A propos
Ressources