Recientemente escuché sobre un error grave en un cliente OpenSSH (CVE-2016-0777 y CVE-2016-0778 ) que si lo entendí correctamente podría causar la ejecución remota de código. ¿Qué tan difícil sería para un hombre en el medio activo explotar eso?
Recientemente escuché sobre un error grave en un cliente OpenSSH (CVE-2016-0777 y CVE-2016-0778 ) que si lo entendí correctamente podría causar la ejecución remota de código. ¿Qué tan difícil sería para un hombre en el medio activo explotar eso?
Como dijo Steve Sether, esto no es un ataque del hombre en el medio .
Según la página:
El roaming SSH permite a un cliente, en caso de que se interrumpa una conexión SSH inesperadamente, para reanudarlo más tarde, siempre que el servidor también lo apoya El servidor OpenSSH no admite roaming, pero el cliente OpenSSH lo admite (aunque no está documentado) y está habilitado por predeterminado.
Para empezar, esta función está habilitada de forma predeterminada en OpenSSH. Peor aún, no está documentado en la página de manual ssh_config(5)
.
Tenga en cuenta que esto es dos exploits:
Con respecto al ataque de desbordamiento de búfer, tenga en cuenta que solo es vulnerable en ciertas condiciones, cuando tiene ProxyCommand, y ForwardAgent o ForwardX11 habilitados. Esas son opciones no predeterminadas, por lo que si bien es posible que no se explote en la mayoría de los casos, es posible .
En el caso de un ataque exitoso de desbordamiento de búfer, supongamos que todo lo accesible por el cliente SSH está violado.
Leería el Análisis de Qualys . Este documento explicará este ataque con gran detalle mucho mejor que la mayoría de nosotros, incluido yo mismo.
podría causar la ejecución remota de código
No hay ejecución remota de código. Ningún hombre en el medio, ya que fue aclarado por Mark. Todo se explica en el Análisis de Qualys como ya vinculado.
Lo vulnerable es la implementación de la función de itinerancia en el cliente . El cliente almacena el búfer de no enviar bytes si se suspende la conexión. El servidor vulnerable y mal diseñado puede forzar al cliente a reenviar más de lo que está en el búfer y, por lo tanto, podría obtener su clave privada, si realmente está almacenada en algunas direcciones cercanas (debería no estar en caso normal).
El análisis se presenta en versión específica (openssh-6.4), que casi no se usa en la actualidad y la mayoría de los casos de uso no son directamente aplicables a las versiones utilizadas actualmente. Además, algunos de los problemas son específicos de los sistemas BSD, donde la puesta a cero de la memoria no funcionó como se esperaba. No logré obtener ninguna de las claves de los sistemas actuales que tenía.
El mayor problema es lo que incluso existió, característica no documentada , que era vulnerable en tal forma. Y que estuvo allí durante tanto tiempo (introducido en 2004) y que fue activado de forma predeterminada. Esto podría haber sido mal utilizado en el pasado, pero no sin el conocimiento del usuario (si la sesión fue interactiva). Si pudieras ver
[connection suspended, press return to resume]
Supongo que sospecharías un poco.
Lea otras preguntas en las etiquetas ssh openssh known-vulnerabilities