Sí, se ejecuta con privilegios elevados.
Prueba simple:
Puede probar esto con bastante facilidad abriendo un símbolo del sistema elevado y uno no elevado. Ejecute el comando notepad.exe
en ambos e intente guardar un archivo de texto en blanco en C:\Windows
. Uno guardará, uno arrojará un error de permisos.
Prueba exhaustiva:
Si eso no es suficiente para confirmarlo (realmente no me satisfizo), puede usar AccessChk de SysInternals. Deberá ejecutar esto desde un símbolo del sistema elevado.
Comencemos revisando los dos procesos de Bloc de notas que se están ejecutando:
Bloc de notas: ( accesschk.exe -v -p notepad
)
[11140] notepad.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW DOMAIN\Tannerf
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[11004] notepad.exe
High Mandatory Level [No-Write-Up, No-Read-Up]
RW BUILTIN\Administrators
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
Uno se ejecuta con mi nombre de usuario de dominio, el otro se ejecuta con el grupo integrado Administradores. También tiene un alto nivel obligatorio . También puede ejecutar con la -f
bandera para un desglose de los privilegios y tokens.
MSIExec y archivos MSI
Pensé que las cosas podrían complicarse un poco más cuando se ejecuta msiexec
. Tengo un instalador independiente de Google Chrome que fue útil para probar.
msiexec.exe inicia el instalador de Chrome desde el indicador elevado:
D:\Users\tannerf>accesschk.exe -p msiexec.exe
[10540] msiexec.exe
RW BUILTIN\Administrators
RW NT AUTHORITY\SYSTEM
chrome_installer.exe generado por MSI:
D:\Users\tannerf>accesschk.exe -p chrome_installer.exe
[5552] chrome_installer.exe
NT AUTHORITY\SYSTEM
OWNER RIGHTS
RW NT SERVICE\msiserver
¡Ya no está tan cortado y seco! Parece que un chrome_installer.exe
proceso se ejecutó a través del servicio MSIServer.
Esto me hace preguntarme qué comportamiento podrían tener otros instaladores, así que ejecuté un Evernote.msi que tenía a mano:
Elevado msiexec.exe al iniciar un instalador de Evernote:
[6916] msiexec.exe
High Mandatory Level [No-Write-Up, No-Read-Up]
RW BUILTIN\Administrators
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[4652] msiexec.exe
System Mandatory Level [No-Write-Up, No-Read-Up]
R BUILTIN\Administrators
PROCESS_QUERY_INFORMATION
PROCESS_QUERY_LIMITED_INFORMATION
Interesante; hay un msiexec.exe que se ejecuta bajo el nivel del sistema esta vez. Utilicé Process Monitor para encontrar que la ventana de instalación real que aparece proviene del proceso msiexec a nivel de sistema. Matar el alto nivel obligatorio también mató el proceso de nivel del sistema.
Msiexec.exe no elevado que inicia un instalador de Evernote:
[7472] msiexec.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW DOMAIN\Tannerf
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[4404] msiexec.exe
System Mandatory Level [No-Write-Up, No-Read-Up]
R BUILTIN\Administrators
PROCESS_QUERY_INFORMATION
PROCESS_QUERY_LIMITED_INFORMATION
Parece que Evernote obtendrá acceso a nivel de sistema de cualquier manera. Hacer doble clic en el instalador tiene el mismo resultado.
Conclusión:
Creo que está bastante bien demostrado que los procesos heredarán permisos a menos que se especifique lo contrario. Eso no garantiza que msiexec SomeProgram.msi
se ejecutará con un alto nivel obligatorio en todos los procesos; podría ejecutarse bajo el nivel del sistema o bajo MSIServer. Su kilometraje puede variar, y no me sorprendería ver muchos casos en los que estas reglas parecen estar "rotas".