Sommaire

Les failles Windows

1. Introduction

Les concepts vus sous Linux dans les chapitres précédents sont toujours valables sous Windows en transposant bien sûr suivant le système d’exploitation.

Le fonctionnement de la pile et de la heap est bien sûr similaire.

Comme sous Linux, nous aurons besoin d’un débogueur. Nous utiliserons ici Immunity Debugger (https://www.immunityinc.com/products/debugger) pour tenter d’exploiter les failles. Ce débogueur est gratuit, il comprend :

  • Une interface simple et compréhensible.

  • Un langage de script robuste et puissant permettant d’automatiser le débogage.

  • La possibilité de connexion avec d’autres outils de développement d’exploits. 

Vous trouverez sur le Net beaucoup de tutoriels pour apprendre à l’utiliser ainsi que diverses explications de Crack-me (petits logiciels créés pour apprendre le Reverse Engineering) utilisant Immunity Debugger.

Nous utiliserons Dev-C++ pour écrire et compiler nos programmes : http://www.01net.com/telecharger/windows/Programmation/langage/fiches/2327.html

2. Premiers pas

Nous utiliserons pour commencer le programme suivant afin de comprendre les bases. Nous poursuivrons sur des programmes commerciaux réels pour les mettre en application.

#include "string.h" 
void function(char* buf) 
        { 
         char ownz[10]; 
         strcpy(ownz, buf); 
        } 
int main(int argc,char* argv[ ]) 
       { 
        function(argv[1]); 
        return ...