NewbieContest

Challenges => Aide Wargame => Discussion démarrée par: ufox le 14 Juin 2015 à 21:44:47



Titre: Wargame - Bof
Posté par: ufox le 14 Juin 2015 à 21:44:47
Postez ici vos messages.


Titre: Re : Wargame - Bof
Posté par: matthieu1984 le 18 Juin 2015 à 17:00:25
J'obtiens :

Code:
level01a@wargame:~$ ./bin01a
-bash: ./bin01a : fichier binaire impossible à lancer
level01a@wargame:~$ ./bin01a coucou
-bash: ./bin01a : fichier binaire impossible à lancer
level01a@wargame:~$

ça fait parti de l'épreuve ou il y a un BUG ?


Titre: Re : Wargame - Bof
Posté par: pixis le 18 Juin 2015 à 17:11:08
Ce n'est pas le comportement attendu, les admins sont prévenus, ça devrait être corrigé dans la soirée.

J'ai rien fait. Non, c'est pas moi.


Titre: Re : Wargame - Bof
Posté par: matthieu1984 le 18 Juin 2015 à 17:30:43
Ok, Danke


Titre: Re : Wargame - Bof
Posté par: ufox le 18 Juin 2015 à 21:11:00
C'est corrigé. Désolé pour le contretemps.


Titre: Re : Wargame - Bof
Posté par: ITPPA le 04 Septembre 2015 à 13:13:45
Bon, 8h que je suis dessus, tjr pas d'exploit. :cry:
Je vais peut etre commencer par les niveaux plus bas en faire  :rolleyes:



Titre: Re : Wargame - Bof
Posté par: pixis le 04 Septembre 2015 à 13:25:22
Fais la première, puis reviens sur celle-ci.

Dans l'ordre de difficulté, c'est la deuxième à faire, entre "shell" et "bof bof", théoriquement.

Bon courage !


Titre: Re : Wargame - Bof
Posté par: ITPPA le 04 Septembre 2015 à 14:46:58
merci de cette réponse, ça promet!

Pour info, j'ai créer et compilé deux fichier dans /tmp (bof.c et bof2.c)

Je les ai copies dans un répertoire

Si un su passe par la, vous pouvez supprimer, je bosserais dans mon dossier perso maintenant (plus mieux).
Merci d'avance


Titre: Re : Wargame - Bof
Posté par: pixis le 04 Septembre 2015 à 14:49:58
Plus mieux, mais pour info, comme tu les avais créés, tu avais tous les droits pour les supprimer !
Mais du coup, je l'ai fait. Bon courage !


Titre: Re : Wargame - Bof
Posté par: ITPPA le 08 Septembre 2015 à 12:10:04
c'est pas faut. Pourtant il me semble avoir essayé de les supprimer sans succès.

Pour revenir a l'exercice (je lâche pas l'affaire)  :twisted:

il y a pas une subtilité entre le bin01a.c et le compilé?
dans le code source bin01a.c on trouve:
Code:
strcpy(buffer, password);
strcpy(verif, "Donotcareitisnotusefull");
et au dump de la function check on y trouve:
Code:
.....
0x080484e7 <+19>:    call   0x80483d4 <strcpy@plt>
.....
0x08048503 <+47>:    call   0x80483c4 <memcpy@plt>
.....

Je ne pense pas que ca est une grande importance, mais bon, strcpy != memcpy

Sinon d'après mes calculs, et avec un shellcode de 45 octets, ca ne laisse que 12 NOP dans tout ca, pas évident de pointer l EIP dans ce tout petit espace memoire!
Je me trompe ou je suis a l'ouest complet?

Je continue mes investigation.



Titre: Re : Re : Wargame - Bof
Posté par: pixis le 08 Septembre 2015 à 12:16:04
Je ne pense pas que ca est une grande importance, mais bon, strcpy != memcpy

Sauf erreur de ma part, memcpy étant plus rapide que srcpy dans ce cas là, le compilateur a fait une optimisation.

Sinon d'après mes calculs, et avec un shellcode de 45 octets, ca ne laisse que 12 NOP dans tout ca, pas évident de pointer l EIP dans ce tout petit espace memoire!

De manière générale, lors de l'exploitation d'un BoF, il n'y a pas besoin de NOP. Ce n'est qu'un confort qui pallie aux erreurs de calculs. Tu devrais être en mesure de connaitre l'adresse exacte.

Je finirai par :
"Avant d'attaquer la porte blindée au chalumeau, vérifie qu'il n'y a pas une fenêtre ouverte"


Titre: Re : Wargame - Bof
Posté par: ITPPA le 08 Septembre 2015 à 14:01:59
Rebonjour.

Merci pour ces précisions.

/* Modération : De rien, mais on ne donne pas toutes les solutions ici, voyons ! */

ca progresse, merci encore, ton site regorge d'informations qui, j'en suis sur, va me permettre de résoudre ce #&"!*~# de wargame.


Titre: Re : Wargame - Bof
Posté par: ITPPA le 08 Septembre 2015 à 14:07:52
c'est bon j'ai trouvé.

