El smb relay, o como lo llama microsoft, credential reflection, es un problema inherente al maravilloso (sic) protocolo samba. Ha sido parcialmente parcheado, solo parcialmente, porque arreglar el desaguisado significaria cambiar la forma en que trabajan compartiendo archivos la inmensa mayoria de los ordenadores.
El protocolo samba actualmente trabaja de la siguiente manera:
1.- El cliente llama a la puerta del servidor.
2.- El servidor mira por la mirilla y le dice que le enseñe la patita, pero de una forma especial, ya que si alguien anda esnifando la red, podria coger al vuelo el hash del password, asi que le propone un reto (challege), yo te mando un challenge, tu me lo codificas con el hash de tu password (que yo conozco) y si coincide con el que yo codifique te abro la puerta...
3.- El cliente le manda el challenge de vuelta codificado con su hash.
4.- El servidor compara los dos challeges y si coinciden quita los cerojos, abre la puerta y le invita a cafe.
Ahora bien, que pasa si hacemos como los hermanos Marx, osea, volver loco al servidor? Pues eso, que se vuelve loco. A este proceso yo lo llamo "la parte contratante de la primera parte"
1.- El cliente llama al timbre.
2.- El servidor le envia el challenge.
3.- El cliente se pone el mundo por montera, pone a los black flag en el mp3 y haciendose el loco le manda otro challenge al servidor diciendo "Si tienes cojones codificame este challenge con mi password".
4.- El servidor, que aunque yanki, parece buen español, si le mientan los cojones pierde la cabeza, asi que responde.
5.- El cliente reenvia el challenge que le acaba de mandar el server.
6.- El servidor cerrojos, puerta, cafe y lo que haga falta...
Un poco absurdo no? Pues si, pero es microsoft, no espereis nada del otro mundo.
Esto funcionaba hasta que se decidieron a parchear el problema. Con vista y server 2008 se arreglo a medias, ya que si hacemos un menage a trois (menasatrua(trio)), entre dos clientes y un servidor y nos metemos en medio (mitm) aquello se convierte en el camarote de los hermanos marx, donde nadie sabe que hacer con el challege y acabamos autentificados ;)
Para realizar este ataque a una maquina sin parchear, habria que cambiar en el registro del cliente el valor de:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
Que por defecto es "\Device\" y dejarlo en blanco. Reiniciar la maquina y hacer un lindo ataque con el exploit smb_relay de metasploit apuntando al servidor.
P.D: Lei hace tiempo un howto cojonudo, con capturas de wireshark explicando todo el proceso paso a paso, pena que no recuerdo la direccion. Si recupero la memoria linkare.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario