Ejecutar como un usuario diferente sin una contraseña desde un indicador elevado en Windows


13

Hay varias utilidades para ejecutarse como un usuario diferente (por ejemplo: runas, cpau, psexec) pero todos ellos requieren la contraseña para el usuario en cuestión, incluso si ya está ejecutando con privilegios elevados.

Me gustaría lograr lo siguiente:

  1. Ya tengo un mensaje elevado ( Administrator)
  2. Me gustaría ejecutar un comando (por ejemplo:) calc.execomo johnsin escribir / pasar su contraseña a la utilidad de inicio.

Por ejemplo, en el sistema Unix podrías simplemente:

root@server:~# su - john

Respuestas:


3

Uso esto todo el tiempo. Se necesita ingresar una credencial la primera vez que se usa (y cuando cambia la contraseña), pero eso es todo.

runas /user:yourusernamehere /savecred "Your Executable Here"

Si guarda este comando como parte de un archivo bat, puede crear un acceso directo que lo lanzará con derechos administrativos utilizando un objetivo como el siguiente.

C:\Windows\System32\cmd.exe /c "C:\yourbatfilehere.bat"

3
Gracias por el consejo, pero desafortunadamente / savecred no es aplicable en mi caso porque 1) las credenciales de usuario pueden cambiar Y 2) los comandos que se ejecutarán se generan dinámicamente (por lo que tendría que escribir la contraseña para cada comando). Además, esto debería ejecutarse en segundo plano, sin ninguna interacción del usuario.
Razvan

@Razvan puede envolver sus comandos en un archivo de script para que, siempre que el nombre sea el mismo, sus comandos puedan cambiar fácilmente. En cuanto a las credenciales que cambian ... debe pasar credenciales nuevas o una copia en caché. No hay una tercera opción.
Tim Brigham

3

No, no es posible bajo Windows. Siempre debe ingresar una contraseña al menos una vez cuando ejecuta aplicaciones con una cuenta de usuario diferente. Incluso como administrador.

Evita que sucedan cosas divertidas y permite una auditoría limpia. Si algo sucede bajo una cuenta de usuario, los usuarios no pueden culpar a los administradores por hacerlo sin su consentimiento.


Pero, ¿es esto una limitación técnica? Podría pensar que quizás algunos archivos de usuario relevantes requeridos para establecer una nueva sesión se cifran con las credenciales de usuario, por eso sería imposible obtener una nueva sesión sin proporcionar las credenciales respectivas (es solo una suposición).
Razvan

No entiendo tu comentario. Es una limitación técnica en el sentido de que Microsoft decidió planear Windows de manera que no pueda suplantar una cuenta de usuario sin conocer su contraseña. El por qué y cómo no importa. Su única opción es ingresar la contraseña o aceptar que no puede suplantar ninguna cuenta sin ella.
Daniel

1
@Daniel, ¿podría proporcionar algún enlace de referencia para su afirmación de que esta es una decisión deliberada y estratégica?
ivan_pozdeev

¿No hay una ACL para permitir esto?
RandomInsano

3

En Windows, solo puede hacer esto si hay una sesión de inicio de sesión actual del usuario que está intentando suplantar. Esto se debe a la política de grupo local "Suplantar a un cliente después de la autenticación" que permite a los miembros del grupo Administradores hacer exactamente eso (Encontrado en Políticas locales> Asignaciones de derechos de usuario).

Una herramienta que conozco que le permite hacer esto es Process Hacker 2. Ejecute la herramienta como administrador local y encuentre un proceso que se ejecute como el usuario que desea suplantar. Haga clic derecho sobre él, seleccione Misc> Ejecutar como este usuario ..., luego escriba la ruta binaria que desea ejecutar como ese usuario, por ejemplo cmd. CMD se abriría como ese usuario sin solicitar la contraseña de ese usuario.


-3

Si coloca el .exe en su carpeta de inicio, puede ejecutarlo como ellos.


2
elaborando: no lo estás ejecutando como ellos ... estás haciendo que lo ejecuten por ti.
KevinKTI

2
Dado que el usuario ingresará su contraseña cuando inicie sesión, esto no parece responder a la pregunta.
chicas
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.