Me pregunto si hay una manera de detectar si un shell inverso está bloqueado por el filtro de egreso o un proxy obligatorio, o si el ataque ha fallado.
Estoy haciendo esta pregunta en el contexto de un Senario que abandona los medios.
No hay manera de saber directamente de esa prueba real, no hay suficiente información. Sin embargo, puede saber si el exploit funciona o no al decirle al sistema de destino que haga algo que tiene permitido hacer, por ejemplo, navegar a un servidor web bajo su control (suponiendo que se permite cualquier conectividad web saliente). Si lo ordena para obtener una página web y recibe un hit en nuestro sitio, el exploit funciona, y entonces sabe que el comando de shell no funciona por alguna razón.
Como una adición a la respuesta de GdD, haga que la "carga útil" intente varias cosas, ya que no tendría idea de averiguar si su código / exploit fue ejecutado. Una serie de cosas podría ser una de las siguientes:
Si tiene acceso cercano a la computadora infectada, puede iniciar Bluetooth y habilitar la visibilidad o configurar una red WiFi de igual a igual. Si tuvieras acceso visual a la máquina, algo tan simple como cambiar un protector de pantalla podría indicar el éxito de la explotación.
Por lo general, las corporaciones tienen habilitado el filtro de egreso, por lo que tener un shell descifrado y acceder a un puerto arbitrario puede no funcionar tan bien.
Lea otras preguntas en las etiquetas social-engineering shellcode