Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2017-0199-Fix — Solución rápida y sucia para que OLE2 ejecute código a través de .hta | Kitploit
Herramientas/GitHubGitHub/notawful/cve-2017-0199-fix
Análisis de VulnerabilidadesExplotaciónAuditoría de ConfiguraciónAprendizaje y EducaciónRespuesta a IncidentesArchived
GitHubnotawful/cve-2017-0199-fix

CVE-2017-0199-Fix

Solución rápida y sucia para que OLE2 ejecute código a través de .hta

Ver Repositorio
1326hace 9 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Corrección de CVE-2017-0199

Eliminar la capacidad de CVE-2017-0199 de ejecutar código cambiando el controlador predeterminado para archivos .hta. El controlador predeterminado para archivos invocados a través de OLE2 (Objetos COM) se almacena por separado de la aplicación predeterminada del sistema local y solo se puede cambiar a través del registro.

Explotación de Lógica Básica

Este es un ejemplo práctico de este exploit, y se explica según mi comprensión. No todas las ocurrencias pueden seguir este patrón y mi evaluación puede ser incorrecta. Sin embargo, la corrección presentada en la siguiente sección sí funciona en las situaciones en las que la he probado.

  1. Un documento RTF alojado en un servidor web tiene una carga útil de aplicación de hipertexto (HTA) maliciosa concatenada al final del mismo.
  2. El servidor de alojamiento responde a las solicitudes GET del archivo con un encabezado que indica que el contenido es un archivo HTA.
  3. Microsoft Word ejecuta un objeto OLE2 para obtener el documento RTF del servidor web.
  4. Microsoft Word se ve forzado a validar el tipo de archivo, ya que la extensión .rtf no coincide con el tipo de contenido HTA.
  5. Microsoft Word verifica desde el final del archivo en busca de estructuras de datos reconocibles y empareja las estructuras de datos HTA con el tipo de contenido HTA.
  6. Microsoft Word autocorrige el tipo de archivo y lo pasa al controlador COM para archivos HTA (mshta.exe).
  7. Mshta.exe ejecuta el código malicioso de la aplicación de hipertexto desde el final del archivo.

Los controladores COM se almacenan por separado de los controladores del sistema en el registro para evitar errores en el proceso de validación del tipo de archivo.

Corrección Básica

  1. En RegEdit.exe navegue hasta
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon
  • Abra los permisos avanzados de DefaultIcon
  • Cambie el propietario a Administrators (grupo)
  • Agregue su cuenta de usuario actual a la lista de entidades de seguridad, asígnele "Full Control"
  • Edite la clave (Default) para que sea C:\Windows\System32\notepad.exe,1
  • En los Permisos Avanzados de DefaultIcon elimine su usuario y reasigne SYSTEM como propietario
  • Repita los Pasos 1 al 6 para HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32, cambiando el valor de la clave (Default) a C:\Windows\System32\notepad.exe
  • Esto elimina la capacidad de CVE-2017-0199 de ejecutar código cambiando el controlador predeterminado para objetos .hta invocados a través de OLE2 a notepad. Esto se aplicará a todas las instancias de OLE2 que invoquen archivos .hta. Esto hará que se abra el notepad y se generarán errores, pero el código no se ejecutará.

    CLAVES DE REGISTRO ORIGINALES

    root@kitploit:~
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
    	C:\Windows\SysWOW64\mshta.exe,1
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
    	C:\Windows\SysWOW64\mshta.exe
    

    CLAVES DE REGISTRO EDITADAS

    root@kitploit:~
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
    	C:\Windows\System32\notepad.exe,1
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
    	C:\Windows\System32\notepad.exe
    

    ENTORNO

    • 1 servidor Ubuntu 16.04.2 LTS con pila LAMP y servidor SSH
    • 1 cliente Windows 10 con Office 365 (2016)

    REFERENCIAS

    • Prueba de concepto del exploit: https://rewtin.blogspot.ca/2017/04/cve-2017-0199-practical-exploitation-poc.html (Consultado el 2017-04-17)
    • Análisis de CVE-2017-0199: https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html (Consultado el 2017-04-17)

    LECCIONES

    • No edite HKCR directamente. Edite las claves asociadas en HKCU o HKLM.
    • Puede devolver la propiedad de una clave de registro a SYSTEM o a otros después de tomarla.
    • No toquetee el registro. Déjelo como lo encontró una vez que haya hecho sus cambios.
    • Process Monitor tiene un potente filtro con clic derecho para reducir el ruido.
    • La función de búsqueda de Process Monitor busca una cadena en todos los campos.
    • pscp.exe (Putty) es una herramienta de transferencia de archivos SSH por línea de comandos.
    • Linux sigue siendo un gran dolor de cabeza.

    Comentario Final

    No me hago responsable de ningún daño o problema causado por esta mitigación o por la confusión del usuario resultante del notepad y un montón de errores. Esta es una solución sucia y no sé si esto causará problemas mayores en un entorno de producción. Como siempre, evalúe las mitigaciones teniendo en cuenta su entorno y necesidades específicas.

    Agregaré capturas de pantalla más adelante para mostrar los efectos antes y después de esta mitigación. También esto se puede hacer como un script, pero estoy teniendo dificultades para cambiar los permisos de la clave de registro, así que lo manejaré más tarde.

    Descargar herramienta