Open Your Mind - Attack/Defense CTF

Très content du CTF, pour une première expérience j'ai pu apprendre beacoup. Mon but n'est pas de faire un writeup du CTF, mais plutôt de me faire une note pour mes prochains attaque/défense, et permettre à ceux qui veulent s'y tenter de mieux apréhender un tel CTF.

Préparation

Avant d'arriver sur le lieu du CTF j'ai un peu lu des articles, subreddits sur le sujet, plus j'en lisais plus j'avais peur de ce qu'il m'attendait. J'ai alors commencé à faire une cheatsheet sur mon Git afin de mieux m'y retrouver le jour J.

Règles

  • L’Organisation se réserve le droit de modifier les règles jusqu’au début du challenge.
  • Pas de triche et d’échange de Flags (ils sont tous différents).
  • Pas de DoS (Denial of Service).
  • Le réseau d’administration/organisation n’est pas dans le scope de l’exercice.
  • Pas de modification/suppression de vos propres Flags (anti jeu, vous perdez des points).
  • Vos services ne fonctionnent pas ? vous perdez des points.
  • Vous vous faites prendre un « flag », vous perdez des points.
  • Vous trichez, vous perdez des points (beaucoup).
  • Tout se paye avec des points.
  • Votre seule et unique manière d’en gagner est de voler les flags de vos adversaires.

Topologie du réseau

Chaque équipe a à sa disposition un réseau local identique, ouvert sur les autres équipes, constitué de :

  • un serveur www
  • un serveur bastion
  • un serveur plt
  • un serveur windows
  • un firewall

En gros ça donne ça :

Déroulement du CTF

Ce que j'ai appris c'est que dans ce genre de CTF le early game est très important, c'est une manière facile de gagner des points sur les autres équipes.
Ce qui est important au début c'est de bien se répartir les tâches dans l'équipe et de définir une stratégie (offensive, défensive ou hybride).

La stratégie que nous avons adopté dans l'équipe était de nous occuper chacun de toutes les machines à défendre,de chercher des failles et de les patcher le plus vite possible pour ensuite l'exploiter sur les autres concurents.
Je vais résumer ce que en tant qu'équipe nous avons fait lors du CTF.
On a d'abord voulu changer les mots de passe par défaut de nos services, en même temps nous avons gérer le firewall. Une fois ceci fait, on s'est concentrés sur la recherche de vulnérabilités sur nos différents services (mappés sur des ports par le firewall). Si on trouvait une vuln un personne la patchait pendant qu'une autre cherchait à l'exploiter chez les autres équipes.

D'un côté plus individuel maintenant, un focus sur mes actions. Dès le début j'ai lancé des nmap pour regarder si certains services tournaient en plus de ceux répertoriés sur la plateforme de surveillance, j'ai ensuite essayé de prendre un maximum d'infos sur les services en cours des machines (encore avec nmap).
Une fois les infos récoltées je me suis attardé sur les différents ports du serveur www, en effet les ports 80, 8080, 3232, 4141 et 4242 tournaient dessus. Je me chargeais de rechercher d'éventuelles failles sur ces différents ports, identifier un point d'entrée et le transmettre à l'équipe, afin que quelqu'un de plus compétent que moi l'exploite.
Notament, le port 3232 faisait tourner un nostromo, avec une recherche en ligne on trouve une CVE sortie 2 jours auparavent. On s'est mit à 2 dessus : je patchais le service pendant que mon binome exploitait la vulnérabilité en local, puis la lançait sur tout le réseau.