class Mdm::Session

A session opened on a {#host} using an {#via_exploit exploit} and controlled through a {#via_payload payload} to connect back to the local host using meterpreter or a cmd shell.

Public Instance Methods

upgradeable?() click to toggle source

Returns whether the session can be upgraded to a meterpreter session from a shell session on Windows.

@return [true] if {#platform} is some version of Windows and {#stype} is `'shell'`. @return [false] otherwise.

# File app/models/mdm/session.rb, line 180
def upgradeable?
  if (self.platform =~ /win/i and self.stype == 'shell')
    return true
  else
    return false
  end
end

Private Instance Methods

stop() click to toggle source

Stops and closes the session.

@todo www.pivotaltracker.com/story/show/49026497 @return [void]

# File app/models/mdm/session.rb, line 194
def stop
  c = Pro::Client.get rescue nil
  # ignore exceptions (XXX - ideally, stopped an already-stopped session wouldn't throw XMLRPCException)
  c.session_stop(self.local_id) rescue nil
end