shell remota y .NET

Iniciado por moe88, 14 Marzo 2006, 17:25 PM

0 Miembros y 1 Visitante están viendo este tema.

moe88

Buenas.. el tema es el siguiente, me he currado un codigo en basic.NET, utilizando solo librerias de win que lo que hace es ejecutar la aplicacion cmd.exe y redirigir tanto la entrada como la salida a un socket, el cual enlaza con el cliente..

Bien, para hacerlo he utilizado process.starinfo y strteamreaders...

la pregunta :

Me estoy complicando la vida y hay alguna manera mas facil de conseguir mi objetivo?,  que es una consola remota claro.

(Evidentemente no me vale netcat, ni nada que un antivirus detecte)

moe88

Bueno, tengo el codigo bastante avanzado, me falta pullirlo y parece que funciona bastante bien.. si alguien que domine un poquillo de .NET le interesa, posteo el codigo y a ver si lo mejora..

un saludo a todos

CARZEL

otra opcion es hacerlo atravez de WMI ya que ahi podes ejecutar procesos y solo tenes que conectarte a la pc con un usuario valido.


Cita de: moe88 en 14 Marzo 2006, 17:25 PM
Buenas.. el tema es el siguiente, me he currado un codigo en basic.NET, utilizando solo librerias de win que lo que hace es ejecutar la aplicacion cmd.exe y redirigir tanto la entrada como la salida a un socket, el cual enlaza con el cliente..

Bien, para hacerlo he utilizado process.starinfo y strteamreaders...

la pregunta :

Me estoy complicando la vida y hay alguna manera mas facil de conseguir mi objetivo?,  que es una consola remota claro.

(Evidentemente no me vale netcat, ni nada que un antivirus detecte)

SeniorX

disculpen la ignorancia pero yo estoy aprendiendo c#, como se hace para ejecutar cmd.exe desde c#?
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}

Precaución: La programacion puede producir adiccion

SeniorX

try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}

Precaución: La programacion puede producir adiccion

ByteCoderz

Me gustaria ver tu implementacion. Yo he hecho lo mismo
pero utilizando la api de windows, createPipe, duplicateHandle, etc, pues para leer la stdOut del Process necesitas cerrar el StdIn con lo cual si escribes cmd> cd..
el siguiente comando q ejecutes no estaras en el directorio en el q lo dejaste. Utilizando la api no ocurre lo mismo, con lo cual se puede mantener la StdIn abierta a la vez q se lee el StdOut.
Saludos