claves SSH del lado del servidor comprometidas

8

Estoy interesado en saber cuál podría ser la consecuencia si se comprometieran las claves SSH del servidor de un host.

La situación sería:

  • Un atacante se las arregla para leer las claves privadas SSH del servidor.
  • El atacante puede MITM cualquier conexión al host (porque está controlando el enrutador, o w / e).

¿Eso significa que el atacante puede leer los datos que pasan por cualquier conexión SSH? Yo diría que no debido a algunos algoritmos de intercambio de claves como Diffie-Hellman. ¿Es eso correcto?

Supongo que lo peor que podría hacer un atacante es hacerse pasar por el servidor, lo que lleva a los usuarios a iniciar sesión en su sistema en lugar del legítimo.

    
pregunta Xaqq 04.04.2014 - 11:23
fuente

3 respuestas

5

Debido al uso del intercambio de claves Diffie-Hellman, saber que la clave privada del servidor no ayuda a un atacante pasivo-solo . Si el atacante quiere aprender los datos, debe activarse.

Si el atacante conoce la clave privada del servidor, puede hacerse pasar por el servidor, es decir, ejecutar un servidor falso y permitir que los usuarios se conecten a él. Para un ataque Man-in-the-Middle completo, el atacante debe hacer una doble personificación: como un servidor falso cuando se habla con el cliente genuino, y como un servidor falso cuando se habla con el servidor genuino. Si el servidor utiliza autenticación basada en contraseña, esto es fácil: el cliente enviará su contraseña al servidor falso, momento en el que el atacante lo sabe y lo utiliza. Si el servidor espera una autenticación basada en clave del cliente, esto no funcionará.

Sin embargo, es probable que un servidor falso (que no sea MitM) pueda engañar a un cliente y aprender secretos sin tener que usar MitM.

    
respondido por el Thomas Pornin 04.04.2014 - 16:05
fuente
2

Si el cliente inicia inicialmente una conexión con el servidor correcto, entonces no, el atacante no puede hacer nada contra esa conexión, pero si el atacante puede hacer que el usuario se conecte con ellos, entonces pueden jugar al intermediario y realice una conexión con el cliente y una conexión separada con el servidor siempre que no se utilicen certificados de clientes.

Sin embargo, si el cliente también usa un certificado, entonces el atacante tiene un problema, ya que no podrá completar la autenticación con el servidor real como cliente sin tener también la clave privada del cliente. Esto se debe a que el intercambio de claves de sesión requiere conocer la parte de la clave creada tanto por el cliente como por el servidor. Si el servidor real encripta su parte de la clave de sesión con la clave privada del cliente, entonces es imposible que el MITM complete la clave de la sesión para hablar con el servidor real y no puede funcionar como un MITM. el servidor real.

Si el MITM puede capturar la primera vez que un cliente realiza una conexión, sin embargo, puede convencer al servidor de que el par de claves que genera es en realidad el cliente y luego puede MITM exitosamente una clave de cliente, pero esto solo funciona si el servidor real no tiene conocimiento previo del certificado público del cliente.

    
respondido por el AJ Henderson 04.04.2014 - 15:54
fuente
0
  

Supongo que lo peor que podría hacer un atacante es hacerse pasar por el servidor, lo que lleva a los usuarios a iniciar sesión en su sistema en lugar del legítimo.

En realidad, esto significa que el atacante puede leer el tráfico, actuando como proxy.

La pregunta es: ¿la autenticación basada en clave tendrá algún efecto positivo para el cliente?

Respuestas de esa pregunta cubriendo eso en algunos detalles

    
respondido por el MolbOrg 04.04.2014 - 13:37
fuente

Lea otras preguntas en las etiquetas