Se ha descubierto un nuevo ataque DoS (Denial of Service) contra
Windows NT 4.0 Terminal Server. Esta vulnerabilidad permite que
un atacante remoto consuma de forma rápida toda la memoria disponible
en un servidor NT 4.0 con Terminal Server, con lo que se produce una
degradación en los servicios prestados en ese momento a otros
usuarios e impide que se pueda llevar a cabo cualquier otra conexión.
Windows NT 4.0 Terminal Server escucha a través del puerto TCP 3389
a los posibles usuarios que se quieran conectar. Cuando se lleva a
cabo una conexión a dicho puerto el software consume recursos del
sistema para poder manejar y autentificar la nueva petición. Esta
forma de proceder es lógica si tenemos en cuenta que el software
debe prestar numerosos servicios, sin embargo Terminal Server
empieza a consumir demasiados recursos antes incluso de que se lleve
a cabo la autentificación, y por tanto se demuestre que el usuario
tiene acceso a utilizar el Terminal Server.
Esta peculiar forma que el software tiene a la hora de manejar las
peticiones de conexión, es la que permite que un atacante remoto
pueda lograr colapsar el servidor consumiendo toda su memoria. Tan
sólo basta con lanzar numerosas conexiones TCP normales al puerto
3389 contra la dirección del servidor víctima. Cada una de las
peticiones que lanza el atacante terminarán por desaparecer forzadas
por el timeout del servidor, y por lo tanto el consumo de recursos
que conllevaba. Sin embargo, un ataque prolongado con un mínimo ancho
de banda puede lograr mantener ocupado al sistema, debido a que la
petición constante de nuevas conexiones compensa a las que se pierden
por sobrepasar el timeout (tiempo de espera).
En las pruebas realizadas, mediante el uso continuo de peticiones al
puerto 3389 de una máquina con Terminal Server, se ha acaparado toda
la memoria del sistema y el servicio ha sido inutilizado por la
sobrecarga, con lo que incluso ha sido necesario reiniciar el sistema
para volver operativo el servicio.
Para prevenir este tipo de ataques se puede filtrar los paquetes
destinados a un puerto específico, en este caso el TCP 3389. En el caso
de que sólo usuarios internos tengan acceso legítimo, bastará con
rechazar cualquier paquete a este puerto proveniente de un rango de
direcciones IP distinta a la nuestra. Si también se cuenta con usuarios
externos deberemos limitar los accesos en razón de direcciones IP
específicas ó incluso redes desde las que provengan.
En el caso concreto que nos ocupa, se recomienda instalar el parche
que ha puesto a disposición Microsoft. Esta actualización provoca que
nuestro software no inicie ningún consumo de recursos extra hasta que
el usuario es autentificado, con lo que el envío sucesivo de paquetes
TCP contra el puerto 3389 no provocará la denegación de servicio de
forma tan inmediata. En los casos de un «bombardeo» de paquetes sigue
siendo recomendable algún tipo de filtro.
Parche disponible en:
ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40tse/hotfixes-postSP4/Flood-fix/
Más información:
Boletín Microsoft: http://www.microsoft.com/security/bulletins/ms99-028.asp
FAQ: http://www.microsoft.com/security/bulletins/MS99-028faq.asp
SecurityFocus: http://www.securityfocus.com/templates/advisory.html?id=1674
SecurityFocus: http://www.securityfocus.com/level2/bottom.html?go=vulnerabilities&id=571
Deja una respuesta