PwnMe Junior 2025 - Evil-Hackers WriteUp
Description du challenge
Le challenge Evil-Hackers est une épreuve de Use-After-Free (UAF) sur un binaire 64 bits. Le programme gère des connexions de hackers et contient une vulnérabilité dans sa gestion de la mémoire.
Analyse du binaire
Vérification des protections
$ checksec evil-hackers
[*] '/home/synapse/pwnme-junior-2025/pwn/Evil-Hackers/evil-hackers'
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x400000)
Vulnérabilité
Analyse de la vulnérabilité
Le programme contient une vulnérabilité Use-After-Free dans son système de gestion de mémoire :
- Le programme utilise un pointeur global (
global_hacker) qui peut être libéré mais reste accessible - Le buffer de log initial fait 64 bytes
- La réallocation mémoire se produit quand :
log_size + msg_len + 2 > log_capacity - Chaque message de log ajoute :
- La longueur du message
- 2 bytes supplémentaires (1 pour le newline, 1 pour le null terminator)
Exploitation
Étapes d’exploitation
- Appuyer sur
1- Créer un hacker normal - Appuyer sur
4- Ajouter un message de log avec exactement 63 ‘A’s - Appuyer sur
3- Déconnecter le hacker (déclenche la condition UAF) - Appuyer sur
5- Créer un hacker d’élite (réutilise la mémoire libérée) - Appuyer sur
2- Accéder aux données secrètes pour obtenir le flag
Payload
Utiliser exactement 63 ‘A’s comme message de log :
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Détails techniques
- Le buffer initial contient 19 bytes de “Normal connection.”
- L’ajout de 63 ‘A’s + 2 bytes = 65 bytes supplémentaires
- Le total devient 84 bytes, déclenchant une réallocation à 128 bytes
- Cela satisfait la condition nécessaire pour la création du hacker d’élite
Flag
PWNME{JUNIOR_UAF_MASTER}
Conclusion
Ce challenge était une excellente introduction aux vulnérabilités Use-After-Free. Les points clés étaient :
- Compréhension de la gestion de la mémoire du programme
- Calcul précis de la taille du message pour déclencher la réallocation
- Séquence correcte d’actions pour exploiter la vulnérabilité UAF