28 de abril de 2015

MICROSOFT. Aplícate el parche MS15-034.

Uno de los parches publicados por Microsoft el pasado martes, el MS15-034, está generando bastante expectación, sobre todo por las consecuencias que podría acarrear su explotación en caso de que se encuentre la forma de llegar hasta ella.
Recursos afectados
  • Los sistemas operativos afectados son Windows 7, 2008 R2, Windows 8 y 8.1, 2012 y 2012 R2. Es posible que esta vulnerabilidad afecte a sistemas que ya no tienen soporte oficial, Microsoft no se ha pronunciado al respecto.
Detalle de la vulnerabilidad
  • El fallo se encuentra en "HTTP.sys". Este componente implementa el conocido protocolo de capa de aplicación HTTP para cualquier componente del sistema o aplicación que consuma u ofrezca recursos web. El error se produce, según el propio boletín de Microsoft, al procesar una cabecera HTTP especialmente manipulada.
  • Respecto a la cabecera, las pruebas de concepto y exploits que han ido apareciendo se basan en la cabecera "Range". Esta cabecera permite a un cliente generar una petición sobre un recurso especificando un rango de bytes concreto. Esto optimiza el tráfico al permitir que un cliente disponga de un "trozo" de un recurso cuya transmisión ha sido infructuosa o simplemente disponer de recursos de gran tamaño en porciones adaptadas al criterio o capacidad del cliente.
  • Una vulnerabilidad similar (CVE-2011-3192) afectó al servidor web Apache cuando se especificaban varios rangos solapados en la misma petición. La explotación, al igual que en esta ocasión, era trivial, y a diferencia de esta, fue usada para tirar bastantes servidores antes de que se publicará un parche.
  • Volviendo al componente, HTTP.sys no es una biblioteca de funciones al uso. Estamos hablando de un dispositivo del kernel de Windows, corre en su espacio y sus permisos están asociados a System. Antes de que las peticiones HTTP sean procesadas por un servidor son recibidas y tratadas por HTTP.sys, algo que permite elevar el rendimiento al efectuar el cacheo de peticiones directamente en espacio del kernel. Precisamente una contramedida oficial pasa por la desactivación del cacheo de peticiones en IIS7, aunque Microsoft ya avisa que esto podría causar un deterioro perceptible del rendimiento del servidor.
  • Algo que venimos observando es que se le está atribuyendo la vulnerabilidad a Microsoft IIS en exclusiva, el servidor dominante en sistemas Windows. Por supuesto es el servidor web en el que todos estamos pensando cuando hablamos de explotación, pero no podemos descartar otros servidores o servicios que se apoyen en HTTP.sys.
  • Con todo esto podemos deducir que el impacto que podría tener una ejecución remota de código arbitrario, a través de un servidor web publicado en Internet con una simple petición HTTP, podría ser desastrosa. HTTP.sys ya tuvo en 2013 (MS13-039) un fallo que causaba una denegación de servicio, se calificó entonces de importante. Recordemos que Microsoft cataloga esta vulnerabilidad de crítica.
La vulnerabilidad tiene el CVE-2015-1635.
  1. La prueba de concepto para evaluar la afectación de un sistema puede lograrse a través de cualquier script o programa que genere una petición HTTP con una cabecera Range en particular como:  Range: bytes=0-18446744073709551615
  2. Con la herramienta de línea de comandos 'curl' por ejemplo: curl -v  dirección-ip-a-probar/ -H "Host: cualquiervalor" -H "Range: bytes=0-18446744073709551615"
Más información:
Fuente: Hispasec