Module: Msf::Payload::Windows::PayloadDBConf
- Included in:
- EncryptedReverseTcp, Sessions::EncryptedShell
- Defined in:
- lib/msf/core/payload/windows/payload_db_conf.rb
Instance Method Summary collapse
- #initialize(*args) ⇒ Object
- #retrieve_chacha_creds(uuid = nil) ⇒ Object
-
#retrieve_conf_from_db(uuid = nil) ⇒ Object
Retrieve payload configuration from db.
-
#save_conf_to_db(conf = {}) ⇒ Object
Saves a payload configuration to the db.
Instance Method Details
#initialize(*args) ⇒ Object
5 6 7 |
# File 'lib/msf/core/payload/windows/payload_db_conf.rb', line 5 def initialize(*args) super end |
#retrieve_chacha_creds(uuid = nil) ⇒ Object
54 55 56 57 58 59 60 61 |
# File 'lib/msf/core/payload/windows/payload_db_conf.rb', line 54 def retrieve_chacha_creds(uuid=nil) return nil unless uuid build_opts = retrieve_conf_from_db(uuid) return nil unless build_opts && build_opts['key'] && build_opts['nonce'] return build_opts['key'], build_opts['nonce'] end |
#retrieve_conf_from_db(uuid = nil) ⇒ Object
Retrieve payload configuration from db
40 41 42 43 44 45 46 47 |
# File 'lib/msf/core/payload/windows/payload_db_conf.rb', line 40 def retrieve_conf_from_db(uuid=nil) return nil unless (framework.db && framework.db.active) curr_payload = framework.db.payloads(uuid: uuid).first return nil unless curr_payload && curr_payload[:build_opts] return curr_payload[:build_opts] end |
#save_conf_to_db(conf = {}) ⇒ Object
Saves a payload configuration to the db
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/msf/core/payload/windows/payload_db_conf.rb', line 16 def save_conf_to_db(conf={}) return nil unless (framework.db && framework.db.active) return nil unless conf['uuid'] payload_uuid = conf['uuid'] conf.delete('uuid') saved_payload = framework.db.payloads(uuid: payload_uuid).first if saved_payload framework.db.update_payload(id: saved_payload.id, build_opts: conf) else print_status('Payload does not exist in database. Attempting to save it now.') framework.db.create_payload(uuid: payload_uuid, build_opts: conf) end rescue print_error('Failed to save payload info to database') end |