lib/rex/post/meterpreter/extensions/priv/fs.rb in librex-0.0.68 vs lib/rex/post/meterpreter/extensions/priv/fs.rb in librex-0.0.70

- old
+ new

@@ -1,6 +1,5 @@ -#!/usr/bin/env ruby # -*- coding: binary -*- module Rex module Post module Meterpreter @@ -13,107 +12,107 @@ # detection, such as by modifying extended file system attributes. # ### class Fs - # - # Initializes the file system subsystem of the privilege escalation - # extension. - # - def initialize(client) - self.client = client - end + # + # Initializes the file system subsystem of the privilege escalation + # extension. + # + def initialize(client) + self.client = client + end - # - # Returns a hash of the Modified, Accessed, Created, and Entry Modified - # values for the specified file path. - # - def get_file_mace(file_path) - request = Packet.create_request('priv_fs_get_file_mace') + # + # Returns a hash of the Modified, Accessed, Created, and Entry Modified + # values for the specified file path. + # + def get_file_mace(file_path) + request = Packet.create_request('priv_fs_get_file_mace') - request.add_tlv(TLV_TYPE_FS_FILE_PATH, file_path) + request.add_tlv(TLV_TYPE_FS_FILE_PATH, file_path) - response = client.send_request(request) + response = client.send_request(request) - # Return the hash of times associated with the MACE values - begin - return { - 'Modified' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_MODIFIED)), - 'Accessed' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_ACCESSED)), - 'Created' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_CREATED)), - 'Entry Modified' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_EMODIFIED)) - } - rescue RangeError - raise RangeError, "Invalid MACE values" - end - end + # Return the hash of times associated with the MACE values + begin + return { + 'Modified' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_MODIFIED)), + 'Accessed' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_ACCESSED)), + 'Created' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_CREATED)), + 'Entry Modified' => Time.at(response.get_tlv_value(TLV_TYPE_FS_FILE_EMODIFIED)) + } + rescue RangeError + raise RangeError, "Invalid MACE values" + end + end - # - # Sets the Modified, Accessed, Created, and Entry Modified attributes of - # the specified file path. If a nil is supplied for a value, it will not - # be modified. Otherwise, the times should be instances of the Time class. - # - def set_file_mace(file_path, modified = nil, accessed = nil, created = nil, - entry_modified = nil) - request = Packet.create_request('priv_fs_set_file_mace') + # + # Sets the Modified, Accessed, Created, and Entry Modified attributes of + # the specified file path. If a nil is supplied for a value, it will not + # be modified. Otherwise, the times should be instances of the Time class. + # + def set_file_mace(file_path, modified = nil, accessed = nil, created = nil, + entry_modified = nil) + request = Packet.create_request('priv_fs_set_file_mace') - request.add_tlv(TLV_TYPE_FS_FILE_PATH, file_path) - request.add_tlv(TLV_TYPE_FS_FILE_MODIFIED, modified.to_i) if (modified) - request.add_tlv(TLV_TYPE_FS_FILE_ACCESSED, accessed.to_i) if (accessed) - request.add_tlv(TLV_TYPE_FS_FILE_CREATED, created.to_i) if (created) - request.add_tlv(TLV_TYPE_FS_FILE_EMODIFIED, entry_modified.to_i) if (entry_modified) + request.add_tlv(TLV_TYPE_FS_FILE_PATH, file_path) + request.add_tlv(TLV_TYPE_FS_FILE_MODIFIED, modified.to_i) if (modified) + request.add_tlv(TLV_TYPE_FS_FILE_ACCESSED, accessed.to_i) if (accessed) + request.add_tlv(TLV_TYPE_FS_FILE_CREATED, created.to_i) if (created) + request.add_tlv(TLV_TYPE_FS_FILE_EMODIFIED, entry_modified.to_i) if (entry_modified) - client.send_request(request) + client.send_request(request) - true - end + true + end - # - # Sets the MACE attributes of the specified target_file_path to the MACE - # attributes of the source_file_path. - # - def set_file_mace_from_file(target_file_path, source_file_path) - request = Packet.create_request('priv_fs_set_file_mace_from_file') + # + # Sets the MACE attributes of the specified target_file_path to the MACE + # attributes of the source_file_path. + # + def set_file_mace_from_file(target_file_path, source_file_path) + request = Packet.create_request('priv_fs_set_file_mace_from_file') - request.add_tlv(TLV_TYPE_FS_FILE_PATH, target_file_path) - request.add_tlv(TLV_TYPE_FS_SRC_FILE_PATH, source_file_path) + request.add_tlv(TLV_TYPE_FS_FILE_PATH, target_file_path) + request.add_tlv(TLV_TYPE_FS_SRC_FILE_PATH, source_file_path) - client.send_request(request) + client.send_request(request) - true - end + true + end - # - # Sets the MACE values to the minimum threshold that will cause them to not - # be displayed by most all products for a file. - # - def blank_file_mace(file_path) - request = Packet.create_request('priv_fs_blank_file_mace') + # + # Sets the MACE values to the minimum threshold that will cause them to not + # be displayed by most all products for a file. + # + def blank_file_mace(file_path) + request = Packet.create_request('priv_fs_blank_file_mace') - request.add_tlv(TLV_TYPE_FS_FILE_PATH, file_path) + request.add_tlv(TLV_TYPE_FS_FILE_PATH, file_path) - client.send_request(request) + client.send_request(request) - true - end + true + end - # - # Recursively set the MACE values to the minimum threshold for the supplied - # directory. - # - def blank_directory_mace(dir_path) - request = Packet.create_request('priv_fs_blank_directory_mace') + # + # Recursively set the MACE values to the minimum threshold for the supplied + # directory. + # + def blank_directory_mace(dir_path) + request = Packet.create_request('priv_fs_blank_directory_mace') - request.add_tlv(TLV_TYPE_FS_FILE_PATH, dir_path) + request.add_tlv(TLV_TYPE_FS_FILE_PATH, dir_path) - client.send_request(request) + client.send_request(request) - true - end + true + end protected - attr_accessor :client # :nodoc: + attr_accessor :client # :nodoc: end end; end; end; end; end