Introducción

Cubrimos cómo funciones de desactivación de bypass en php y cómo evadir los filtros de carga en esta máquina TryHackMe.

¿Qué es una vulnerabilidad de carga de archivos?
Esta vulnerabilidad se presenta en aplicaciones web donde existe la posibilidad de subir un archivo sin ser revisado por un sistema de seguridad que frene los peligros potenciales.
Permite a un atacante cargar archivos con código (scripts como .php, .aspx y más) y ejecutarlos en el mismo servidor, más información en este habitación.
¿Por qué esta habitación?
Entre las medidas típicamente aplicadas se encuentra la desactivación de funciones peligrosas que podrían ejecutar comandos del sistema operativo o iniciar procesos. Funciones como system() o shell_exec() a menudo se desactivan mediante directivas PHP definidas en el archivo de configuración php.ini. Otras funciones, quizás menos conocidas como dl() (que permite cargar una extensión PHP de forma dinámica), pueden pasar desapercibidas para el administrador del sistema y no estar deshabilitadas. Lo habitual en una prueba de intrusión es listar qué funciones están habilitadas por si se ha olvidado alguna.
Una de las técnicas más fáciles de implementar y no muy extendida es abusar de las funcionalidades mail() y putenv(). Esta técnica no es nueva, ya fue reportada a PHP en 2008 por gat3way, pero todavía funciona a día de hoy. A través de la función putenv() podemos modificar las variables de entorno, permitiéndonos asignar el valor que queramos a la variable LD_PRELOAD. Aproximadamente LD_PRELOAD nos permitirá precargar una biblioteca .so antes que el resto de bibliotecas, de modo que si un programa usa una función de una biblioteca (libc.so por ejemplo), ejecutará la de nuestra biblioteca en lugar de la uno debería. De esta forma podemos secuestrar o “enganchar” funciones, modificando su comportamiento a nuestro antojo.

Preguntas y respuestas del desafío

Comprometer la máquina y localizar el flag.txt

Tutorial en vídeo

Acerca del Autor

Creo notas de ciberseguridad, notas de marketing digital y cursos online. También brindo consultoría de marketing digital que incluye, entre otros, SEO, Google y meta anuncios y administración de CRM.

Ver Artículos