10 oct 2014

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 administradores suelen programar la ejecución de ficheros .bat en servidores de ficheros para realizar algún tipo de mantenimiento, por ejemplo para comprobar los permisos de todos los sub-directorios o para ver el tamaño de cada uno de ellos. Entonces un usuario con privilegios limitados simplemente puede crear un directorio:
\fileServer1\Share\user1\T&malware
Y crear un fichero "malware.bat" que contiene:
Net localgroup administrators domain\user1 /add
Net user administrator newpassword123!!
Después simplemente tiene que esperar a que el fichero batch corra con permisos elevados y haga uso de la variable %CD% sobre el nombre del directorio.

Fuente: HackPlayers y Command-injection vulnerability for COMMAND-Shell Scripts

Suscríbete a nuestro Boletín

3 comentarios:

  1. Como les duele el culo a los linuxeros, eh???;-)

    ResponderBorrar
    Respuestas
    1. Mas te va a doler doler a vos porque esto Microsoft lo toma como algo normal y no va a aplicar ningún parche Igual que esto otro:
      http://www.commonexploits.com/unquoted-service-paths/
      Mira mama! con modulo de metasploit y todo!
      http://www.rapid7.com/db/modules/exploit/windows/local/trusted_service_path

      Borrar
  2. jajajajajajaaj buen comentario... igual no me duele

    ResponderBorrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!