Path Abuse (Path Hijacking)


Path Hijacking

El Abuso de Ruta (Path Hijacking) es una técnica utilizada para modificar la variable de entorno PATH para que un script o programa malicioso ubicado en el directorio de trabajo actual se ejecute en lugar de los binarios legítimos. A continuación, te guiaré paso a paso para realizar esta técnica.


Paso 1: Comprobar la Variable PATH

Para ver el valor actual de la variable PATH, usa el siguiente comando:

htb_student@NIX02:~$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Aquí podemos ver los directorios que están en el PATH. Los programas ejecutables ubicados en estos directorios se pueden ejecutar directamente desde cualquier parte del sistema.


Paso 2: Crear un Script Malicioso en un Directorio Especificado en PATH

En el siguiente ejemplo, vamos a crear un script en el directorio /usr/local/sbin (que es parte del PATH):

htb_student@NIX02:~$ pwd && conncheck
/usr/local/sbin
  • En este caso, el script conncheck se ejecutará en cualquier directorio, ya que se encuentra en una ruta que está especificada en PATH.

  • Verifica el script en el directorio /tmp, que también tiene la ruta /usr/local/sbin en PATH:

htb_student@NIX02:~$ pwd && conncheck
/tmp

Como /usr/local/sbin está en PATH, el script conncheck se puede ejecutar desde cualquier directorio en el sistema.


Paso 3: Modificar la Variable PATH para Incluir el Directorio Actual

  • Modificar PATH para incluir el directorio actual al principio:

htb_student@NIX02:~$ PATH=.:${PATH}
  • Exportar la nueva variable PATH:

htb_student@NIX02:~$ export PATH
  • Verificar que PATH se haya actualizado:

htb_student@NIX02:~$ echo $PATH
.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Ahora el directorio ./ está al principio de PATH, lo que significa que si hay un archivo ejecutable en el directorio actual, se ejecutará primero.


Paso 4: Crear un Script Malicioso (Ejemplo con ls)

  • Crear el archivo ls:

htb_student@NIX02:~$ touch ls
  • Agregar código al archivo ls que ejecute un comando malicioso:

htb_student@NIX02:~$ echo 'echo "PATH ABUSE!!"' > ls
  • Hacer que el archivo ls sea ejecutable:

htb_student@NIX02:~$ chmod +x ls

Paso 5: Ejecutar el Script Malicioso

Ahora, si ejecutas ls desde cualquier directorio, en lugar del comando ls legítimo, se ejecutará el script malicioso que hemos creado:

htb_student@NIX02:~$ ls
PATH ABUSE!!

Last updated