Demo_CVE-2025-3248 — PoC pédagogique
Objectif : Simuler la vulnérabilité (CVE-2025-3248) dans un environnement isolé à des fins d'apprentissage en cybersécurité : monter un lab, observer les comportements exploitables et discuter des mesures d'atténuation.
⚠️ DÉCLARATION LÉGALE ET ÉTHIQUE (UTILISATION ÉTHIQUE UNIQUEMENT)
- Tout le contenu de ce dépôt est uniquement destiné à des fins académiques/de recherche.
- Ne jamais utiliser le code source/les techniques fournis pour interférer avec des systèmes qui ne vous appartiennent pas ou sans autorisation écrite.
- Les auteurs/contributeurs déclinent toute responsabilité en cas de conséquences liées à une mauvaise utilisation.
- En utilisant ce dépôt, vous acceptez les conditions ci-dessus.
Table des matières
Introduction
Ce dépôt fournit :
- Un service de démonstration vulnérable exécuté dans Docker (port par défaut
7860).
- Un code PoC (exploit.py) pour envoyer des requêtes illustrant l'exploitation uniquement dans votre lab.
- Une documentation pour monter l'environnement, tester, observer et essayer des mesures défensives.
Architecture du lab
- Tous les tests sont effectués sur votre machine ou sur un réseau de lab que vous contrôlez.
- N'exposez pas ce service sur Internet.
Composants du dépôt
docker-compose.yml — Monte le conteneur de l'application de démonstration vulnérable.
exploit.py — Client PoC illustrant le déclenchement de la faille (usage lab uniquement).
LICENSE — Licence d'utilisation.
README.md — La documentation que vous lisez actuellement.
Prérequis système
- Docker et Docker Compose (plugin).
- Python 3.10+ et
pip (pour exécuter le PoC).
- Droits d'exécution Docker (
sudo sous Linux ou utilisateur membre du groupe docker).
Démarrage rapide
A. Monter le lab avec Docker
git clone https://github.com/Kiraly07/Demo_CVE-2025-3248.git
cd Demo_CVE-2025-3248
# Lancer le service de démonstration (en arrière-plan)
docker compose up -d
# Vérifier le conteneur
docker compose ps
# Consulter les logs si nécessaire
docker compose logs -f
B. Installer les dépendances du PoC
python -m venv venv
# Linux/macOS
source venv/bin/activate
# Windows PowerShell
# .\venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install requests colorama argparse
(Facultatif) créer requirements.txt :
requests
colorama
argparse
C. Exécuter le PoC sur le lab local
# Exemple de base
python exploit.py -u http://[TARGET]:7860
Note importante : Pointez --url uniquement vers localhost/votre machine de lab. Ne ciblez pas de systèmes hors du périmètre autorisé.
Personnalisation de la configuration
- Port du service : modifiez la section ports: dans docker-compose.yml.
- Réseau Docker : vous pouvez ajouter un réseau dédié pour isoler le conteneur (recommandé dans un lab complexe).
- Reverse proxy : si nécessaire, placez derrière Nginx et n'ouvrez qu'en local (127.0.0.1 ou réseau interne).
Nettoyage
# Arrêter et supprimer conteneurs/volumes
docker compose down -v
# (Facultatif) Supprimer le venv
deactivate 2>/dev/null || true
rm -rf venv
Notes de défense / atténuation
- Mettez à jour les logiciels vers les versions corrigées dès qu'une annonce officielle est publiée.
- Limitez la surface d'attaque : n'ouvrez que les ports nécessaires ; placez derrière un reverse proxy avec authentification.
- Principe du moindre privilège pour le conteneur :
- Exécutez avec un utilisateur non privilégié.
- Limitez les capabilities, activez le système de fichiers racine en lecture seule si possible.
- Isolez le réseau, ne montez pas de volumes sensibles.
- Surveillance et journaux : activez les journaux d'accès ; surveillez les schémas suspects ; alertes précoces.
- WAF/IDS/IPS : appliquez là où c'est pertinent ; validez toujours les entrées (input validation).
Dépannage
- Port 7860 occupé : changez le mapping de port (ex. 8080:7860) dans docker-compose.yml.
- Le conteneur ne démarre pas : consultez les logs avec docker compose logs -f.
- Droits Docker insuffisants : utilisez sudo ou ajoutez l'utilisateur au groupe docker.
- Erreur d'installation des paquets Python : mettez à jour pip et vérifiez le proxy/pare-feu interne.
Parcours d'apprentissage suggéré
- Lisez docker-compose.yml pour comprendre la surface d'attaque/les dépendances.
- Exécutez le PoC sur le lab local, enregistrez les requêtes/réponses HTTP.
- Essayez les mesures d'atténuation, re-tester le PoC pour évaluer leur efficacité.
- Rédigez un rapport : cause racine de la faille, chaîne d'exploitation, impact et recommandations.
Licence
- Consultez le fichier LICENSE à la racine du dépôt.
Rappel de l'engagement d'utilisation éthique
Ce dépôt a été créé uniquement à des fins d'apprentissage.
Ne l'utilisez pas à des fins non autorisées. Demandez toujours une autorisation explicite avant de tester la sécurité d'un système qui ne vous appartient pas.