Glossary
Shellcode
Un shellcode est un petit fragment de code machine indépendant de la position, utilisé comme payload d'un exploit — historiquement pour ouvrir un shell, d'où le nom.
Un shellcode est un petit fragment de code machine indépendant de la position, utilisé comme payload d'un exploit. Quand une vulnérabilité te donne le contrôle de l'exécution, c'est le shellcode qui s'exécute réellement. Le nom vient de son objectif d'origine : ouvrir un shell de commande.
Un exemple minimal sous Linux x86 qui appelle execve("/bin/sh") tient en 25 octets :
\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80
Un shellcode doit généralement éviter certains octets (souvent 0x00), s'exécuter quel que soit l'endroit où il atterrit en mémoire, et rester compact. Les payloads modernes font bien plus qu'ouvrir un shell — connexions reverse TCP, exécution de commandes, loaders à étages — mais le terme est resté.
Lire le guide complet : Qu'est-ce qu'un shellcode ?