The Shellcoder's Handbook
Discovering and Exploiting Security Holes
Texte fondateur sur l'exploitation par corruption mémoire sur Linux, Windows, Solaris et cibles embarquées. Antérieur aux mitigations modernes mais reste l'introduction canonique aux techniques que la toolchain actuelle est conçue pour contrer.
En tant qu'Associé Amazon, nous percevons une commission sur les achats éligibles. Le lien ci-dessus est sponsorisé.
- Publié
- 2007
- Éditeur
- Wiley
- Pages
- 744
- Langue
- English
À lire si
Lecteurs déterminés à apprendre l'exploitation binaire sérieusement, après avoir terminé Hacking: The Art of Exploitation et qui veulent une référence multi-plateforme qui creuse plus profond.
À éviter si
Quiconque attend les mitigations modernes (post-2010) ou les allocateurs heap actuels. Le livre précède l'application d'ASLR, le durcissement heap moderne, CFI, et tout l'arc de mitigations sur lequel le toolchain moderne est construit. Il enseigne les techniques que les systèmes modernes sont conçus pour neutraliser.
Points clés
- Les chapitres exploitation Windows restent la meilleure introduction publiée aux mécaniques spécifiques SEH/PE qui n'existent pas chez Erickson.
- Les chapitres heap enseignent le vocabulaire conceptuel (unlinking, frontlinking, magic values, freelists) nécessaire pour lire les writeups CTF modernes, même si les allocateurs spécifiques ont évolué.
- Le chapitre « tracker les patches, pas les exploits » est le conseil de vulnerability research le plus sous-estimé publié.
Notes
À lire en Volume 2 du Erickson Hacking: The Art of Exploitation, en sachant que les deux livres sont des introductions pré-mitigations modernes, pas des manuels d'opérations actuels. À coupler avec pwn.college et les writeups CTF modernes pour la réalité post-2010. À garder en référence de départ pour toute nouvelle plateforme abordée (Linux, Windows, Solaris, embarqué, fragments mobile).
Que lire avant
Que lire avant The Shellcoder's Handbook →Intermédiaire · 2008
Hacking: The Art of Exploitation
Une visite des principes fondamentaux de l'exploitation bas niveau qui enseigne encore l'état d'esprit deux décennies plus tard.
Intermédiaire · 2011
The IDA Pro Book
Le manuel de référence de Chris Eagle sur IDA Pro, le désassembleur qui a défini une génération de reverse engineering. Reste utile à l'ère Ghidra car la littérature d'analyse malware suppose encore largement IDA.
Intermédiaire · 2012
Practical Malware Analysis
Toujours le manuel de référence pour l'analyse statique et dynamique de malwares sur Windows.
Que lire ensuite
Que lire après The Shellcoder's Handbook →Avancé · 2017
Attacking Network Protocols
James Forshaw, vétéran de Project Zero, sur comment capturer, parser et casser les protocoles depuis le wire jusqu'à la couche application, avec un fort focus sur la construction d'un tooling d'analyse réutilisable.
Avancé · 2009
Les virus informatiques : théorie, pratique et applications
Le livre de référence francophone d'Éric Filiol sur la virologie informatique. Théorie formelle, mécanismes d'infection, applications offensives et défensives, avec un soin académique rare sur le sujet.
Avancé · 2018
Practical Binary Analysis
Dennis Andriesse sur le toolchain binaire que vous pouvez réellement scripter : internals ELF, taint analysis dynamique, exécution symbolique et instrumentation avec des exemples concrets de code à suivre.
Explorer des livres similaires
Alternatives à The Shellcoder's Handbook →Intermédiaire · 2008
Hacking: The Art of Exploitation
Une visite des principes fondamentaux de l'exploitation bas niveau qui enseigne encore l'état d'esprit deux décennies plus tard.
Avancé · 2021
The Hardware Hacking Handbook
Jasper van Woudenberg et Colin O'Flynn (NewAE / ChipWhisperer) sur les vraies attaques hardware : sniffing de bus, fault injection, analyse de canaux auxiliaires en consommation, et le travail de paillasse qui transforme une boîte noire en cible connue.
Avancé · 2018
Practical Binary Analysis
Dennis Andriesse sur le toolchain binaire que vous pouvez réellement scripter : internals ELF, taint analysis dynamique, exécution symbolique et instrumentation avec des exemples concrets de code à suivre.