Skip to content

harry-lleen/CTF_hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧩 CTF hackathon — Défi Linux Conteneurisé

CTF hackathon est un clone francisé et conteneurisé du wargame Bandit d'OverTheWire.
Conçu pour fonctionner sur Raspberry Pi, il permet d'apprendre la ligne de commande, les droits Unix, le réseau, et la cybersécurité à travers 34 niveaux progressifs.


🎯 Objectif pédagogique

  • 👨‍💻 Apprendre les commandes système de base (cat, find, grep, ssh, etc.)
  • 🔐 Comprendre les droits Unix, les UID/GID, les scripts shell, la compression, l'encodage
  • 🧠 Résoudre des énigmes Linux pour progresser
  • 📦 Travailler dans un environnement conteneurisé, propre et reproductible

🐧 Caractéristiques

  • 🐳 Docker léger basé sur debian:bullseye-slim
  • 🔧 Compatible Raspberry Pi (ARMv8)
  • 🇫🇷 Fichiers readme explicatifs pour chaque niveau
  • 🚀 Génération automatisée via Makefile
  • 🧪 Validation automatique via valide_niveaux.py
  • 🔁 Ports exposés pour niveaux réseau (30000, 30001, 31000-32000…)

⚙️ Installation et lancement

1. Cloner le dépôt

git clone https://github.com/THE07s/CTF_hackathon.git
cd CTF_hackathon

2. Builder l’image Docker

docker build -t ctf-hackathon .

3. Lancer le conteneur avec les bons ports

docker run -it \
  -p 2222:2222 \
  -p 30000:30000 -p 30001:30001 \
  -p 31000-32000:31000-32000 \
  ctf-hackathon

🔐 Se connecter

ssh niveau0@localhost -p 2222
mot de passe : niveau0

Un fichier readme est présent dans le répertoire de chaque joueur (/home/niveauX/) pour expliquer l’objectif du niveau en cours.
Les mots de passe suivants sont stockés dans /etc/niveau_mdps/niveauX.


🗂️ Structure du projet

.
├── Dockerfile              # Image Docker ARM compatible
├── README.md               # Ce fichier
├── descriptions/           # Pistes et aides en Markdown pour chaque niveau
├── niveaux/                # Scripts Python pour chaque niveau + init
├── scripts_bash/           # Bannière et autres scripts shell utiles

🧪 Tester les niveaux automatiquement

sudo python3 niveaux/valide_niveaux.py

Ce script simule un joueur qui résout les niveaux un par un avec les bonnes commandes.


📦 Déploiement GitHub

Un workflow GitHub Actions permet de :

  • Builder automatiquement l’image Docker
  • La publier dans la section Packages du dépôt GitHub

Tu trouveras ce workflow dans .github/workflows/docker.yml


🙏 Remerciements


🧠 Note aux joueurs

  • Les répertoires personnels ne sont pas modifiables, utilise /tmp/ :
    cd $(mktemp -d)
  • Ne publie pas les mots de passe.
  • Ne laisse pas traîner de fichiers suspects.
  • Respecte les autres joueurs 🫶

Bonne chance, et ouvre bien les 👀

About

A Bandit clone

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •