Esta vulnerabilidad en Bash permite a los atacantes ejecutar comandos maliciosos en el sistema afectado, lo que les permite tomar el control del sistema.
La vulnerabilidad Shellshock se produce en el intérprete de comandos Bash, que es utilizado por muchos sistemas operativos Unix y Linux para ejecutar scripts de shell.
El problema con esta vulnerabilidad se viene produciendo porque Bash permite declarar funciones, pero estas no se validan de forma correcta cuando se almacenan en una variable. por ejemplo:variable='() { contenido de la función;}; '
Y en vez de simplemente definirse, el bug que tenía Bash ocasionaba que se ejecutase el comando que hubiese después de la definición de la función.
Los atacantes pueden explotar esta vulnerabilidad a través de diferentes vectores de ataque. Uno de ellos es a través del User-Agent, que es la información que el navegador web envía al servidor web para identificar el tipo de navegador y sistema operativo que se está utilizando. Los atacantes pueden manipular el User-Agent para incluir comandos maliciosos, que el servidor web ejecutará al recibir la solicitud.
Esta vulnerabilidad se puede explotar remotamente, por ejemplo, en un servidor web, ocasionando un Remote Command Execution (RCE). Los archivos susceptibles a un ataque Shellshock son los que comúnmente pertenezcan a alguna de las siguientes extensiones: • cgi
• sh
Vamos a ver como sería la explotación usando la máquina SickOs 1.1 de VulnHub.
• sh
Demostración
Vamos a ver como sería la explotación usando la máquina SickOs 1.1 de VulnHub.
Una vez hecho el reconocimiento mediante fuzzing y viendo que las rutas son existentes:
Lo primero de todo es identificar el archivo que puede ser vulnerable, en este caso status es tan sencillo como enviar el payload característico de shellshock a través de alguna cabecera, por ejemplo, el User-Agent:
¡Pedazo post! Gracias por compartir tanto. 🦾 🚀
ResponderEliminarEs todo un placer, espero que te haya gustado. Gracias por apoyar mi contenido y por compartir tus videos ;)
Eliminar