bezier-curvePath Abuse

La variable d'environnement PATH spĂ©cifie l'ensemble des rĂ©pertoires oĂč un exĂ©cutable peut ĂȘtre localisĂ©. La variable PATH d’un compte est composĂ©e de chemins absolus, ce qui permet Ă  un utilisateur de taper une commande sans prĂ©ciser le chemin complet du binaire.

Par exemple, un utilisateur peut taper cat /tmp/test.txt au lieu de /bin/cat /tmp/test.txt. On peut vérifier le contenu de la variable PATH avec :

⚙ VĂ©rification de la variable PATH

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

CrĂ©er un script ou un programme dans un rĂ©pertoire spĂ©cifiĂ© dans le PATH permettra de l'exĂ©cuter depuis n’importe quel rĂ©pertoire sur le systĂšme.

⚙ Exemple de script dans un rĂ©pertoire du PATH

htb_student@NIX02:~$ pwd && conncheck
/usr/local/sbin
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1189/sshd
tcp        0     88 10.129.2.12:22          10.10.14.3:43218        ESTABLISHED 1614/sshd: mrb3n [p
tcp6       0      0 :::22                   :::*                    LISTEN      1189/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      1304/apache2

Comme montrĂ© ci-dessus, le script conncheck créé dans /usr/local/sbin s’exĂ©cutera toujours mĂȘme depuis le rĂ©pertoire /tmp car il se trouve dans un rĂ©pertoire prĂ©sent dans le PATH.

⚙ Exemple de PATH modifiĂ© pour exĂ©cuter un binaire local

Ajouter . au PATH d'un utilisateur ajoute son répertoire de travail actuel à la liste. Par exemple, si nous pouvons modifier le PATH d'un utilisateur, nous pourrions remplacer un binaire courant comme ls par un script malveillant (ex: reverse shell).

Dans cet exemple, on modifie le PATH pour exécuter une commande simple echo lorsque la commande ls est tapée :


circle-info

SSH to 10.129.61.185 (ACADEMY-LPE-NIX02) with user "htb-student" and password "Academy_LLPE!"

Review the PATH of the htb-student user. What non-default directory is part of the user's PATH?

Nous nous connectons dans un premier temps Ă  notre cible :

Une fois la connexion effective, nous pouvons lister l'ensemble des PATH disponibles pour l'utilisateur htb-student :

Nous pouvons alors observer que le répertoire non présent par défaut présent ici est le répertoire /tmp.


Last updated