Plan d'exécution

Le bon setup (Exegol)

Il existe plusieurs setup viables pour les CTF et le pentest de manière générale. Certains aiment avoir leur propre setup configuré selon leurs exigences, que ça soit sous Debian, Ubuntu, Parrot, Kali, Arch, BlackArch, etc.. D'autres aiment utiliser des environnements pré-configurés. Je fais plutôt partie de cette catégorie d'utilisateur. L'utilisation d'une VM ou d'un container est vivement conseillé, surtout pour se connecter aux VPN des sites de CTF. Personnellement j'ai opté pour Exegol, que je trouve largement supérieur pour tout un tas de raisons déjà bien assez exposées par ses contributeurs. Une alternative qui reste assez flexible mais moins avantageuse est l'utilisation d'une Kali dans Docker :

# Pour Exegol :
exegol info
exegol start <nomducontainer>

# Pour Kali sous Docker :
#Créer le container (port forwarding pour le web + capbabilities pour nmap + device pour openvpn)
#Ajouter --net=host pour être sur le réseau LAN avec l'IP de l'host
docker run -it -p 8080:80 -p 4443:443 --name kali --hostname kali --cap-add=NET_ADMIN --device=/dev/net/tun kalilinux/kali-rolling
#Démarrer le container
docker start kali
#Ouvrir un shell du container
docker exec -it kali bash
#Installation pour la première connexion au container
apt update && apt -y install kali-linux-headless

Étapes principales

  • Scan de reconnaissance et noter toutes les versions des services.

  • Scan DNS pour avoir des informations sur le serveur et les différents sous-domaines.

  • Scanner/énumérer les services qui sont scannables pour collecter le plus d'informations sur eux.

  • Vérifier si les différentes versions des logiciels/plugins trouvés possèdent des vulnérabilités connues.

  • Chercher pour des inputs d'utilisateur et analyser le comportement du serveur (inputs populaires, fuzzing, provocation d'erreur).

  • Une fois sur le serveur, analyser le contenu et tout noter. Voir pour de l'escalade de privilèges.

  • Faire de la récolte de données en tout temps durant le pentesting en gardant en tête les potentielles dissimulations.

Vous pouvez également vous guidez avec des mindmaps comme celles disponibles sur ce wiki.

Prise de notes

N'importe quel éditeur de texte fait l'affaire mais moi, je préfère largement Obsidian.

  • Noter le résultat Nmap dans un bloc.

  • Noter les user:mdp trouvés et le service correspondant, tous dans un même tableau.

  • Noter les chemins d'attaques potentiels, tous dans un même bloc.

  • Noter les informations importantes, toutes dans un même bloc.

  • Noter dans un bloc par chemin d'attaque, les étapes pour creuser dans l'attaque. Ne pas arrêter tant qu'on a pas terminé, avant de passer à une autre attaque. (Un bloc par attaque permet de ne pas encombrer les autres blocs précisés précédemment afin de ne pas salir notre prise de note.

Découverte d'une nouvelle technologie

  • Qu'est ce que c'est ?

  • A quel besoin cela répond ?

  • Comment peut-on y accéder ?

  • Quelle est l'étendue des choses que l'on peut faire (champ d'interaction) ?

  • Vulnérabilités connues ?

Dernière mise à jour

Cet article vous a-t-il été utile ?