El cliente telnet (telnet.exe) que se distribuye con Windows 2000
utiliza siempre por defecto NTLM durante el proceso de autenticación.
Un atacante puede diseñar una página web o mensaje de correo HTML
que, al visualizarse en el sistema de la víctima, lance de forma
automática una sesión telnet dirigida a su sistema, y que le
permitiría capturar credenciales y comprometer las contraseñas.
NTLM (NT LanMan) es un proceso de autenticación que se incorporó
en Windows NT y que utiliza el sistema desafío/respuesta para
evitar que las contraseñas viajen por la red. Cuando el proceso
de autenticación comienza, el cliente envia una solicitud al
servidor, al que éste responde con un desafío aleatorio. El
cliente envía al servidor la respuesta, resultado de una función
hash en la que intervienen la cadena desafío y su contraseña.
Por último el servidor realiza esa misma función de forma local
y compara el resultado con la respuesta del cliente, para ver si
coinciden y, por tanto, ha utilizado la contraseña correcta.
Durante todo este proceso en ningún momento la contraseña viaja
por la red, sino el resultado de una función donde uno de los
parámetros de partida es la contraseña. Para comprometer este
sistema un atacante debe conocer tanto el desafío cómo la
respuesta, e introducir estos elementos en un programa que,
bien por fuerza bruta o diccionario, calcule una y otra vez
la función hash entre el desafío y posibles contraseñas hasta
que el resultado coincida con la respuesta, lo que indicará
que ha utilizado, y encontrado, la contraseña correcta.
La mayoría de los programas que interpretan HTML, entre ellos los
difundidos Internet Explorer, Outlook, y Netscape, lanzan de forma
automática el cliente telnet.exe cuando encuentran una URL tipo
«telnet://». Un documento HTLM puede provocar que la víctima que
los visualice lance de forma automática una sesión telnet contra
el sistema del atacante, éste a su vez intentaría acceder vía SMB
a un servidor donde la víctima tiene acceso, utilizaría a
continuación la negociación comenzada por la víctima para hacer de
puente entre el cliente telnet y el servidor SMB, lo que le permite
escuchar y capturar todo el tráfico generado en el desafío/respuesta
NTLM. Otra opción consiste en que el atacante genere de forma directa
los desafíos que el cliente telnet debe responder, lo que facilitaría
la labor de ataque al poder elegir los desafíos y no utilizar los
aleatorios que un servidor genera.
Microsoft facilita un parche que corrige este problema de Windows
2000, disponible desde la dirección:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=24399
Los usuarios de Windows NT no se encuentran afectados por esta
vulnerabilidad, ya que el cliente telnet.exe distribuido con
este sistema no utiliza NTLM.
redaccion@hispasec.com
Más información:
Vulnerability «Windows 2000 Telnet Client NTLM Authentication»
http://www.microsoft.com/technet/security/bulletin/ms00-067.asp
FAQ Microsoft Security Bulletin (MS00-067)
http://www.microsoft.com/technet/security/bulletin/fq00-067.asp
NTLM Replaying via Windows 2000 Telnet Client
http://www.atstake.com/research/advisories/2000/a091400-1.txt
Deja una respuesta