SMBRelay y SMBRelay2 son programas informáticos que se pueden utilizar para llevar a cabo ataques de intermediario (mitm) SMB en máquinas Windows . Fueron escritos por Sir Dystic de Cult of the Dead Cow (cDc) y publicados el 21 de marzo de 2001 en la convención @lantacon en Atlanta , Georgia . Más de siete años después de su lanzamiento, Microsoft publicó un parche que solucionaba el agujero explotado por SMBRelay. [1] [2] Esta corrección sólo corrige la vulnerabilidad cuando el SMB se refleja de vuelta al cliente. Si se reenvía a otro host, la vulnerabilidad puede seguir explotándose. [3] [4]
SMBrelay recibe una conexión en el puerto UDP 139 y retransmite los paquetes entre el cliente y el servidor de la máquina Windows que se conecta al puerto 139 de la computadora de origen. Modifica estos paquetes cuando es necesario.
Después de conectarse y autenticarse, el cliente de destino se desconecta y SMBRelay se vincula al puerto 139 en una nueva dirección IP . A continuación, se puede conectar directamente a esta dirección de retransmisión mediante "net use \\192.1.1.1" y, a continuación, utilizarla con todas las funciones de red integradas en Windows. El programa retransmite todo el tráfico SMB, excluyendo la negociación y la autenticación. Mientras el host de destino permanezca conectado, el usuario puede desconectarse y volver a conectarse a esta IP virtual .
SMBRelay recopila los hashes de contraseñas NTLM y los escribe en hashes.txt en un formato que L0phtCrack puede utilizar para descifrarlos más adelante.
Como el puerto 139 es un puerto privilegiado y requiere acceso de administrador para su uso, SMBRelay debe ejecutarse como una cuenta de acceso de administrador. Sin embargo, como el puerto 139 es necesario para las sesiones NetBIOS , es difícil bloquearlo.
Según Sir Dystic, "el problema es que, desde un punto de vista de marketing, Microsoft quiere que sus productos tengan la mayor compatibilidad posible con versiones anteriores, pero al seguir utilizando protocolos que tienen problemas conocidos, siguen dejando a sus clientes expuestos a la explotación... Se trata, una vez más, de problemas conocidos que han existido desde el primer día de este protocolo. No se trata de un error, sino de un fallo de diseño fundamental. Suponer que nadie ha utilizado este método para explotar a la gente es una tontería; me llevó menos de dos semanas escribir SMBRelay". [5]
SMBRelay2 funciona a nivel NetBIOS en cualquier protocolo al que esté vinculado NetBIOS (como NBF o NBT ). Se diferencia de SMBrelay en que utiliza nombres NetBIOS en lugar de direcciones IP.
SMBRelay2 también admite la interconexión con un tercer host. Sin embargo, solo admite la escucha de un nombre a la vez.