# -*- coding: binary -*- # # A Post-exploitation module # class Msf::Post < Msf::Module require 'msf/core/post/common' require 'msf/core/post_mixin' require 'msf/core/post/file' require 'msf/core/post/webrtc' require 'msf/core/post/linux' require 'msf/core/post/osx' require 'msf/core/post/solaris' require 'msf/core/post/unix' require 'msf/core/post/windows' require 'msf/core/post/android' require 'msf/core/post/hardware' include Msf::PostMixin def setup m = replicant if m.actions.length > 0 && !m.action raise Msf::MissingActionError, "Please use: #{m.actions.collect {|e| e.name} * ", "}" end end def type Msf::MODULE_POST end def self.type Msf::MODULE_POST end # # Create an anonymous module not tied to a file. Only useful for IRB. # def self.create(session) mod = new mod.instance_variable_set(:@session, session) # Have to override inspect because for whatever reason, +type+ is coming # from the wrong scope and i can't figure out how to fix it. mod.instance_eval do def inspect "#" end end mod.class.refname = "anonymous" mod end # This method returns the ID of the Mdm::Session that the post module # is currently running against. # # @return [NilClass] if there is no database record for the session # @return [Integer] if there is a database record to get the id for def session_db_id if session.db_record session.db_record.id else nil end end end