Nueva vulnerabilidad crítica en Windows
Un nuevo agujero de seguridad permite la ejecución de virus en los sistemas operativos de Microsoft, provenientes de NT.
Cuando todavía no hemos digerido el agujero crítico del Internet Explorer, el gusano MS-Blaster todavía colapsa algunas redes, Sobig.F acaba de autodestruirse y cada vez que abrimos un documento con Word cabe la posibilidad de que entre un virus en nuestro ordenador, se anuncia una nueva vulnerabilidad crítica en todas las versiones de Windows derivadas de NT, incluidos Windows 2000, XP y 2003.
Microsoft acaba de publicar un boletín de seguridad para informar de la existencia de diversas vulnerabilidades de seguridad en la implementación RPC de los sistemas operativos Windows (NT Workstation 4.0, NT Server 4.0, NT Server 4.0 edición servidor de terminales, Windows 2000, Windows XP y Windows Server 2003). Algunas de estas vulnerabilidades son especialmente críticas, ya que pueden ser utilizadas para la ejecución de código arbitrario en los sistemas vulnerables.
En primer lugar conviene aclarar que, a pesar de que a primera vista pueda parecer que nos encontramos con el mismo problema anunciado hace escasamente un par de meses y de sobra conocida por ser la vulnerabilidad utilizada por el gusano MS-Blaster, en realidad son dos vulnerabilidades totalmente diferentes y que, por tanto, requiere la instalación del nuevo parche publicado por Microsoft.
Las nuevas vulnerabilidades se encuentran en los mensajes RPC utilizados para la activación de DCOM. Utilizando la función CoGetInstanceFromFile de la API de Windows, es posible enviar el mensaje de activación de DCOM. Si se manipulan la longitud de determinados campos de este mensaje, es posible sobrescribir porciones de la memoria utilizada por la pila con código definido por el usuario. El envío de únicamente cuatro o cinco secuencias de mensajes es suficiente para provocar una excepción del sistema. En el momento que se produce la excepción, controlando los valores de los registros eax y ecx, es posible escribir un dword arbitrario que apunte a cualquier dirección de la memoria.
Llegados a este punto, el atacante dispone de la posibilidad de ejecutar cualquier código en el ordenador de la víctima. Esto puede (o podrá) ser utilizado por futuros gusanos de distribución masiva al estilo del MS-Blaster.
Existen diversas medidas que pueden tomarse para evitar esta vulnerabilidad, aunque sólo una de ellas es (en principio y hasta que no se demuestre lo contrario) totalmente efectiva: la instalación del nuevo parche publicado por Microsoft y que ya está disponible en Windows Update así como a través del boletín publicado por Microsoft (ver la dirección en el apartado “Más información”). Desde Hispasec recomendamos que, siempre que sea posible, se instale este parche.
Las otras medidas no evitarán que el sistema sea vulnerable, pero si pueden evitar que un atacante remoto pueda aprovechar esta vulnerabilidad. Estas medidas adicionales pasan por el filtrado del tráfico RPC (puertos UDP 135, 137, 138 y 445 y los puertos TCP 135, 139, 445 y 593) procedente de redes en las que no confiamos, desactivar el servicio COM Internet Services, utilizar un cortafuegos personal o anular el servicio DCOM en el sistema operativo. Todas estas medidas tienen sus efectos secundarios y pueden provocar que determinados servicios o aplicaciones dejen de funcionar.
Por último destacar que tanto Microsoft como eEye han publicado sendas herramientas que permiten identificar los equipos de la red que son vulnerables a este problema. La herramienta de Microsoft funciona directamente desde la línea de órdenes del sistema operativo, mientras que la de eEye es una aplicación Windows con un interfaz gráfico.