💉Command Injection - Skills Assesment
Última actualización
Última actualización
Nos han contratado para realizar una prueba de penetración para una empresa y, durante la prueba, descubrimos una aplicación web de administración de archivos interesante. Como los administradores de archivos suelen ejecutar comandos del sistema, nos interesa probar vulnerabilidades de inyección de comandos.
Utiliza las diversas técnicas presentadas en este módulo para detectar una vulnerabilidad de inyección de comandos y luego explotarla, evadiendo cualquier filtro existente.
Al acceder con las credenciales que nos proporciona el cliente entramos a un administrador de archivos, y vemos que se añade el parámetro ?to=
a la url:
Detectamos que en la funcionalidad de copiar devuelve un error en el front, lo que nos permitiría explotar un command injection:
Observamos que se añade un nuevo parámetro from=
En el request observamos que se envía por GET con el siguiente formato:
Vamos a probar a modificar la solicitud para intentar leer el archivo /etc/passwd
:
Vemos que funciona pero hay algún tipo de filtro que lo detecta como malicioso.
Vamos a probar a listar los archivos del directorio raiz /
con el objetivo de encontrar la flag. El comando ls /
también lo considera malicioso, así que vamos a hacer el bypass:
Vamos a repetir los mismos pasos pero enfocado a leer la flag del directorio /.
Extraemos la flag sin problema!