Module: Msf::Exploit::Remote::Kerberos::Ticket::Storage
- Included in:
- LDAP, MSSQL, SMB::Client::Authenticated, WinRM, Rex::Proto::MSSQL::Client
- Defined in:
- lib/msf/core/exploit/remote/kerberos/ticket/storage.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/base.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/none.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/read_only.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/read_mixin.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/read_write.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/write_only.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/write_mixin.rb,
lib/msf/core/exploit/remote/kerberos/ticket/storage/stored_ticket.rb more...
Defined Under Namespace
Modules: ReadMixin, WriteMixin Classes: Base, None, ReadOnly, ReadWrite, StoredTicket, WriteOnly
Class Method Summary collapse
-
.store_ccache(ccache, options = {}) ⇒ Object
Storage a credential cache object.
Instance Method Summary collapse
- #initialize(info = {}) ⇒ Object
- #kerberos_storage_options(protocol:) ⇒ Array<Msf::OptEnum>
-
#kerberos_ticket_storage(options = {}) ⇒ Object
Build a ticket storage object based on either the specified options or the datastore if no options are defined.
Class Method Details
.store_ccache(ccache, options = {}) ⇒ Object
Storage a credential cache object.
9 10 11 12 |
# File 'lib/msf/core/exploit/remote/kerberos/ticket/storage.rb', line 9 def self.store_ccache(ccache, = {}) driver = WriteOnly.new(framework_module: [:framework_module]) driver.store_ccache(ccache, ) end |
Instance Method Details
#initialize(info = {}) ⇒ Object
[View source]
14 15 16 |
# File 'lib/msf/core/exploit/remote/kerberos/ticket/storage.rb', line 14 def initialize(info = {}) super end |
#kerberos_storage_options(protocol:) ⇒ Array<Msf::OptEnum>
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/msf/core/exploit/remote/kerberos/ticket/storage.rb', line 20 def (protocol:) option_conditions = ["#{protocol}::Auth", '==', 'kerberos'] [ Msf::OptEnum.new( 'KrbCacheMode', [ true, 'Kerberos ticket cache storage mode', 'read-write', %w[none read-only write-only read-write] ], conditions: option_conditions ) ] end |
#kerberos_ticket_storage(options = {}) ⇒ Object
Build a ticket storage object based on either the specified options or the datastore if no options are defined.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/msf/core/exploit/remote/kerberos/ticket/storage.rb', line 43 def kerberos_ticket_storage( = {}) if .present? case [.fetch(:read, true), .fetch(:write, true)] when [false, false] mode = 'none' when [false, true] mode = 'write-only' when [true, false] mode = 'read-only' when [true, true] mode = 'read-write' end else mode = datastore['KrbCacheMode'] end case mode when 'none' None.new(framework_module: self) when 'read-only' ReadOnly.new(framework_module: self) when 'write-only' WriteOnly.new(framework_module: self) when 'read-write' ReadWrite.new(framework_module: self) end end |