Uso seguro de psexec o mejor alternativa a él

6

Quiero iniciar máquinas virtuales VMWare (tengo VMWare Workstation) y para este fin necesito ejecutar en el host algo como "vmrun -T ws H: \ VMWare \ VM1 \ VM1.vmx nogui" con el contexto de escritorio del usuario , así que lanzarlo desde ssh (que se ejecuta desde el servicio y no tiene acceso al escritorio) no es una opción.

Sé que psexec funcionará, pero esta herramienta tiene problemas de seguridad inherentes, comenzando con la necesidad de exponer el recurso compartido administrativo (que está activado de forma predeterminada, pero es una buena práctica desactivarlo) y termina con la facilidad de espionaje (más sobre el tema aquí ).

¿Quizás alguien aquí sepa cómo endurecerlo, por ejemplo, canalizando parte del tráfico que ingresa al puerto 443 en el host (que es utilizado por psexec) con ssh (solo parte, porque necesito poder usar los recursos compartidos de SMB)?

O mejor aún, ¿cómo hacer que sshd se ejecute de manera interactiva para que le dé (supongo) acceso al escritorio del usuario? O quizás exista algún software cliente-servidor personalizado, que ayudaría con sshd en modo servicio (por ejemplo, implementando la técnica descrita here )?

Gracias por su ayuda.

He hecho una pregunta similar here , en stackoverflow, pero para diferentes audiencias y desde diferentes ángulos.

    
pregunta Adam Ryczkowski 18.04.2012 - 17:56
fuente

4 respuestas

1

Finalmente encontré la solución que mejor se adapta a mí, porque no depende de la autorización de Windows.

El punto es no ejecutar sshd como un servicio de Windows, pero desde el inicio personal del usuario (posiblemente como una ventana oculta). Eso es todo. El único truco aquí es que necesito ejecutarlo como un proceso elevado.

Para iniciar cygwin sshd de manera interactiva en Windows 7, uno debe seguir estos pasos. Se reflejan en mi publicación en foro de superusuarios para su conveniencia.

(Supongo que cygwin está instalado en C:\cygwin y que contiene el paquete openssh ):

  1. Establezca el servicio sshd en el applet Herramientas administrativas \ servicios en "Inicio manual" o "Desactivado"
  2. Tomar posesión de la carpeta C:\cygwin\var\empty
  3. (opcional - para depuración) Asegúrese de que cuando ejecute /usr/bin/sshd -D en el indicador cygwin elevado, obtenga acceso ssh a su host.
  4. (opcional - para depuración) Asegúrese de que cuando inicie C:\cygwin\bin\run -p C:\cygwin\bin /usr/sbin/sshd -D desde el símbolo del sistema elevado, siga obteniendo el mismo acceso que en el punto 3. Recuerde eliminar el proceso sshd.exe posteriormente usando el administrador de tareas.
  5. Cree una nueva tarea que inicie este comando con credenciales elevadas justo después de iniciar sesión. Vea este hilo del foro para ver cómo hacerlo
  6. Inicia sesión con ssh desde el host remoto y ejecuta el comando vmrun -T ws start ... como lo harías localmente, y todo funciona como se espera.

Espero que ayude a aquellos de ustedes que prefieren quedarse con la autorización ssh para realizar tareas administrativas.

Tenga en cuenta que para que funcione, el usuario debe iniciar sesión en el host (creo que es mejor hacerlo de forma interactiva (es decir, no a través de rdp), pero no he probado esta teoría) por lo que esta solución es más adecuada para la red doméstica / de pequeña oficina, y quizás no sea adecuada para un servidor dedicado, a menos que lo configure con "autologon" (pero el autologon tiene problemas de seguridad propios que pueden compensar fácilmente los beneficios de la desactivación $ ADMIN share)

    
respondido por el Adam Ryczkowski 20.04.2012 - 11:01
fuente
2

¿Es este un entorno de Windows?

¿Si powershell es una opción, tal vez intente algo en este sentido?

CMDLET de comando de invocación Powershell

    
respondido por el dc5553 19.04.2012 - 13:09
fuente
2

A partir del 7 de marzo de 2014, PsExec ahora "cifra toda la comunicación entre los sistemas locales y remotos, incluida la transmisión de información de comandos, como el nombre de usuario y la contraseña bajo la cual se ejecuta el programa remoto".

enlace

    
respondido por el Mick 01.05.2014 - 17:04
fuente
1

Dale un vistazo a RemoteExec: enlace (versión de prueba gratuita y totalmente funcional)

Esta solución de software no tiene agente y está encriptada y le permitirá ejecutar acciones de forma remota y segura.

Aquí también encontrará un análisis comparativo entre RemoteExec y PsExec: enlace

    
respondido por el IS Decisions 19.04.2012 - 11:29
fuente

Lea otras preguntas en las etiquetas