
Exploitation de CVE-2023-2825 sur une VM
Ce référentiel documente mon parcours et les livrables produits au cours du programme de mentorat du MassCyber Center. Ce programme de mentorat nous demandait de réaliser un projet de cybersécurité, puis de le présenter lors d'un événement de démonstration auquel assistaient des professionnels de la cybersécurité. L'objectif de ce projet était de construire, casser, sécuriser et administrer une machine virtuelle. Plus précisément, mon objectif était d'exploiter une vulnérabilité GitLab connue, CVE-2023-2825, afin de comprendre les faiblesses de sécurité et de mettre en œuvre des stratégies d'atténuation.
Pour construire la machine virtuelle, j'ai utilisé VirtualBox, un puissant produit de virtualisation x86 et AMD64/Intel64.
Configuration de l'environnement :
GitLab version 16.0.0 a été installé sur la machine virtuelle, laquelle est affectée par CVE-2023-2825, une vulnérabilité qui permet à des utilisateurs non authentifiés de lire des fichiers arbitraires sur le serveur en exploitant un bug de traversée de chemin (path traversal). Après avoir mené des recherches approfondies, j'ai trouvé un exploit disponible publiquement sur GitHub ici : Occamsec pour CVE-2023-2825.
Pour ce projet, j'ai personnalisé l'exploit en modifiant le code Python d'origine pour permettre une saisie utilisateur au moment de l'exécution et en implémentant une gestion des erreurs afin de rendre le script plus interactif et plus robuste. Voici les étapes que j'ai suivies pour implémenter et exécuter l'exploit sur la machine virtuelle vulnérable :
Afin de sécuriser la machine virtuelle, j'ai effectué une mise à jour vers la dernière version corrigée de GitLab, soit la 17.5.1. Voici quelques étapes que j'ai suivies pour ce faire :
gitlab-rake gitlab:env:info
sudo gitlab-backup create
sudo apt-get update
sudo apt-get install gitlab-ee
sudo gitlab-ctl restart
gitlab-rake gitlab:env:info
Pour administrer efficacement la machine virtuelle, j'ai mis en œuvre plusieurs mesures afin de garantir une gestion sécurisée et efficace. Celles-ci comprenaient la restriction de l'accès administratif, l'application de mises à jour régulières et le respect des bonnes pratiques d'administration système :
getent group sudo
Ce projet a été une incroyable expérience d'apprentissage qui m'a permis d'explorer en profondeur le cycle de vie d'une machine virtuelle — de la construction et de l'exploitation des vulnérabilités à la sécurisation et à l'administration. En exploitant CVE-2022-2825, j'ai acquis des connaissances précieuses sur l'identification et l'atténuation des menaces de sécurité réelles. Le processus de sécurisation de la machine virtuelle a renforcé l'importance d'une maintenance proactive du système et de la mise à jour régulière des correctifs et des bonnes pratiques.
Grâce à ce programme de mentorat, j'ai perfectionné mes compétences dans les domaines suivants :
Dans l'ensemble, cette expérience a renforcé mes capacités techniques et approfondi ma compréhension de la cybersécurité. Elle a également souligné le rôle essentiel de la vigilance et de l'apprentissage continu dans la protection des systèmes contre les menaces en constante évolution.
Je suis reconnaissant pour les conseils prodigués par le programme de mentorat du MassCyberCenter et j'ai hâte d'appliquer ces compétences aux futurs défis de la cybersécurité.