Question sur shellcode

cs_miki42 Messages postés 23 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 24 août 2008 - 8 juil. 2008 à 23:14
0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009 - 28 avril 2009 à 21:25
Bonjour a tous, voila une simple question j'apprends les buffers overflows, en essayant de créer des exploits simple sur des programmes deja anciens et vulnerable, bref je me suis aperçut en faisant mes tests que certains shellcode notament recupere sur metasploit ne fonctionne pas je veut dire que c'est comme si un des caractere du shellcode faisait office de caractère nul et terminait ma chaine du coup imposible de deborder en revanche avec un shell simple qui execute la calculatrice ça marche a la perfection, d'ou ma question hormi les bit nul y 'a til des opcode a eviter dans un shellcode ?Merci par avance

5 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
9 juil. 2008 à 08:01
Je pense pas, le 0 c'est simplement parce que ça indique une fin de chaîne.
Tu peux créer un petit programme basique pour tester ton shellcode, genre:

void _Input(void)
{
char pBuffer[0x20];
scanf("%s",pBuffer);
return;
}

__int32 main(void)
{
_Input();
return 0x0;
}

sous VC++:
met un breakpoint en sur le return de _Input puis exécute en debug, quand ça s'arrête click droit-Goto Disassembly, puis exécute pas-à-pas (F11) et tu pourras voir ce qui ne marche pas.
0
cs_miki42 Messages postés 23 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 24 août 2008
10 juil. 2008 à 12:10
Merci d'avoir répondu,je vais tester ceci,pour l'idée du programme pour tester les shellcode je cherchais ça depuis longtemps mais étant novice je n'ai pu en concevoir un,merci encore.
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
10 juil. 2008 à 22:31
ouais mais alors attention, un shellcode est adapté à un type de programme donc notamment faut que pBuffer ait la bonne taille (faut l'adapter par rapport à la taille du shellcode pour que la corruption de la pile se fasse au bon endroit).
0
0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009
2 févr. 2009 à 14:10
Pour executer un shellcode moi je vois plus ce style:

char shellcode[] = "........."; //ici ton shellcode
asm("jmp %esp");

si tu veux quelques exemples de shellcode => http://pollydevstorm.zapto.org/asm/index.html

d'ailleur je crois qu'il y a un tutorial sur la création de shellcode sous linux.

cordialement,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009
28 avril 2009 à 21:25
pollydevstorm.zapto.org le lien est mort voici le nouveau

http://www.shell-storm.org/shellcode

cordialement,
0
Rejoignez-nous