What’s up everybody ?

 

Aujourd’hui je vais faire un challenge de la plateforme TryhackMe, le CTF que j’ai choisi est Couch.

L’objectif va être de pénétrer le server qui utilise une base de données vulnérable puis comme d’habitude d’escalader les privilèges.

Tout d’abord je me connecte au réseau VPN avec ma machine attaquante en utilisant le fichier de configuration dans la section Access de TryhackMe.

C’est parti !

 

1ier question :

 

Je dois scanner la machine et renseigner le nombre de ports ouverts sur ce dernier, pour cela je vais utiliser Nmap avec la commande suivante : nmap -p- 10.10.165.176

L’argument -p- va me permettre de scanner tous les ports. Si je ne précise pas ce paramètre il me scanne par défaut les 1000 premiers ports.

Voilà ! mon scan est terminé, je vois qu’il y a 2 ports ouverts : 22 et 5984

 

2ème question :

 

Quel est le système de gestion de base de données installé dans le server ?

J’ai obtenu la réponse dans le scan précédent : couchdb

 

3ème question :

Cette fois je dois trouver sur quel port s’exécute ce gestionnaire de base de données, même chose ici; sur le scan que j’ai déjà effectué j’ai la réponse :

 

Rien de très compliqué pour l’instant, je continue.

 

 4ème question :

Quelle est la version de couchdb d’installée sur le server ? Je n’ai pas eu d’information à ce propos sur mon scan, je vais donc accéder sur l’interface web en me servant du port adéquat et tenter de trouver la réponse. Pour cela j’ouvre un navigateur web et je tape ce qui suit : 10.10.165.176 :5984

Et voilà, je connais la version utilisée qui est 1.6.1

 

5ème question :

Quel est le chemin de l’outil d’administration web pour ce système de gestion de base de données ?

À vrai dire je ne connais pas cette base de données couchdb, donc je vais utiliser Google :

Enfin de compte, c’est le lien qui permet d’accéder au tableau de bord du gestionnaire de base de données.

Réponse : _utils

 

6ème question :

Quel est le chemin pour répertorier toutes les bases de données dans le navigateur web du système de gestion de base de données ?

Je vais procéder de la même manière en cherchant sur Google comment obtenir le chemin pour lister toutes les bases de données : je tape couchdb list all database

Réponse : _all_dbs

 

7ème question :

Quelles sont les informations d’authentification trouvées dans l’outil d’administration web ?

Pour cela je vais parcourir la base de données pour obtenir de quoi m’identifier, je commence par le Dashboard :

Maintenant j’accède au répertoire secret :

Puis je clique sur l’ID de cette base de données :

Bingo ! j’ai trouvé les informations d’authentification.

Réponse : atena:t4qfzcc4qN##

 

8ème question :

Je dois tout simplement réunir les informations obtenues et me connecter à distance en utilisant le SSH :  ssh atena@10.10.165.176 en utilisant le mot de passe :  t4qfzcc4qN##

Je suis connecté au server via une connexion SecureSHell, je vais lister le contenu du répertoire de l’utilisateur actuel et essayer d’obtenir le 1ier flag : user.txt

Commandes :  ls -la , cat user.txt

1ier flag : THM{1ns3cure_couchdb}

 

Dernière question :

Pour terminer ce CTF je dois escalader les privilèges pour être le super utilisateur root puis obtenir le dernier flag root.txt :

J’ai une habitude de taper la commande sudo -l en premier lieu.

Sans succès, je continue en effectuant une recherche sur Google mais pas de résultat concluant.

Je vais donc me concentrer sur le server en jetant un coup d’œil sur l’historique de commandes en utilisant la commande : history

Après avoir scruté les différentes commandes, il y a l’utilisation d’un docker (un container) qui permet de monter un répertoire root dans une image alpine en utilisant les privilèges du super utilisateur.

 Donc, j’exécute cette commande pour être root : docker -H 127.0.0.1:2375 run –rm -it –privileged –net=host -v /:/mnt alpine

Puis je me déplace vers le répertoire /mnt, ensuite vers /root pour afficher le dernier flag :

Flag root : THM{RCE_us1ng_Docker_API}

 

Conclusion :

C’est terminé pour ce challenge, j’espère que ça n’a pas été laborieux pour vous. Pour ma part j’ai trouvé ce CTF facile, si vous avez rencontré des difficultés n’hésitez pas à me contacter pour des explications plus détaillées.

Je vous dis à très vite pour un prochain article.

PEACE !

One response

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

19 + quatorze =

Follow by Email
YouTube