Binary exploitation
Dec. 30, 2024
Le binary exploitation consiste à analyser et manipuler des programmes exécutables pour exploiter leurs failles et en prendre le contrôle.
C’est une discipline avancée qui demande une compréhension profonde du fonctionnement des systèmes informatiques, de la rétro-ingénierie (reverse engineering), des langages de bas niveau comme l’assembleur, et des concepts tels que la mémoire et les processus. Les attaques courantes incluent les dépassements de tampon, les détournements de flux d’exécution et l’exploitation de failles de gestion mémoire.
Cours ULaval
Outils
- Voir les outils de l’artice reverse engineering.
- pwntools : Bibliothèque Python pour automatiser les exploits et interagir avec les binaires.
- checksec : Outil permettant d’analyser la sécurité des binaires, notamment pour vérifier si des protections comme ASLR, DEP, ou Stack Canaries sont activées.
- ropper : Outil permettant de trouver et d’utiliser des gadgets ROP (Return-Oriented Programming) dans les binaires, facilitant la création d’exploits.
- ropr : Outil similaire à Ropper, conçu pour l’analyse et la recherche de gadgets ROP dans les binaires, utilisé pour faciliter l’exploitation des vulnérabilités.
Lectures
- Ir0nStone notes : Collection de notes détaillées sur le binary exploitation, couvrant divers concepts et techniques.
- Nightmare : Guide structuré pour apprendre l’exploitation des binaires, adapté aux débutants comme aux experts.
Vidéos
Défis
- Exploit education : Plateforme d’apprentissage interactif dédiée à l’exploitation de binaires, incluant des exercices pratiques sur les buffer overflows, heap exploitation et plus.
- ROP Emporium : Défis pour apprendre les Return-Oriented Programming (ROP).
- pwnable.kr : Plateforme de challenges axés sur le binary exploitation.
- HackTheBox Pwn Challenges : Défis pour s’entraîner à l’exploitation des binaires.
Certifications