GAME OVER  :lol:

J'en est bavé, mais j'en est appris des tonnes.


Titre: Re : Wargame - Bof
Posté par: nessman le 23 Octobre 2018 à 15:55:39
Bonjour, avec gdb je modifie la variable flag à '1' et j'ai ca :

-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Access Granted!
-=-=-=-=-=-=-=-=-=-=-=-=-=-
/bin/cat: /home/level01a/.password: Permission denied
[Inferior 1 (process 4301) exited normally]


Titre: Re : Wargame - Bof
Posté par: pixis le 23 Octobre 2018 à 16:35:02
Salut,

Oui, et heureusement qu'on ne peut pas modifier la mémoire lors de l'exécution d'un process avec le bit SUID tout en gardant les droits du propriétaire du binaire !

Quand tu utilises GDB, tu appelles implicitement ptrace(), et lors de l'appel à ptrace, tu exécutes le binaire sans le bit SUID, pour protéger les informations sensibles. Du coup, comment faire ? ;)


Titre: Re : Wargame - Bof
Posté par: nessman le 25 Octobre 2018 à 14:20:54
Telle est la question. =D
En fait vu le titre de l'épreuve je doute d'être sur la bonne voie, mais t'as réponse : '...Du coup, comment faire ? ' me perturbe aussi lol.
J'ai essayé un BOF mais SEGF je pense que c'est du a la compilation sans le flag -z execstack.


Titre: Re : Wargame - Bof
Posté par: mavizen le 14 Août 2019 à 16:54:27
Bonjour,

Je comprend pas, j'ai bien suivi les tutos / infos de ton site mais quand je veux faire mon BOF en remplaçant la valeur par un getchar() comme tu as pu le montré, la valeur de EIP change :
 
...
EIP: 0x41396241 ('Ab9A')
..

je relance en modifiant :
...
EIP: 0x78306578 ('xe0x')
...

Pourquoi ce comportement ?

merci par avance


Titre: Re : Wargame - Bof
Posté par: squicky le 12 Novembre 2019 à 17:00:56
Bonjour,

Qulequ'un aurais un bon tuto sur GDB ?
parceque c'est bien different d'olly quand mème ...

merci


Titre: Re : Wargame - Bof
Posté par: the lsd le 12 Novembre 2019 à 17:08:16
Comme toujours... J'suis obligé de mettre le site de pixis ^^

https://beta.hackndo.com/introduction-a-gdb/

Enjoy

The lsd


Titre: Re : Wargame - Bof
Posté par: EJ le 10 Octobre 2020 à 17:23:50
Bonjour,

Je suis débutante et je suis coincée, est-ce que je pourrais avoir un petit indice svp ?
Mercii :D


Titre: Re : Re : Wargame - Bof
Posté par: hisoka69 le 11 Octobre 2020 à 09:10:14
Bonjour,

Je suis débutante et je suis coincée, est-ce que je pourrais avoir un petit indice svp ?
Mercii :D

Le meilleur indice c'est la lecture du livre "Hacking - The Art of Exploitation " de  Jon Erickson.
Un très bon livre qui présente tout ce qu'il faut pour comprendre comment tout cela fonctionne !

Sinon le temps a fait qu'Internet est rempli de bonnes lectures sur le sujet... Il y a plein de sites qui en parlent !


Titre: Re : Wargame - Bof
Posté par: misterbiboulac le 06 Février 2021 à 18:20:19
Bonjour,

J'en suis à un certain point où le programme plante en me disant  :

sh: 1: }�������������������: not found

Je suis sur la bonne voie ou complètement à l'ouest ?

Je précise que je n'obtiens pas cette erreur par hasard, mais avec une adresse bien choisie et des heures de doc :lol:

edit : J'ai finalement validé l'épreuve mais je n'ai pas compris pourquoi j'avais cette erreur, merci pour l'épreuve très enrichissante quand on part de zéro  =)


Titre: Re : Re : Wargame - Bof
Posté par: Pech le 06 Février 2021 à 20:25:52
Bonjour,

J'en suis à un certain point où le programme plante en me disant  :

sh: 1: }�������������������: not found

Je suis sur la bonne voie ou complètement à l'ouest ?

Je précise que je n'obtiens pas cette erreur par hasard, mais avec une adresse bien choisie et des heures de doc :lol:

Salut,

Qu'on te réponde "t'es sur la bonne voie" ou "t'es complètement à l'ouest" ça ne t'avancera pas plus.
Du coup je te propose autre chose : c'est pas normal qu'un programme se comporte ainsi.
Reste à savoir si tu peux en faire quelque chose, et ça tu le sais déjà puisque tu précises toi-même que tu n'obtiens pas cette erreur au hasard :p

++


Titre: Re : Wargame - Bof
Posté par: Rissite le 13 Mars 2021 à 22:09:56
misterbiboulac, si tu obtiens ce résultat, c'est que tu as surement mal faire un truc, ce n'est peut etre pas le programme qui plante.
Tu demande peut etre à ton shell d'executer ton payload (chose inutile) et lui te dit qu'il ne veut pas (car il ne  peut pas)