Estoy enviando shellcode a un binario de 64 bits que se ejecuta en una máquina con Windows. Este binario, copia el shellcode a una región ejecutable de la memoria y lo ejecuta.
Estoy generando el shellcode usando msfvenom y elegí la carga útil: windows / x64 / shell_reverse_tcp
En la máquina local, estoy escuchando en el puerto 3004 con netcat.
Cuando envío el shellcode, en el lado del oyente, recibo el indicador de comando momentáneamente y luego la conexión se cierra inmediatamente como se muestra a continuación:
listening on [any] 3004 ...
connect to [192.168.2.10] from (UNKNOWN) [192.168.2.20] 42485
Microsoft Windows [Version 10.0.17134.112]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>
C:\Users\user\Documents\netcat-win32-1.11>
Cierra la conexión tan rápido que no tengo la oportunidad de escribir un comando.
Nota: No tengo acceso al entorno de laboratorio del servidor donde se ejecuta el binario. Todo lo que sé es que hay una solución de seguridad que se ejecuta en esa máquina que lo impide. Sin embargo, conozco los detalles del binario y que toma un shellcode, asigna una nueva memoria, la copia allí y la ejecuta.
Entonces, ¿cuáles son mis opciones para evitar las soluciones de seguridad en este caso?
-
Aquí hay un problema de bloqueo de puertos porque puedo obtener el shell inverso a través de cualquier puerto. El problema es que la conexión se cierra inmediatamente. Y no es un problema de red, hay alguna solución de seguridad que se ejecuta en el lado del servidor. Es un entorno de laboratorio y, por eso, lo sé.
-
¿Hay alguna forma de configurar nmap para enviar una lista de comandos tan pronto como reciba la respuesta del servidor?
Gracias