Retour aux projets

RAPPORT DE TEST D'INTRUSION

Machine cible Basic Pentesting — TryHackMe (parcours SEC 101)

Exercice réalisé dans le cadre de la préparation à la certification SEC 101 TryHackMe.

Machine cible Basic Pentesting (TryHackMe)
IP cible 10.129.187.21
Type de test Boîte noire (black box)
Pentester Julien PINOT
Date Avril 2026
Cadre Certification SEC 101 — TryHackMe
Classification Confidentiel

1. Résumé Exécutif

Ce rapport documente les résultats d'un test d'intrusion réalisé sur la machine « Basic Pentesting » de TryHackMe (IP : 10.129.187.21), dans le cadre de la préparation à la certification SEC 101. L'objectif était d'obtenir un accès complet en chaînant plusieurs vulnérabilités : informations exposées en clair, authentification SSH faible, et récupération d'une clé privée protégée par un mot de passe faible.

CRITIQUE Niveau de risque global
7 Vulnérabilités identifiées
2 Comptes compromis (jan + kay)
100% Compromission de la machine

Constat principal : aucune faille isolée n'aurait suffi à compromettre la machine, mais leur combinaison (fichiers exposés, mot de passe SSH faible, permissions incorrectes sur une clé privée, secrets en clair) a permis une compromission complète en chaînant six étapes d'exploitation.

2. Périmètre et Méthodologie

2.1 Périmètre

  • Adresse IP cible : 10.129.187.21
  • Type de test : Boîte noire (aucune information préalable)
  • Contexte : TryHackMe — Basic Pentesting (préparation SEC 101)

2.2 Méthodologie

  1. Reconnaissance — scan de ports, détection de services
  2. Énumération web — gobuster sur port 80
  3. Énumération SMB — analyse des partages anonymes
  4. Exploitation — brute force SSH avec Hydra
  5. Post-exploitation — analyse des fichiers accessibles
  6. Escalade de privilèges — clé privée SSH + crackage (John the Ripper)
Nmap Gobuster smbclient Hydra ssh2john John the Ripper rockyou.txt

3. Reconnaissance

3.1 Scan de ports (Nmap)

nmap -p- -T4 -sV -sC 10.129.187.21
Port État Service Version
22/tcpopenSSHOpenSSH 8.2p1
80/tcpopenHTTPApache 2.4.41
139/tcpopenSMB (NetBIOS)Samba 4.6.2
445/tcpopenSMBSamba 4.6.2
8009/tcpopenAJP13Apache JServ 1.3
8080/tcpopenHTTPApache Tomcat 9.0.7

Observations notables : Samba (partages potentiellement exposés), Apache Tomcat 9.0.7 (version ancienne, vulnérable) et serveur AJP exposé (port 8009, vecteur Ghostcat — CVE-2020-1938).

3.2 Énumération Web — Gobuster (port 80)

gobuster dir -w directory-list-2.3-medium.txt -u http://10.129.187.21/ -x php,js,txt

Répertoire /development découvert (HTTP 301). Fichiers récupérés :

  • dev.txt — journal interne contenant des informations sensibles
  • j.txt — message mentionnant un mot de passe faible pour l'utilisateur J

Extraits pertinents de dev.txt :

2018-04-23: Struts 2.5.12 installé (version vulnérable). -K
2018-04-22: SMB configuré. -K
2018-04-21: Apache installé. -J

Extrait de j.txt :

J'ai pu cracker ton hash facilement. Change ton mot de passe ASAP. -K

Conclusion : deux utilisateurs identifiés — K (Kay) et J (Jan). Jan a un mot de passe faible confirmé par Kay elle-même.

3.3 Énumération SMB

smbclient -L //10.129.187.21
smbclient //10.129.187.21/Anonymous -N

Partage Anonymous accessible sans authentification. Fichier récupéré : staff.txt.

Announcement: PLEASE do not upload non-work-related items to this share.
(This means you too, Jan!) -Kay

Confirmation des identités : K = Kay, J = Jan.

4. Exploitation — Accès Initial

4.1 Brute force SSH — compte Jan

Partant du constat que Jan possède un mot de passe faible, une attaque par dictionnaire a été menée avec Hydra :

hydra -l jan -P /usr/share/wordlists/rockyou.txt 10.129.187.21 ssh -vV
Utilisateur Mot de passe
janarmando

Résultat : shell SSH obtenu en tant que jan.

5. Post-Exploitation et Escalade de Privilèges

5.1 Découverte de la clé privée de Kay

Depuis le compte jan, exploration du répertoire home de kay :

ls -la /home/kay/.ssh/

La clé privée id_rsa de Kay était lisible par jan (permissions 644). Cette piste a été identifiée avec aide extérieure. La clé était chiffrée (AES-128-CBC) et nécessitait un mot de passe pour être utilisée.

5.2 Crackage de la clé privée (John the Ripper)

