Skip to content

Humanix-Cybersecurity/CTF_Lazarus

Repository files navigation

▲ Humanix — Project Lazarus

CTF Active Directory thématique sur fond de biotech & lanceurs d'alerte. Portable, reproductible, Docker-only. Aucun Windows requis. Conçu pour public Master 2 / pro.

3 actes, 11 flags + 1 bonus, kill-chain réaliste qui ne s'arrête PAS à Domain Admin. Socle technique : Samba4 AD DC + Flask vulnérable + Postgres + container escape.

ACTE I    recon web → webmail IDOR ────────────────────────────────┐
ACTE II   Kerberoast (HTTP+MSSQL) → ACL abuse → Domain Admin ──────┤
ACTE III  pivot SSH → SSTI → git leak → privesc → DB → escape   ───┴──► identité source révélée

🎬 Scénario

Humanix Corp est un biotech leader en augmentation neurale. Vitrine éthique impeccable... officiellement. Project Lazarus — essais cliniques humains non déclarés — fait sept morts en 18 mois.

Une journaliste, Mara Aldritch, perd contact avec sa source à l'intérieur de Humanix. Avant de disparaître, la source mentionne deux indices : « la sauvegarde de la dernière migration LDAP traîne encore en clair », et « j'ai laissé quelque chose dans le profil d'un collègue de compta ».

Tu as 72 heures pour pénétrer leur SI, remonter la chaîne jusqu'aux Domain Admins, exfiltrer le rapport interne — et disparaître.

Briefing complet : ENONCE_ELEVE.md


⚠️ Cadre légal & éthique

Ce lab est volontairement vulnérable. Il est conçu pour tourner isolé : le réseau lab_internal est en mode internal: true (aucun accès Internet sortant).

  • Usage strictement pédagogique, sur ce périmètre fictif uniquement.
  • Les techniques pratiquées ici (AS-REP roasting, Kerberoasting, ACL abuse, etc.) sont identiques à celles utilisées en attaque réelle. Les employer hors d'un périmètre explicitement autorisé (mandat de pentest signé, lab perso) constitue une infraction pénale — France : articles 323-1 à 323-7 du Code pénal (atteinte aux STAD), jusqu'à 5 ans d'emprisonnement et 150 000 € d'amende.
  • Le réflexe « je vérifie mon périmètre et mon autorisation avant d'agir » est une compétence métier, pas une formalité.

🚀 Démarrage rapide

git clone git@github.com:Humanix-Cybersecurity/CTF_Lazarus.git
cd CTF_Lazarus

make up               # build + démarre (DC, intranet web, poste de pentest)
                      # crée .env automatiquement (secret aléatoire si absent)
make logs             # suit le provisioning du DC (~60-90s)
make briefing         # affiche le briefing de mission
make shell-attacker   # ouvre ton poste de pentest

make help             # liste des commandes

Prérequis : Docker + plugin docker compose. ~4-5 Go RAM (6 containers, 3 actes). Compatible amd64 et arm64 (Apple Silicon).

⚠️ docker.sock est volontairement monté dans lazarus-app pour permettre le container escape final. Lance ce lab uniquement sur une machine de cours isolée — un élève qui réussit le flag final peut techniquement spawn n'importe quel container privilégié sur ton hôte.


🗺️ Topologie

   [ poste pentest ]          réseau EXTERNE (172.31.0.0/24)
   humanix-attacker  ───────────────┬───────────────────────
   172.31.0.30                       │
   172.30.0.30                  humanix-web (intranet)
        │                       172.31.0.20
        │
        │  réseau INTERNE (172.30.0.0/24, --internal, no Internet)
        └───────────────────────────────
                                  humanix-dc01 (Samba4 AD DC)
                                  172.30.0.10  /  dc01.humanix.lab

Le poste de pentest est sur les deux réseaux : pédagogiquement, il « voit » d'abord le web (externe), et le pivot vers le DC (interne) simule l'entrée dans le SI.


🎯 Objectifs

