Shellshock en Windows (Inyección de comandos en variables de entorno de ficheros batch)


¿Y si te contara que un usuario normal de una red corporativa puede tomar el control de un servidor de ficheros Windows sólo creando una carpeta con un nombre especial dentro de un recurso compartido?

En Windows el caracter & es interpretado como un separador de comandos, por lo que para ejecutar el segundo comando sólo hace falta mostrar una variable de entorno o asignar el valor de una variable a otra:




En sí mismo esto no se considera un exploit porque está claro que si pueden modificar las variables de entorno de tu servidor ya estás jodido. Pero, ¿y si existe una tarea programada que ejecuta un bat con un ECHO %CD% o algo como SET CurrentPath=%CD%?

Si lo piensas, los .bat suelen ser muy comunes en servidores de ficheros en lo que se realizan tareas programadas, por ejemplo para comprobar que el administrador tiene permiso en todos los sub-directorios o para ver el tamaño de cada uno de ellos. Entonces un usuario simplemente puede crear un directorio:

\fileServer1\Share\user1\T&malware

Y crear un fichero  “malware.bat” que contiene:

Net localgroup administrators domain\user1 /add
O
Net user administrator newpassword123!!

Fuente: Command-injection vulnerability for COMMAND-Shell Scripts
Shellshock en Windows (Inyección de comandos en variables de entorno de ficheros batch) Shellshock en Windows (Inyección de comandos en variables de entorno de ficheros batch) Reviewed by Zion3R on 22:24 Rating: 5