ssh2john id_rsa > key_hash.txt
john --wordlist=/usr/share/wordlists/rockyou.txt key_hash.txt
Fichier Passphrase trouvée
id_rsa (clé de Kay)beeswax

5.3 Connexion SSH en tant que Kay

ssh -i id_rsa kay@10.129.187.21   # passphrase : beeswax

5.4 Récupération du mot de passe de Kay

Depuis le home de Kay, un fichier pass.bak était présent :

$ cat pass.bak
heresareallystrongpasswordthatfollowsthepasswordpolicy$$

Compromission totale du compte Kay.

6. Synthèse des Vulnérabilités

1. Mot de passe SSH faible (jan / armando) Critique

Impact : accès initial au système via brute force dictionnaire en quelques minutes.

2. Clé privée SSH de Kay lisible par jan (chmod 644) Critique

Impact : escalade horizontale vers le compte privilégié Kay depuis n'importe quel utilisateur du système.

3. Fichiers internes exposés sur le web (/development) Élevée

Impact : divulgation d'utilisateurs, services et faiblesses internes — facilite tout le reste de l'attaque.

4. Passphrase de clé privée faible (beeswax) Élevée

Impact : chiffrement de la clé contournable en quelques secondes via ssh2john + rockyou.txt.

5. Mot de passe en clair dans pass.bak Élevée

Impact : compromission totale et persistante du compte Kay.

6. Apache Tomcat 9.0.7 + AJP exposé (Ghostcat — CVE-2020-1938) Élevée

Impact : vecteur d'attaque supplémentaire identifié mais non exploité dans cet exercice (lecture arbitraire de fichiers via AJP).

7. Partage SMB anonyme (staff.txt) Moyenne

Impact : confirmation des identités utilisateurs sans authentification, contributeur à la phase d'énumération.

7. Chaîne d'Exploitation

La compromission complète a été obtenue en chaînant les étapes suivantes :

Étape Action Résultat
1Gobuster → /development/dev.txt + j.txtUtilisateurs identifiés (Jan, Kay), mdp faible confirmé
2SMB anonyme → staff.txtConfirmation identités Jan et Kay
3Hydra SSH → jan:armandoAccès SSH initial obtenu
4Lecture /home/kay/.ssh/id_rsa (chmod 644)Clé privée chiffrée récupérée
5ssh2john + john → passphrase beeswaxClé déchiffrée, connexion SSH Kay
6cat pass.bakMot de passe de Kay en clair récupéré

8. Recommandations

8.1 Prioritaires

  1. Appliquer une politique de mots de passe robuste sur tous les comptes SSH (longueur ≥ 12, complexité, rotation).
  2. Corriger les permissions des clés privées SSH : chmod 600 /home/kay/.ssh/id_rsa (lisible uniquement par le propriétaire).
  3. Supprimer ou chiffrer tout fichier contenant des mots de passe en clair (pass.bak).
  4. Ne jamais exposer de fichiers de notes internes ou de journaux de développement sur un serveur web public.

8.2 Secondaires

  1. Désactiver ou restreindre le partage SMB anonyme.
  2. Mettre à jour Apache Tomcat (9.0.7 → version récente) et désactiver AJP si non utilisé (CVE-2020-1938 Ghostcat).
  3. Utiliser des passphrases fortes et uniques pour toute clé privée SSH.
  4. Mettre en place fail2ban ou équivalent pour limiter les tentatives de brute force SSH.

9. Réflexion sur l'Apprentissage

Cette machine a permis de consolider plusieurs compétences fondamentales du pentest :

  • Reconnaissance multi-services : combiner nmap, gobuster et smbclient pour dresser un tableau complet de la surface d'attaque.
  • Lecture des indices contextuels : les fichiers texte exposés (/development) ont été déterminants pour orienter l'attaque.
  • Brute force ciblé : Hydra sur un utilisateur spécifique avec contexte (mdp faible confirmé) est bien plus efficace qu'un scan générique.
  • Crackage de clé SSH : maîtrise de ssh2john + John the Ripper pour attaquer des clés chiffrées.

Point d'amélioration identifié : la piste de la clé privée de Kay dans ~/.ssh/ a nécessité un coup de pouce extérieur. À retenir : après accès initial, toujours vérifier les répertoires .ssh des autres utilisateurs avec les permissions actuelles.

10. Conclusion

La machine Basic Pentesting illustre parfaitement la notion de chaîne de vulnérabilités : aucune faille isolée n'est suffisante, mais leur combinaison mène à une compromission complète. Les vulnérabilités rencontrées (fichiers exposés, mot de passe faible, permissions incorrectes, secrets en clair) sont représentatives d'erreurs de configuration courantes en environnement réel.

Cette session a renforcé la compréhension pratique de techniques essentielles couvertes par la certification SEC 101 de TryHackMe.

Pentester

Julien PINOT

Étudiant BTS SIO Option SISR

Avril 2026

Cadre

TryHackMe — SEC 101

Machine : Basic Pentesting

Environnement : laboratoire pédagogique