Se invierte el shell al instante después de que se establece la conexión

0

actualmente me estoy preparando para OSCP y estoy seguro de que estoy trabajando en shells inversos. Al usar msfconsole no es un problema obtener una sesión de meterpreter, sin embargo, no se permite meterpreter durante el examen, así que quiero seguir el camino "manual".

Con msfvenom creo una carga para mi máquina de Windows 7 víctima, abro un oyente netcat en el puerto correcto, descargo y ejecuto el archivo exico malicous de la máquina víctima y se establecerá una conexión. Pero, cuando escribo un comando, la conexión se cierra. En la captura de pantalla ves lo que estoy hablando:

¿Qué estoy haciendo mal? Como dije, usando exactamente el mismo comando msfvenom (solo con windows / meterpreter / reverse_tcp en lugar de windows / shell / reverse_tcp) y el multihandler de msfconsole, todo funciona bien. Por lo tanto, los problemas con el puerto de los clientes (por ejemplo, las reglas de firewall) se pueden eliminar. ¿Tal vez uso una carga útil equivocada ...?

    
pregunta Alex 16.11.2018 - 15:21
fuente

1 respuesta

2

TLDR : para capturarlo con un oyente netcat, debe usar windows / shell_reverse_tcp, no windows / shell / reverse_tcp. De lo contrario, necesitas utilizar el multihandler.

Eche un vistazo a estas dos cargas útiles de msfvenom:

payload/windows/shell/reverse_tcp
Windows Command Shell, Reverse TCP Stager
Spawn a piped command shell (staged). Connect back to the attacker
Total size: 283

Versus

payload/windows/shell_reverse_tcp
Windows Command Shell, Reverse TCP Inline
Connect back to attacker and spawn a command shell
Total size: 324

Observe que el primero es más pequeño, pero también dice que está en escena. Esto significa que puede ser más pequeño porque en lugar de incluir todo el código necesario en la carga útil, solo contiene el mínimo necesario para conectarse a un oyente compatible y recibir el resto del código. Esto se hace con el multihandler de msfconsole, pero no con netcat.

Si no quieres molestarte en girar un multihandler, puedes usar la versión stageless, aunque es un poco más grande. Solo asegúrese de prestar atención al enumerar las cargas útiles para determinar si algo se describe o no por etapas. También puede simplemente filtrar las cargas útiles por etapas de su lista inicial: por ejemplo, msfvenom --list-payloads | grep -v stage[rd]

    
respondido por el Yaakov Saxon 16.11.2018 - 15:39
fuente

Lea otras preguntas en las etiquetas