Según nos hacíamos eco (www.hispasec.com/unaaldia.asp?id=56) Microsoft afirmaba que el problema estaba solucionado con un parche que arreglaba la vulnerabilidad «antes de que ningún usuario fuera afectado». Se ha demostrado que esta vulnerabilidad sigue afectando a los sistemas Windows con IIS 3.0 ó 4.0 tanto en plataformas x86 como Alpha.
Si accedemos a un sistema Windows mediante TELNET a través del puerto que da servicios HTTP, normalmente el 80, nos dejará introducir el comando GET y al pulsar el retorno de carro la conexión se terminará. El mensaje que nos muestre por pantalla es similar a:
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/4.0
Date: Tue, 12 Jan 1999 23:52:35 GMT
Conten-Type: text/html
Content-Length: 87
El problema viene cuando realizamos un "GET /AAAAAAAAAAA&", IIS irá aceptando toda la secuencia de "A"s, utilizando como buffer la memoria RAM. Y seguirá almacenándolas siempre y cuando las peticiones de "A"s no lleven ningún espacio en blanco ó retorno de carro. Cuando la capacidad de la RAM no le permite albergar más datos el sistema NT comienza a copiar las páginas de memoria que contienen el buffer y se produce un gran traspaso de datos al disco, que termina por colapsar el sistema.
El parche de Microsoft permite que el servidor acepte este tipo de peticiones hasta que lleguen a 2MB, entonces la velocidad del upload baja considerablemente, y termina por desconectar el ataque. Sin embargo, el problema puede darse en los sistemas parcheados a través de un ataque paralelo, que terminan con la denegación del servicio y/o reinicio del sistema.
Bernardo Quintero
No hay comentarios:
Publicar un comentario