Puede encontrar otra variante de este programa que no requiere una función de red y también compatible con cualquier aplicación como NetCat, Telnet, etc. aquí: https://github.com/darkcodersc/run-as-attached-local
La versión RunAsattached (local) es más estable.
El objetivo de la versión en red era demostrar la comunicación entre procesos utilizando la programación de socket.
RunAsattached es un programa para ejecutar una consola como otro usuario y mantener una nueva consola conectada a la consola de llamadas. Admite el modo de carcasa inversa (Ej: NetCat)
A diferencia de los sistemas basados en UNIX, en Microsoft Windows no puede ejecutar el comando como otro usuario sin generar un nuevo proceso y luego una nueva ventana de consola.
¡Esto es bastante molesto al hacer pruebas de penetración, pero no solo!
Esta aplicación es un "hack" para ejecutar una nueva consola adjunta a la consola de llamadas. Este es un método para lograr ese objetivo.
Este método está utilizando la arquitectura del cliente / servidor para comunicarse entre dos procesos. Por defecto, creará un servidor local (escuchando en localhost y un puerto aleatorio por encima de 50 000), pero puede decidir conectarse de nuevo a otra dirección (ex: un oyente de NetCat)
Es un lanzamiento beta, está funcionando bien, pero muchas cosas requieren cierta optimización, incluyendo:
Redes: esta es la primera técnica que me viene a la mente por diferentes razones, cavaré más sobre una mejor manera. El principal problema con conclusión está relacionado con la desconexión. Si la conexión remota está inexpectada (sucia) cerrada, es posible que no sepa sobre eso, esto se debe principalmente a la forma en que diseñé cómo manejé STDOUT/STDERR y Redworking. Tengo algunas buenas ideas para resolver ese problema. Todavía se considera menor, podría ser molesto.
Analización de argumentos: Mejoraré la claridad de esa parte.
Incluso si no encuentra útil este programa, puede encontrar algunos códigos interesantes: