elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Run as sin tener que escribir password
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Run as sin tener que escribir password  (Leído 27,891 veces)
krizalidk

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Run as sin tener que escribir password
« en: 26 Mayo 2015, 01:47 am »

Hola amigo gracias por su apoyo por anticipado

el detalle que tengo es que quiero aplicar un bat pero solo funciona si este se ejecuta por admin pero no quiero que escriba la contraseña. alguien que me pueda apoyar



tengo algo asi

Código:
runas /user:usuariolocal D:\install.bat oakshu2

saludos


« Última modificación: 26 Mayo 2015, 02:45 am por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Run as sin tener que escribir password
« Respuesta #1 en: 26 Mayo 2015, 02:45 am »

Buenas.

krizalidk,
1. Está prohibido hacer doble post.
2. Es obligatorio utilizar las etiquetas de código para insertar código.
3. Lee las normas del foro.

Para automatizar la autentificación del usuario especificado, puedes añadir la opción /savecred para guardar las credenciales de autentificación cómo su nombre indica,
esto quiere decir que necesitarás introducir la contraseña una única vez, pero las siguientes veces no será necesario:
Código:
runas.exe /noprofile /user:"domain\user" /savecred "file"

En su defecto, puedes utilizar la efectiva aplicación de terceros psexec:
Código:
psexec.exe \\computername -u "domain\user" -p "password" "file"

O tambien puedes probar esta alternativa, que consiste en aplicar un cambio de política de usuario para permitir contraseñas en blanco, crear la cuenta de usuario oculta "Administrator" ("Administrador" si windows está en Español), asignarle una contraseña en blanco a la cuenta, y utilizar el comando runas de manera corriente:
Using RunAs With a Password

Saludos.


« Última modificación: 26 Mayo 2015, 02:51 am por Eleкtro » En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Run as sin tener que escribir password
« Respuesta #2 en: 26 Mayo 2015, 10:47 am »

Gracias elektro por la información, buscaba algo así en un POST parecido:

http://foro.elhacker.net/windows/iquestque_necesito_para_instalar_app_y_que_no_vuelva_a_pedir_permisos_de_aplicacion-t435554.0.html;msg2015929#msg2015929

Saludos.

En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
krizalidk

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Re: Run as sin tener que escribir password
« Respuesta #3 en: 26 Mayo 2015, 16:32 pm »

muchas gracias por el tema pero se puede hacer algo para que no pida el password es que aquí mencionas que lo requiere una vez pero como lo voy empaquetar y se realizara de forma silenciosa requiero esa parte
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Run as sin tener que escribir password
« Respuesta #4 en: 26 Mayo 2015, 18:02 pm »

Elektro a ver si he entendido bien, si corro ese comando con mi aplicacion cuando la ejecuto la primera vez con permisos de administrador, entonces ya no me pediría más veces las credenciales?

He implementado esto, debería funcionar?

Código
  1. public Boolean elevacionUAC()
  2.        {
  3.            // Launch itself as administrator
  4.            ProcessStartInfo proc = new ProcessStartInfo();
  5.            proc.UseShellExecute = true;
  6.            proc.WorkingDirectory = Environment.CurrentDirectory;
  7.            proc.FileName = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; //Application.ExecutablePath;
  8.            proc.Verb = "runas";
  9.            proc.Arguments="/noprofile /user:\""+Dns.GetHostName()+" /savecred \""+System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase+"\"";
  10.            try
  11.            {
  12.                Process.Start(proc);
  13.                return true;
  14.            }
  15.            catch
  16.            {
  17.                return false;
  18.            }
  19.        }

Tras ejecutar eso se supone que ya no me pediría mas a elevacion de UAC (mientras mantenga la misma pass se supone) y se podría lanzar siempre con el UAC?

Código
  1. public void EjecutarComando(String _Command)
  2.        {
  3.            System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + _Command);
  4.            // Indicamos que la salida del proceso se redireccione en un Stream
  5.            procStartInfo.RedirectStandardOutput = true;
  6.            procStartInfo.UseShellExecute = false;
  7.            procStartInfo.CreateNoWindow = true;
  8.            procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  9.            System.Diagnostics.Process proc = new System.Diagnostics.Process();
  10.            proc.StartInfo = procStartInfo;
  11.            try { proc.Start(); Console.WriteLine("acieeerto"); }
  12.            catch { Console.WriteLine("errorr"); }
  13.  
  14.            //Consigue la salida de la Consola(Stream) y devuelve una cadena de texto
  15.            string result = proc.StandardOutput.ReadToEnd();
  16.            //Muestra en pantalla la salida del Comando
  17.            Console.WriteLine(result);
  18.        }

Mejor este codigo y pasarle como cadena el comando siguiente:

Código:
runas.exe /noprofile /user:"domain\user" /savecred "file"

En domain/user nuestro nombre de usuario y en file el path del archivo.