11 flags principaux + 1 bonus, répartis en 3 actes. L'objectif final n'est plus Domain Admin — c'est l'identité de la source, via un container escape.

Acte # Flag (thème) Points
I 1 FLAG{l34k_conf1rm3d_...} — recon web 10
I 2 FLAG{m41l_1d0r_pwn3d_...} — webmail IDOR 15
I bonus FLAG{wh1stl3bl0w3r_id_...} — LDAP info attr 5
II 3 FLAG{4rch1v3s_unc0v3r3d_...} — Kerberoast HTTP 20
II 4 FLAG{l4z4rus_db_dump_...} — Kerberoast MSSQL 20
II 5 FLAG{r5s1_pwn3d_...} — ACL abuse 20
II 6 FLAG{D0M41N_4DM1N_pwn3d_...} — Domain Admin 20
III 7 FLAG{l4z4rus_4pp_sst1_...} — SSTI Jinja2 RCE 25
III 8 FLAG{g1t_h1st0ry_l34k_...} — git history secrets 15
III 9 FLAG{l4z4rus_r00t_3sc4l_...} — sudo NOPASSWD privesc 20
III 10 FLAG{p4t13nt_d4t4_d_3xf1l_...} — DB patients exfil 25
III FINAL FLAG{ph4nt0m_unm4sk3d_...} — container escape via docker.sock 40

Le suffixe des flags est unique par instance (dérivé d'un secret formateur). Les valeurs ci-dessus sont des modèles — la vraie valeur dépend du CTF_SECRET de ton instance.


🔐 Modèle de génération des flags

Aucun flag n'est en clair dans le repo. Chaque flag est dérivé au démarrage du DC :

FLAG{<theme>_<sha256(CTF_SECRET:stage)[0:12]>}

Conséquences pédagogiques :

  • Cloner le repo nu ne révèle aucun flag.
  • Changer CTF_SECRET dans .env puis make reset → tous les flags changent.
  • Idéal pour ré-armer un sujet unique entre deux promos (anti-partage).

Détails dans .env.example.


🐳 Compatibilité Exegol

Les élèves qui préfèrent leur Exegol habituel peuvent l'utiliser à la place du poste fourni. Procédure complète dans ENONCE_ELEVE.md.

Résumé :

docker network connect humanix-ctf-ad_lab_external <ton-exegol>
docker network connect humanix-ctf-ad_lab_internal <ton-exegol>
# puis dans Exegol : echo "nameserver 172.30.0.10" > /etc/resolv.conf

🎓 Pour les formateurs

Le walkthrough complet, le writeup PDF, la gestion du secret formateur et les commandes de debug ne sont volontairement pas dans le repo public (pour ne pas spoiler les étudiants qui consultent GitHub).

Si tu es formateur et que tu veux utiliser ce lab pour ton cours :

  • 📩 Contact maintainer : @Meg4R0M (GitHub) — repo hébergé par Humanix-Cybersecurity
  • 📂 Tu recevras hors-git : INSTRUCTOR.md (walkthrough complet), docs/WRITEUP_Project_Lazarus.pdf (rapport façon pentest), et le script source du writeup
  • 🔧 Côté lab, make instructor-help (depuis le repo cloné) liste les commandes formateur (affichage des flags de l'instance, debug Samba, génération de tarball étudiant, etc.)

🧩 Pistes d'extension

Idées pour étendre le scénario (niveau "chaud patate +") :

  • RBCD (Resource-Based Constrained Delegation) entre deux comptes machine
  • Trust cross-domain (un 2e DC Samba)
  • ADCS / ESC1-8 en branchant une VM Windows hybride (seule vraie limite de Samba4)
  • Intégration CTFd : chaque flag = challenge avec déblocage progressif

📜 Licence & crédits

Ce lab est mis à disposition à des fins pédagogiques uniquement. Utilisation hors lab autorisé = infraction pénale (cf. cadre légal ci-dessus).

Maintainer : @Meg4R0M · Organisation : Humanix-Cybersecurity

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors