Como parte de una investigación hemos realizado un escaneo para verificar la cantidad de direcciones IP del espacio asignado a Argentina que podrían ser vulnerables a cve-2015-1635 / ms15-034. Y hemos encontrado que aún existen varios equipos vulnerables.
Descripción
“Existe una vulnerabilidad de ejecución remota de código en la pila del protocolo HTTP (HTTP.sys) que es causada cuando HTTP.sys analiza de forma incorrecta la sintaxis de ciertas solicitudes HTTP especialmente diseñadas.
Un atacante que aproveche esta vulnerabilidad podría ejecutar código arbitrario en el contexto de la cuenta del sistema, para aprovechar esta vulnerabilidad, un atacante tendría que enviar una solicitud HTTP especialmente diseñada al sistema afectado.
La actualización corrige la vulnerabilidad al modificar la forma en que la pila HTTP de Windows maneja las solicitudes”.
(Microsoft Security Bulletin MS15-034.)
Sistemas Vulnerables
- Microsoft Windows 7
- Microsoft Windows 8
- Microsoft Windows 8.1
- Microsoft Windows Server 2008
- Microsoft Windows Server 2012
Cabe destacar que Microsoft ha lanzado un parche para solucionar esta vulnerabilidad, el día 14 de abril de 2015 por lo que, a estas alturas, casi dos meses después, no deberían quedar sistemas vulnerables.
Lo cierto es que esto no es así, y aún existen sistemas que podrían ser comprometidos a través de dicha vulnerabilidad.
Análisis
Para verificar esto se ha realizado un análisis de las direcciones IP que contienen abiertos los puertos TCP/80 o TCP/443 y se ha verificado a través de un método no dañino la presencia de dicha vulnerabilidad.
Se han analizado únicamente las direcciones IPv4 asignadas a Argentina, por el simple hecho de hacer más breve el análisis. Debemos tomar conciencia de que evitar esta vulnerabilidad es tan sencillo como aplicar un parche, y que el hecho de estar vulnerables nos expone, incluso a que un atacante pueda tomar el control remoto de nuestros sistemas.
En Metasploit Framework ya existe hace un tiempo un exploit público que permite realizar una Denegación de Servicio (DoS) a los servidores vulnerables. Pero es sabido que dicha vulnerabilidad podría permitir la ejecución de código y esto da a suponer la existencia de expoits privados con dicha capacidad, por lo que hay que tener mucho cuidado.
El listado de las direcciones a analizar fue tomado del siguiente archivo:
http://bgp.potaroo.net/stats/lacnic/delegated
En total, se han encontrado 56 direcciones IPv4 vulnerables.
Verificación
Podemos verificar si alguna de nuestras direcciones IPv4 se encuentra vulnerable utilizando el siguiente comando:
curl 131.255.4.27 -H "Host: test" -H "Range: bytes=0-18446744073709551615"
En caso de que obtengamos un error 416 como el que aparece más abajo, nuestro sistema es vulnerable:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Requested Range Not Satisfiable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Requested Range Not Satisfiable</h2>
<hr><p>HTTP Error 416. The requested range is not satisfiable.</p>
</BODY></HTML>
Referencias
- http://www.cvedetails.com/cve/CVE-2015-1635
- https://technet.microsoft.com/library/security/ms15-034
- http://www.securityfocus.com/bid/74013
- https://www.exploit-db.com/search/?action=search&cve=2015-1635
- http://nmap.org/nsedoc/scripts/http-vuln-cve2015-1635.html