La compétition
L’ECOWAS CTF 2026 est un hackathon régional organisé par le ECOWAS Cybersecurity Programme. Il est constitué d’une phase de pré-qualification nationale, elle-même structurée en plusieurs étapes. Cette édition a compté 1035 inscrits répartis en 317 équipes de toute l’Afrique de l’Ouest.
Format en 3 étapes :
| Étape | Format | Enjeu |
| Stage 1 — Jeopardy (3 événements, Avril 2026) | CTF classique, résolution de challenges par catégorie | Top 5 par pays → qualifiés Stage 2 |
| Stage 2 — King of the Hill (KoTH) | Services à attaquer et défendre simultanément | Top 2 → Grands Finales |
| Stage 3 — Battleground Finals | First-to-objective, compétition en temps réel | Champion régional ECOWAS |
Il y avait aussi un Wildcard Qualifier Event (événement privé, 802 inscrits) — une seconde chance pour les équipes proches du Top 5, avec le Top 1 qui rejoignait directement les qualifiés du Stage 2.
Notre équipe — DarkPulse
Ces writeups sont le travail collectif de l’équipe DarkPulse :
| Membre | Rôle principal |
| ITACHI | Reverse, Mobile, Crypto |
| 0xWhoAm1 | Web, Forensics, Crypto |
| 70aH | OSINT, Crypto, Misc |
Les writeups signés 0xWhoAm1 sont la contribution directe de mon coéquipier à ces solutions.
Wildcard Qualifier Event
Wildcard Qualifier Event — 3 challenges, 100% solved ✅
Taux de résolution par catégorie
| Catégorie | Résolus | Taux |
| Crypto | 19/20 | 95% |
| Reverse Engineering | 4/4 | 100% |
| Rev | 2/2 | 100% |
| Steganography | 9/10 | 90% |
| Web | 6/7 | 86% |
| Misc | 10/12 | 83% |
| Forensics | 2/3 | 67% |
| OSINT | 2/2 | 100% |
| Mobile | 1/1 | 100% |
| Network Forensics | 1/1 | 100% |
À propos de ces writeups
J’ai fait de mon mieux sur chacun de ces writeups. Certains sont plus détaillés que d’autres, mais vous trouverez toujours les grandes étapes de résolution et les scripts Python utilisés. L’idée c’est que vous compreniez la démarche globale — pas que ce soit un cours exhaustif sur chaque technique.
Writeups par catégorie
🔑 Crypto
| # | Challenge | Points | Difficulté | Auteur | Writeup |
| 36 | Rsababy | 50 pts | Easy | ITACHI | Lire → |
| 37 | Layer Cake | 100 pts | Easy | ITACHI | Lire → |
| 38 | Legendre Symbol | 100 pts | Medium | ITACHI | Lire → |
| 39 | Emergency | 100 pts | Easy | ITACHI | Lire → |
| — | Runic2 | 100 pts | Easy | 0xWhoAm1 | Lire → |
| 35 | Adinkra | 200 pts | Medium | ITACHI | Lire → |
| 91 | EC-RSA (Wildcard) | 300 pts | Medium | ITACHI | Lire → |
| 47 | Sankofa | 300 pts | Hard | ITACHI | Lire → |
| 56 | Dogon Nonce | 500 pts | Hard | ITACHI | Lire → |
| 57 | Coppersmith | 500 pts | Hard | ITACHI | Lire → |
| 86 | 5 Friends | 500 pts | Hard | ITACHI | Lire → |
| — | Bit2Bit | 400 pts | Hard | 0xWhoAm1 | Lire → |
⚙️ Reverse Engineering
| # | Challenge | Points | Difficulté | Writeup |
| 44 | Gates | 100 pts | Easy | Lire → |
| 33 | Nyankonton | 200 pts | Medium | Lire → |
| 34 | Ngoma | 300 pts | Medium | Lire → |
| 90 | Phase Noise (Wildcard) | 300 pts | Medium | Lire → |
| 49 | Djinn | 500 pts | Hard | Lire → |
| 75 | Swahili Mangle | 500 pts | Hard | Lire → |
| 76 | Yoruba VM | 500 pts | Hard | Lire → |
👁️ Steganography
| # | Challenge | Points | Difficulté | Auteur | Writeup |
| 11 | Silent Whispers I | 100 pts | Easy | ITACHI / 0xWhoAm1 | Lire → |
| 12 | Silent Whispers II | 200 pts | Medium | ITACHI / 0xWhoAm1 | Lire → |
| 60 | Star Drums | 200 pts | Medium | ITACHI | Lire → |
| 61 | Adinkra Echoes | 200 pts | Medium | ITACHI | Lire → |
| 62 | Elmina Shadows | 200 pts | Medium | ITACHI | Lire → |
| — | Baobab Whispers | 150 pts | Medium | 0xWhoAm1 | Lire → |
| 13 | Silent Whispers III | 500 pts | Hard | ITACHI | Lire → |
🌐 Web
| # | Challenge | Points | Difficulté | Auteur | Writeup |
| 29 | Cookie Collector | 100 pts | Easy | ITACHI | Lire → |
| — | Hidden User Management | 100 pts | Easy | ITACHI | Lire → |
| — | Trust Misplaced (IDOR) | 100 pts | Easy | ITACHI | Lire → |
| — | Gorée Memorial Archive | 100 pts | Easy | 0xWhoAm1 | Lire → |
| 50 | Silly Access | 200 pts | Medium | ITACHI | Lire → |
| — | Monrovia Press Release | 200 pts | Medium | 0xWhoAm1 | Lire → |
🔍 Forensics
| # | Challenge | Points | Difficulté | Writeup |
| 24 | Abidjan | 100 pts | Easy | Lire → |
| 43 | GrIOT | 100 pts | Medium | Lire → |
🕵️ OSINT
| # | Challenge | Points | Difficulté | Writeup |
| 73 | Golden Jubilee | 100 pts | Easy | Lire → |
| 74 | Approfondir | 100 pts | Easy | Lire → |
🎭 Misc
| # | Challenge | Points | Difficulté | Auteur | Writeup |
| 51 | Talkative | 50 pts | Easy | ITACHI | Lire → |
| 52 | Abnormal Chain | 100 pts | Easy | ITACHI | Lire → |
| — | SEE | 150 pts | Medium | 0xWhoAm1 | Lire → |
| 59 | Kora Strings | 200 pts | Medium | ITACHI | Lire → |
📱 Mobile
| # | Challenge | Points | Difficulté | Writeup |
| — | App Peek | 100 pts | Easy | Lire → |
| 89 | Obscura (Wildcard) | 100 pts | Easy | Lire → |
Challenges non résolus
7 challenges restants — writeups à venir
| # | Challenge | Catégorie | Points |
| — | Kente Multivariate | Crypto | 500 pts |
| — | Phantom | Forensics | 200 pts |
| — | Cognitive Lock | Misc | 200 pts |
| — | Secured? | Misc | 300 pts |
| — | Lome Bank | Pwn | 400 pts |
| — | Perception Trap | Steganography | 200 pts |
| — | Praia Postal | Web | 200 pts |