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 enPATH
.Verifica el script en el directorio
/tmp
, que también tiene la ruta/usr/local/sbin
enPATH
:
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
PATH
para Incluir el Directorio ActualModificar
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