Question sur shellcode

Signaler
Messages postés
23
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
24 août 2008
-
Messages postés
85
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
30 juin 2009
-
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
A voir également:

5 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
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.
Messages postés
23
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
24 août 2008

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.
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
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).
Messages postés
85
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
30 juin 2009

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,
Messages postés
85
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
30 juin 2009

pollydevstorm.zapto.org le lien est mort voici le nouveau

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

cordialement,