¿con eso funcionaría? También me gustaría saber como crear otro usuario en runas con permisos de admin y sin contraseña creo que era, gracias.

Gracias y saludos socio.
« Última modificación: 26 Mayo 2015, 18:23 pm por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Run as sin tener que escribir password
« Respuesta #5 en: 26 Mayo 2015, 18:24 pm »

Tras ejecutar eso se supone que ya no me pediría mas a elevacion de UAC (mientras mantenga la misma pass se supone) y se podría lanzar siempre con el UAC?

Así es, teoricamente no debería darte problemas, pero por otro lado las credenciales podrían "expirar" en ciertas circunstancias si se ejecuta runas de forma remota o si la cuenta tiene una contraseña que expira al pasar "X" días, o si simplemente se cambia la contraseña cómo tu has dicho, claro está.

PD: No llenes el foro de scripting con códigos de C#  :¬¬

Saludos
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Run as sin tener que escribir password
« Respuesta #6 en: 26 Mayo 2015, 18:36 pm »

Sorry XD, espero que sea el último de todas formas ejecuto batch desde c sharp  ;D ;D

Código
  1. System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "runas.exe /noprofile /user:\""+Dns.GetHostName()+" /savecred \""+Directory.GetCurrentDirectory()+"\\Nighthawk.exe");
  2.            procStartInfo.RedirectStandardOutput = true;
  3.            procStartInfo.UseShellExecute = false;
  4.            procStartInfo.CreateNoWindow = true;
  5.            procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  6.            System.Diagnostics.Process proc = new System.Diagnostics.Process();
  7.            proc.StartInfo = procStartInfo;
  8.            try { proc.Start(); MessageBox.Show("acieeerto"); }
  9.            catch { MessageBox.Show("errorr"); }

He ejecutado eso me sale "acierto" luego el comando parece ejecutarse sin problemas, pero sin embargo vuelvo a ejecutar la aplicación y me vuelve a pedir permisos :silbar: :silbar: :silbar: :-X :o
En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
krizalidk

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Re: Run as sin tener que escribir password
« Respuesta #7 en: 26 Mayo 2015, 18:45 pm »

alguna sugerencia con mi pregunta???
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Run as sin tener que escribir password
« Respuesta #8 en: 26 Mayo 2015, 19:42 pm »

alguna sugerencia con mi pregunta???

A menos que desactives UAC... no lo creo, pero tampoco soy un gurú sobre vulnerabilidades de seguridad en Windows, quizás se pueda con alguna manera rebuscada.

Puedes deshabilitar UAC de manera automatizada, pero requiere permisos ...claro está, y la desactivación requiere un reinicio de sesión para aplicar el cambio, así que no te sirve para lo que quieres hacer.



He ejecutado eso me sale "acierto" luego el comando parece ejecutarse sin problemas, pero sin embargo vuelvo a ejecutar la aplicación y me vuelve a pedir permisos :silbar: :silbar: :silbar: :-X :o

Reinicia el PC o reinicia la sesión de usuario para aplicar y testear el cambio correctamente, ¿te sigue pidiendo contraseña?, en caso afirmativo, ¿si lo haces desde la CMD (no desde tu app), te pasa lo mismo?.

De todas formas, ¿has probado a combinarlo con la utilización de un archivo de manifiesto?, en especial modificando los elementos requestedExecutionLevel y autoElevate

Application Manifests - MSDN

En VisualStudio, 'Add' > 'New File' > 'Application Manifest'...

Prueba algo parecido a esto:

app.manifest
Código
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3.  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  4.  
  5.   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  6.    <security>
  7.      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
  8.        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
  9.      </requestedPrivileges>
  10.    </security>
  11.  </trustInfo>
  12.  
  13.  <asmv1:application>
  14.     <asmv1:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
  15.          <autoElevate>true</autoElevate>
  16.     </asmv1:windowsSettings>
  17.  </asmv1:application>
  18.  
  19.  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
  20.    <application>
  21.    </application>
  22.  </compatibility>
  23.  
  24. </asmv1:assembly>

Saludos
« Última modificación: 26 Mayo 2015, 19:45 pm por Eleкtro » En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Run as sin tener que escribir password
« Respuesta #9 en: 26 Mayo 2015, 20:36 pm »

Buenas socio, gracias por la respuesta.

He probado esto:

Código:
runas.exe /noprofile /user:%username% /savecred "C:\Users\Usuario\Desktop\Night.exe"

En la cmd, me pedía la contraseña la ingresé y luego me dijo que la elevación requería privilegios WTF!.

Lo del xml ya lo tenía al compilar la app la tengo con "requireAdministrator" y me sale el icono del UAC, y al clickar me pide permisos y corre con permisos, pero eso es lo que busco crear las runas en la primera ejecución y que no las vuelva a pedir más, pero no se si funcionará porque mientras siga el icono.. no sé.

Saludos.
En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines