Una grave vulnerabilidad bautizada #Shellshock está a la altura del reciente Heartbleed, una vulnerabilidad en el intérprete de comandos Bash permite la posibilidad de ejecutar código remoto en la máquina. Esta vulnerabilidad ha sido catalogada como CVE-2014-6271 con una puntuación de CVSS de 10.
Están afectadas todas las versiones hasta 4.3 incluida. La
vulnerabilidad se produce cuando el intérprete no procesa adecuadamente
las variables de entorno. Mediante la declaración de funciones puede
incluir al final código que será ejecutado independientemente del nombre
de la variable; esto es especialmente crítico en servidores web que
tengan instalados módulos CGI.
Una forma rápida de comprobar si somos
vulnerables o no es ejecutando el siguiente código:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
En ambos casos aparecerá lo último por pantalla "this is a test".
Si se muestra por pantalla la cadena de texto "vulnerable", nuestra
versión de bash estará afectada ya que ha seguido ejecutando el código
añadido a la cola de la función.
Explotación
El bug Shell Shock es tan terrorificamente sencillo que hasta los menos
expertos son capaces de juntar rápidamente algo de código para
comprometer una máquina Linux/Unix (incluido Macs). Así en menos de dos
días hemos pasado de una simple prueba de concepto a una autentica
pandemia de explotaciones.
Una de las más llamativas es la con DHCP y que ahora nos ilustra TrustSec, otra PoC en la que vemos como podemos insertar código en la opción 114 (default-url) de nuestro server para explotar la vulnerabilidad:
String () { ignored;}; echo ‘foo’ en servidor TFTPD64 |
Simplemente hacemos un renew en el cliente (o levantamos el interfaz) y observamos el resultado:
No hay comentarios:
Publicar un comentario