Module: Msf::Auxiliary::CommandShell

Includes:
Sessions::CommandShellOptions
Defined in:
lib/msf/core/auxiliary/commandshell.rb

Overview

This module provides methods for scanning modules that yield Command Shell sessions.

Defined Under Namespace

Modules: CRLFLineEndings

Instance Method Summary collapse

Methods included from Sessions::CommandShellOptions

#initialize, #on_session

Instance Method Details

#start_session(obj, info, ds_merge, crlf = false, sock = nil) ⇒ Object


33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/msf/core/auxiliary/commandshell.rb', line 33

def start_session(obj, info, ds_merge, crlf = false, sock = nil)
  if crlf
    # Windows telnet server requires \r\n line endings and it doesn't
    # seem to affect anything else.
    obj.sock.extend(CRLFLineEndings)
  end

  sock ||= obj.sock
  sess = Msf::Sessions::CommandShell.new(sock)
  sess.set_from_exploit(obj)
  sess.info = info

  # Clean up the stored data
  sess.exploit_datastore.merge!(ds_merge)

  # Prevent the socket from being closed
  obj.sockets.delete(sock)
  obj.sock = nil if obj.respond_to? :sock

  framework.sessions.register(sess)
  sess.process_autoruns(datastore)

  sess
end