Dans cette section nous allons pénétrer plus en profondeur dans l'exploitation de vulnérablités
applicatives et des systèmes d'exploitation. Notamment, dans la première section ont été laissé de côté les
défenses actuelles contre l'exploitation de buffer-overflows, notamment PaX,
mais également les mécanismes de protection intégrés à Windows (DEP). Nous allons ainsi entrevoir certains
mécanismes d'exploitation plus avancés. D'un autre côté, nous allons nous initier de manière brève à l'exploitation
système sous Linux afin d'entrevoir ce que peuvent être les vulnérabilités kernel.
Voici donc le parcours que je vous propose :
- Les strings formatées, l'interprétation des chaînes de caractères par un programme
- L'exploitation avancée de buffer-overflows dans la pile sous Linux
- L'exploitation de buffer-overflows dans la pile sous Windows Vista
- Déréférencement de pointeurs par le kernel : exploit vmsplice (2008)
- NULL pointer dereferences : exploiting the unexploitable
Toujours dans l'optique d'aller plus loin, je vous invite à consulter la section sur le shellcode polymorphique,
qui, à l'image des techniques présentées ici, est simplement une vision à un niveau plus haut de la manière de détourner
les systèmes actuels de sécurité.