Ejecucion de codigo arbitrario en Microsoft CVE-2017-0199

“Es una vulnerabilidad de ejecución de código arbitrario en Microsoft Office que se manifiesta debido a un manejo incorrecto de los archivos de formato de texto enriquecido (RTF).”

Underc0de - CVE-2017-0199

Por lo general se ha detectado el ataque en mensajes de correo electrónico donde la víctima abre un documento específicamente diseñado para explotar la vulnerabilidad.

Es importante mencionar que esta vulnerabilidad continúa siendo explotada activamente.

Underc0de - CVE-2017-0199

Ataque

Empezaremos por el principio, la creación del documento, se puede crear de forma manual, pero a día de hoy existen generadores para ahorrar tiempo, por lo que en este caso lo utilizaremos así:
bhdresh aunque podéis utilizar el que vosotros queráis.

Primero generamos el RTF.

Underc0de - CVE-2017-0199

Generamos el meterpreter (OPCIONAL)

Iniciamos la tool en modo exploit

Underc0de - CVE-2017-0199

El gráfico actual de ataque sería el siguiente:

Underc0de - CVE-2017-0199

Aunque también podemos utilizarlo en modo remoto de la siguiente forma.

Underc0de - CVE-2017-0199

Al abrir nuestro documento nos aparecerá el siguiente error, si la víctima pulsa “Si” nuestro servidor recibirá la petición y recibiremos nuestra sesión de meterpreter

Underc0de - CVE-2017-0199

Underc0de - CVE-2017-0199

Underc0de - CVE-2017-0199

Defensa

Ahora que ya tenemos nuestro documento, es hora del análisis, para ello utilizaremos una tool desarrollada en python llamada rtfdump, utilizaremos esta herramienta para sacar la URL verdadera y llegar a la conclusión de si el fichero RTF es seguro o no.

En primer lugar abriremos nuestro documento a través de la rtfdump.

Underc0de - CVE-2017-0199

Como devuelve mucha información, cerraremos el cerco buscando únicamente los objetos OLE 1.0 que tiene nuestro documento.

Obtenemos un único objeto con el índice 10.

Underc0de - CVE-2017-0199

Hacemos una búsqueda más exhaustiva de nuestro índice.

Underc0de - CVE-2017-0199

En este volcado hexadecimal / ascii, podemos ver que el texto comienza con 01050000 02000000, lo que significa que es un objeto OLE 1.0. Además detectamos el string d0cf11e0, suponiendo que contiene un archivo OLE.

Con la opición -H, convertiremos los caracteres hexadecimales a binario:

Underc0de - CVE-2017-0199

Obtenemos el string OLE2Link, a la que se ha hecho referencia. Con la opción -i, podemos obtener más información sobre el objeto incrustado:

Underc0de - CVE-2017-0199

Ahora que estamos seguros de que es un fichero OLE incrustado utilizamos -E para extraerlo.

Underc0de - CVE-2017-0199

Para analizar este fichero, utilizaremos oledump (
didierstevens), oledump necesita el modulo olefile, por lo que si no está, deben instalarlo antes (pip install -U olefile)

Utilizando -d y un pipeline, le pasaremos el fichero extraído a oledump.

Underc0de - CVE-2017-0199

Obtenemos 3 resultados, vamos a echarle un vistazo al primero mediante el siguiente comando.

Y finalmente obtenemos la URL del documento infectado.

Underc0de - CVE-2017-0199


Agradecemos a BLACKDRAKE por la explicación.

Para ver el post completo: Ejecución de codigo arbitrario en Microsoft CVE-2017-0199


Posts Relacionados

Comments

comments

Deja una respuesta

Tu email no será publicado. Los campos requeridos estan marcados con *
Puedes usar tags HTML y los atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">