2/ Shellcoding

Le but est d'ecrire des shellcodes avances

2-1/ Passer le detecteur de chiche

Vous avez le sujet complet dans le cours après la partie sur les shellcodes cryptés

Le binaire est accessible ici

Le but est que votre shellcode ne soit pas détecté, donc que le programme affiche que le binaire passer en argument ne contient pas de shellcode

Un binaire classique est detecter en tant que shellcode:

./chichtest "`cat shellcode.o`" 
	    	    shellcode detected
	    

Ne passer de binaire trop gros au chichtest car comme il a etait coder par chiche il est tres lent.

Vous devez au moins donner les sources asm et C de votre decodeur / encodeur.

Si vous avez fait un petit framework interessant sa vous rapportera plus de points (detection de la taille du shellcode et changement ds le decodeur, generation de plusieurs shellcode cryptes avec different algo ..), il y a aussi un bonus pour ce qui peuvent expliquer le fonctionnement de chichtest.

2-2/ Faire un bind shell

Vous devez ecrire un shellcode qui bind un shell sur un port, comme dans l'exercice precedent vous pouvez rajouter au tant d'options que vous le voulez pour avoir des points bonus. (ex: reutilisation d'une socket existante, reverse bind ...), essayer aussi d'ecrire le plus petit shellcode possible.