Files
metasploit-gs/lib/msf/core/payload/pingback.rb
T
2019-07-29 11:55:51 -05:00

40 lines
1.2 KiB
Ruby

# -*- coding => binary -*-
require 'msf/core'
require 'msf/core/module/platform'
require 'rex/text'
#
# This class provides methods for calculating, extracting, and parsing
# unique ID values used by payloads.
#
module Msf::Payload::Pingback
attr_accessor :pingback_uuid
attr_accessor :can_cleanup
# Generate a Pingback UUID and write it to the database
def generate_pingback_uuid
self.pingback_uuid ||= SecureRandom.uuid()
self.pingback_uuid.to_s.gsub!("-", "")
datastore['PingbackUUID'] = self.pingback_uuid
vprint_status("PingbackUUID = #{datastore['PingbackUUID']}")
if framework.db.active
vprint_status("Writing UUID #{datastore['PingbackUUID']} to database...")
framework.db.create_payload(name: datastore['PayloadUUIDName'],
uuid: datastore['PingbackUUID'],
description: 'pingback',
platform: platform.platforms.first.realname.downcase)
else
print_warning("Unable to save UUID #{datastore['PingbackUUID']} to database -- database support not active")
end
self.pingback_uuid
end
def initialize(info = {})
super(info)
self.can_cleanup = false
self
end
end