|
VSantivirus No. 1017, Año 7, Domingo 20 de abril de 2003
Falla en la autenticación del protocolo SMB en Windows
http://www.vsantivirus.com/vul-smb-ntlm.htm
Por Redacción VSAntivirus
vsantivirus@videosoft.net.uy
Microsoft utiliza el protocolo SMB (Server Message Block Protocol), para acceder a los recursos compartidos de una red, a través del puerto 445 (2000 y XP), y 139 (NetBeui en sistemas Microsoft Windows), el servicio conocido como "Compartir archivos e impresoras" en todas las versiones de Windows.
Para conseguir acceso a un recurso de red, se utiliza autenticación NT LM (un método de autenticación cifrado, en que las contraseñas verdaderas nunca se transmiten completas entre cliente y servidor). Cuando el usuario logueado solicita un recurso compartido al servidor, Windows automáticamente envía en trozos, la contraseña encriptada del usuario al servidor SMB antes de preguntar por el password. Solo si la autenticación falla, Windows muestra una ventana para ingresar nombre de usuario y contraseña.
Aunque la contraseña enviada en trozos, no está en formato de texto plano sino encriptada, un servidor y un cliente SMB malicioso podrían usar esta información para autenticarse en la máquina del cliente, y en muchos casos, obtener el control total sobre los objetos compartidos del mismo, como C$, etc.
Son vulnerables todas las versiones de Windows, incluidas XP, 2000, .NET y Windows 9x/Me.
Un procedimiento para explotar esta falla, podría iniciarse cada vez que un cliente solicitara un recurso compartido, pero también se podría forzar esta condición mediante el envío de un correo electrónico en formato HTML, con un objeto apuntando a un recurso compartido por el servidor. Esto podría llevarse a cabo en forma automática, sin el conocimiento del usuario.
Un ejemplo del primer caso (un cliente solicitando un recurso compartido), puede resumirse en diez pasos:
1. El cliente intenta conectarse al servidor. Manda una solicitud al servidor SMB malicioso (ignora que lo es).
2. El servidor SMB maligno recibe la solicitud pero no manda la respuesta al cliente, sino a un cliente también malicioso.
3. El cliente SMB maligno envía la solicitud al servidor SMB de la víctima.
4. Este servidor envía la respuesta al cliente SMB atacante.
5. El cliente SMB atacante envía la respuesta al servidor SMB malicioso, y la devuelve al cliente de la víctima.
6. El cliente de la víctima recibe la respuesta. Encripta la contraseña, usando la respuesta recibida, y la envía al servidor atacante.
7. El servidor atacante envía su respuesta al cliente atacante.
8. El cliente atacante envía la respuesta recibida al servidor de la víctima.
9. El servidor de la víctima recibe la respuesta.
10. La autenticación es exitosa, y en ese momento, el cliente atacante tiene el control sobre la computadora de la víctima.
Este procedimiento es algo engorroso, y requiere un conocimiento amplio de los protocolos SMB y de la autenticación NT LM. Sin embargo, también existen implementaciones de código abierto del protocolo SMB, que pueden ser explotadas mucho más fácilmente.
En cualquier caso, es importante tener en cuenta lo siguiente:
1. El atacante gana el mismo nivel de acceso que tenga la víctima.
2. La explotación puede fallar si los puertos 139 y 445 usados por el protocolo SMB están cerrados, o si la víctima se encuentra detrás de un cortafuegos.
3. Esta vulnerabilidad no se limita al servicio "Compartir archivos e impresoras", y podría ser explotada en varios servicios del tipo RPC (Remote Procedure Call).
Otra solución momentánea, sería evitar que el cliente SMB rechace las respuestas idénticas a las recién enviadas por el servidor SMB.
Más información
Authentication Flaw in Windows SMB Protocol.
http://seclab.ce.aut.ac.ir/vreport.htm
(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com
|