Tras la vulnerabilidad Heartbleed que afectó a un gran número de versiones de OpenSSL y que puso en jaque la seguridad de todo Internet, apareció Shellshock, una vulneabilidad de Bash que es igual e incluso más peligrosa que Heartbleed. En RedesZone hemos realizado un seguimiento detallado de esta vulnerabilidad, primero os informamos qué era esta vulnerabilidad, a continuación os enseñamos a detectar si un servidor cualquiera era vulnerable, y posteriormente os informamos sobre la seguridad en Mac OS X.
Ahora hemos conocido que Shellshock también podría afectar a servidores OpenVPN debido a que este servicio incorpora distintas opciones de configuración que permiten ejecutar comandos personalizados durante las distintas etapas de la autenticación en el servidor. Algunas variables de entorno establecidas pueden ser fijadas por el cliente, lo que aumenta el riesgo de exposición.
Dependiendo de la configuración de OpenVPN, podríamos ser vulnerables a ejecución remota de código aprovechando la vulnerabilidad Shellshock. Una configuración de OpenVPN que permite la explotación de esta vulnerabilidad es «auth-user-pass-verify«, según la documentación oficial de OpenVPN, esta directiva proporciona una interfaz para extender las capacidades de autenticación de los servidores OpenVPN.
Esta opción ejecuta un script definido por el administrador, a continuación se validan los nombres de usuario y claves que proporcionan los clientes a través del intérprete de la línea de comandos, aquí radica el problema, y es que si el cliente envía un «nombre de usuario» específicamente diseñado para «escapar» de la shell, podría ejecutar cualquier orden.
Los desarrolladores de OpenVPN ya sabían de los riesgos de seguridad de esta opción antes de que apareciera Shellshock, y es que se debe tener mucho cuidado en evaluar cualquier script definido por el usuario ya que podrían causar una vulnerabilidad de seguridad.
Fuente: TechWorld
Actualización:
En este enlace de Pastebin podéis ver una prueba de concepto de cómo explotar Shellshock en OpenVPN.
Os recomendamos leer nuestro tutorial sobre configuración OpenVPN para máxima seguridad.