You are on page 1of 9

Por favor, no inicies sesin como administrador, utiliza RunAs Introduccin Un error muy comn a la hora de iniciar sesin

en un equipo es el hacerlo con un usuario con privilegios de administrador. La causa suele estar en el deseo de poder controlar con estos privilegios el equipo, para poder as hacer todo lo que queramos, sin limitaciones impuestas por una sesin de un usuario con privilegios limitados. Esto es un enfoque errneo, desde el punto de vista de seguridad. En este artculo veremos porqu es un error y cmo podemos evitar esta prctica sin por ello dejar de poder realizar nuestro trabajo de administracin

El error de iniciar sesin como administrador Por qu no iniciar sesin con un usuario administrador? Por motivos de seguridad, seguridad tanto en la precisin de nuestros movimientos como en las posibilidades de sufrir un ataque de cdigo malicioso. Si tenemos que hacer una tarea que requiera disponer de privilegios administrativos, es mejor que seamos conscientes de que lo que estamos realizando requiere estos privilegios. Esto es, que si intentamos hacer algo con un usuario sin privilegios administrativos la operacin nos sea denegada o que, directamente, tomemos las acciones necesarias para poder realizar la accin como administrador; de esta manera sabremos que estamos haciendo algo "serio" y encararemos la tarea de una manera ms consciente, ms meditada. Si ejecutamos un adjunto de un correo que contiene un virus (esto que he dicho nunca debera pasar, pero...), el virus intentar hacer "sus cositas", tan simpticas y bondadosas ellas; digo intentar porque el virus ser lanzado con los privilegios del usuario que lo ha ejecutado y, si no nos hemos logado como administradores, el virus no podr tomar acciones de veras dainas con el sistema, al carecer de los privilegios necesarios como para, por ejemplo, escribir en el directorio de Windows, o en la rama del registro HKEY_LOCAL_MACHINE. Si el virus es ejecutado con un usuario administrador..., bueno, si este es el caso, con lo dicho anteriormente, est difano que el virus podr hacer, sencillamente, lo que se le antoje. Esto que decimos de los virus lo podemos decir de los troyanos, spyware, etc. Una ltima consideracin. Si esto que hemos dicho es grave en un equipo de usuario qu pasa con los servidores? Un servidor es mejor que no tenga usuario logado, pero en muchas ocasiones estamos obligados a que haya un usuario logado, por culpa de algn software que lo requiera, por ejemplo. Es una prctica demasiado comn dejar estos servidores logados con un usuario administrador incluso con el propio administrador del dominio!! Qu pasa si un cdigo malintencionado se ejecuta en ese servidor? Qu pasa si se cuela un troyano? Privilegios de administrador del dominio para el troyano/virus/etc.!! No, no, no, no, noooooooo!!! Definitivamente no es buena idea logarse como administrador....

Cmo realizar acciones administrativas sin logarme como administrador? El problema de seguridad que se deriva de iniciar sesin como administrador no es nicamente de Windows, es algo inherente a los propios sistemas operativos. De ah el que se incluya en ellos mecanismos para poder lanzar procesos con otras credenciales diferentes a las del usuario que est logado. Estas utilidades permiten lanzar los procesos con cualquier usuario, no es requerido que se lancen con usuarios administradores, pero su mayor utilidad es, precisamente, cuando se ejecutan para lanzar los procesos como usuario administrador. Todo buen curso de administracin de un sistema operativo recomendar que no se inicie sesin como administrador nunca, si no que se haga como usuario limitado y se haga uso de estas utilidades cuando se requiera realizar una accin administrativa. En Unix/Linux usaremos SU, en Windows 2000/XP/2003 usaremos RunAs.exe.

RunAs.exe RunAs nos permite, como vimos anteriormente, lanzar un programa como otro usuario distinto al que tiene iniciada la sesin. con l podremos administrar Windows, Active Directory, etc., sin necesidad de tener iniciada una sesin de administrador.

Sintaxis La sintaxis completa de RunAs la tenemos en la ayuda; si queremos saberla basta con consultar en esta. Aqu slo vamos a sealar la sintaxis bsica para nuestros propsitos. As pues, diremos que para usar RunAs lo haremos de la siguiente manera: runas /user:{[dominio_o_equipo\]usuario | usuario[@dominio]} [/savecred | /savedcred] <ejecutable parmetros> Donde: /user:{[dominio_o_equipo\]usuario | usuario[@dominio]}: requerido; es el nombre del usuario con el que lanzaremos el ejecutable. El nombre puede estar expresado como Down-Level Logon Name (dominio\usuario) o como User Principal Name (usuario@dominio). Los dos ejemplos siguientes se refieren al mismo usuario: /user:moria\balrog /user:balrog@moria.mordor.org /savecred o /savedcred: opcional; indica que se guarden las credenciales una vez suministradas. Es decir, slo se nos pedir que entremos la contrasea del usuario que lanza el ejecutable la primera vez que usemos RunAs con /savecred para lanzar el ejecutable; no slo eso, si no que a partir de entonces todo ejecutable que lanzado con RunaAs con ese usuario no necesitar que se entre la contrasea.Por desgracia, este parmetro no est disponible en Windows 2000 ni en Windows XP Home, slo en Windows XP Pro o Windows Server 2003. Si el sistema est en espaol la ayuda

referencia este parmetro como/savedcred, si el sistema est en ingls lo referencia como /savecred; funciona de las dos maneras en los dos idiomas. <ejecutable - parmetros>: requerido; es el ejecutable que se lanza, puede ir o no con su ruta, dependiendo desde dnde se lanza RunAs o de si est en el Path de sistema o usuario. Si se necesita que lleve parmetros se pondrn despus del nombre del ejecutable tras un espacio. En el caso de que lleve parmetros o que en la ruta\nombre aparezca algn espacio, ser necesario que encerremos el conjunto entre comillas. Se pueden utilizar variables de entorno, encerrado el nombre entre tantos por ciento (%). En ocasiones es necesario que los parmetros estn encerrados entre comillas (una ruta que tenga espacios, por ejemplo), en estos casos las comillas debern ser escritas quitndoles el significado con slash invertido (\); por ejemplo: runas /user:dominio\administrador "%SystemRoot%\explorer.exe /e, \"c:\Archivos de Isengard\"" Ejemplos de RunAs En este caso lanzamos el programa "Bola de fuego.exe" del usuario gandalf del domino comunidad (expresado como DLLN); la ruta del ejecutable la construimos utilizando la variable de entorno ProgramFiles. runas /user:comunidad\gandalf "%ProgramFiles%\LOTR\Conjuros\Bola de fuego.exe" En este otro ejemplo, lanzamos el programa palantir.exe con el parmetro /informar_sauron con la cuenta del usuario saruman del dominio isengard.mordor.org, expresado como UPN. El programa no incluye ruta pues se supone que est en el Path. runas /user:saruman@isengard.mordor.org /savecred "palantir.exe /informar_sauron" En este ltimo ejemplo se lanza el programa comer.exe con el usuario local pippin (al no llevar nombre de dominio se asume que es la mquina local); el programa est en el Path y al no haber ningn espacio (ni en la ruta ni por llevar algn parmetro) no est encerrado entre comillas. runas /user:pippin /savecred comer.exe

Batera de herramientas A continuacin veremos cmo crear una batera de accesos directos usando RunAs que nos permitan realizar cualquier tarea que requiera privilegios administrativos que necesitemos hacer, estando logados como un usuario sin estos privilegios. Podemos crear un grupo de programas en el men inicio o crear los accesos directos en el escritorio, como haremos en los sucesivos ejemplos.

CMD.EXE La madre de todas las herramientas; con CMD.EXE podremos lanzar cualquier cosa que necesitemos para la administracin. A continuacin se muestra cmo crear un acceso directo que abra esta herramienta como otro usuario; el proceso para crear los accesos directos de otras herramientas ser el mismo, slo cambiar el origen, el nombre y el icono. Deberemos hacer clic derecho sobre el escritorio, "Nuevo\Acceso directo":

A continuacin escribimos en la caja de texto localizacin del comando "runas /user:dominio\usuario cmd"; si deseamos que se guarden las credenciales deberemos poner "runas /user:dominio\usuario /savecred cmd":

Pulsamos "Next" y en la caja de texto de nombre del acceso directo ponemos un nombre que nos haga reconocer que es una ventana de comandos como administrador, por ejemplo "ADM - CMD.EXE":

Pulsamos finalizar y ya tenemos el acceso directo creado, pero... qu pasa con el icono?. Vamos ahora a modificar el acceso directo para que se muestre con el icono correspondiente a una ventana de comandos. Para ello hacemos clic derecho sobre el acceso directo, "Propiedades" y se muestra la ventana de propiedades del acceso directo, donde pulsaremos el botn "Cambiar icono..." que se encuentra en la pestaa "Acceso directo":

Debido a que RunAs no contiene iconos, se nos mostrar un aviso indicando esta circunstancia:

Pulsamos aceptar y se muestra el cuadro de dilogo de cambio de icono, en el que estar seleccionado "%SystemRoot%\system32\SHELL32.dll" como origen de los iconos (es el origen predeterminado). Pulsamos el botn "Examinar..." y seleccionamos "%SystemRoot%\system32\cmd.exe", pulsamos aceptar y ya tendremos el icono de CMD en el cuadro de dilogo de cambiar icono, pulsamos sobre l, aceptamos y en las propiedades del acceso directo volvemos a aceptar; ya tenemos el acceso directo con su correspondiente icono.

Si hubisemos creado el acceso directo sin establecer que se guarden credenciales y queremos que as se haga, deberemos hacer clic derecho sobre l, "Propiedades", y en la pestaa "Acceso directo" retocar el cuadro de texto "Destino" para aadir "/savecred":

La primera vez que ejecutemos este acceso directo, si est establecido "/savecred", o cada vez que lo ejecutemos, si no lo est, se solicita del usuario que entre la contrasea correspondiente al usuario con el que RunAs lanzar la tarea:

Por qu se dijo al comienzo de esta parte sobre CMD.EXE que es la madre de todas las herramientas? Porque desde ella podremos acceder a todas las herramientas que queramos, a todas ubicaciones que necesitemos y esto como administradores, si como administradores hemos ejecutado CMD.EXE. Ejemplos: > mmc Abre una consola de administracin desde la cual podremos agregar aquellos snap-ins que necesitemos; esto estar hecho siempre como administrador. > start \\servidor\carpeta

Abre una ventana situada en el recurso compartido "carpeta" del equipo "servidor" como administrador, de forma que podremos, por ejemplo, lanzar instaladores, escribir en recursos compartidos en los que slo los administradores pueden escribir, etc. Un ltimo ejemplo, quizs el ms definitivo; podemos desplegar el men inicio y arrastrar cualquier acceso directo a la ventana de comandos y soltarlo en ella, se habr escrito la ruta\nombre del acceso directo y al pulsar intro se ejecutar como administrador (por ejemplo "Usuarios y equipos de Active Directory"); esta accin de arrastrar la podremos hacer no slo desde el men inicio, si no tambin desde una ventana de carpeta o el explorador de Windows (pudiendo por tanto lanzar ejecutables que no estn en el men inicio, por ejemplo "regserv32.exe" para registrar una librera).

Explorador de Windows Es la segunda herramienta en importancia despus de CMD.EXE, pues nos permite tambin arrancar multitud de cosas, al poder acceder a los directorios de los discos del equipo local, a los recursos de la red y al panel de control. El proceso para crear un acceso directo que nos abra un explorador de Windows es igual al que usamos para crear el acceso directo a CMD.EXE. Difiere en que lo que debemos escribir en la caja de texto de localizacin del comando, que en este caso es: runas /user:dominio\usuario "%SystemRoot%\explorer.exe <opciones>" Las opciones son: /n = abre nueva carpeta /e = explorador en dos ventanas (panel del rbol y panel de detalle) /select = carpeta o unidad seleccionada /root = nivel superior en el explorador (si se le indica c:\Pepe no se podr acceder a c:\ ni ninguna de sus carpetas excepto c:\Pepe y sus subcarpetas). Ejemplos: "%SystemRoot%\explorer.exe /n, c:\" - Abre una carpeta simple en c:\ "%SystemRoot%\explorer.exe /e, d:\Perico" - Abre una carpeta con rbol en d:\Perico "%SystemRoot%\explorer.exe /e, d:\Perico, /select, d:\Perico\Pedrito.txt" - Abre una carpeta con rbol en d:\Perico y con el fichero Pedrito.txt seleccionado "%SystemRoot%\explorer.exe /n, /root, e:\Julianete" - Abre una carpeta simple con raz en e:\Julianete "%SystemRoot%\explorer.exe /e, /root, e:\Julianete" - Abre una carpeta con rbol con raz en e:\Julianete As pues, podramos lanzar, por ejemplo:

runas /user:dominio\administrador "%SystemRoot%\explorer.exe /e, c:\" El icono para el acceso directo lo encontraremos en el propio ejecutable, es decir en "%SystemRoot%\explorer.exe" Nota importante: lo ms probable, es que si ejecutamos esta lnea no se abra un explorador de Windows por qu? Esto es debido a que de, forma predeterminada, los usuarios no tienen activada la opcin "Abrir cada carpeta en un proceso independiente" en "Mi PC", men "Herramientas\Opciones de carpeta...", pestaa "Ver". Por tanto deberemos logarnos con el usuario que deseemos que se utilice con RunAs y establecer esta opcin; una vez cerrada la sesin de ese usuario y abierta la sesin con el que queremos que utilice RunAs, veremos como ejecutando esa lnea s que se abre un explorador de Windows.

MMC.EXE MMC.EXE es la consola de administracin genrica, a la cual podemos agregar snap-ins que nos permiten administrar el dominio, el equipo, servicios, etc. Es por tanto una poderosa y elstica herramienta. Es interesante tener un acceso directo preparado con RunAs para lanzar una consola MMC. La lnea a ejecutar sera: runas /user:dominio\administrador mmc Tambin podemos crear accesos directos que nos abran determinadas consolas, tanto de las que proporciona el propio sistema (como gpedit.msc o services.msc) como aquellas consola personalizadas que nosotros creemos. La forma sera la siguiente: runas /user:dominio\administrador "mmc <ruta\nombre-consola.msc>" Ejemplos Administracin del equipo: runas.exe /user:dominio\administrador "mmc %windir%\system32\compmgmt.msc" Configuracin de Terminal Services: runas.exe /user:dominio\administrador"mmc.exe %SystemRoot%\system32\tscc.msc /s"

Internet Explorer Navegar por Internet como administrador del equipo no es precisamente una buena idea hay gente muy mala por ah afuera! no obstante, en ocasiones, puede ser que necesitemos navegar como administrador, por ejemplo para poder visitar Windows

Update y actualizar nuestro equipo. Para ello es conveniente que tambin tengamos un acceso directo con RunAs que nos abra Internet Explorer con privilegios administrativos. La lnea a ejecutar sera la siguiente: runas.exe /user:dominio\administrador "%ProgramFiles%\Internet Explorer\iexplore.exe"

RegEdit Una tarea que debemos tambin arrostrar en ocasiones como administrador es la edicin del registro. Para poder lanzar regedit.exe con privilegios administrativos la lnea a ejecutar sera: runas.exe /user:dominio\administrador "%windir%\regedit.exe"

Administrador de tareas Si queremos matar determinados procesos, es necesario que seamos administradores del equipo, de ah que sea interesante tener un acceso directo que ejecute el administrador de tareas con privilegios administrativos. La lnea para ello es: runas.exe /user:dominio\administrador "%SystemRoot%\system32\taskmgr.exe"

Sobre /savecred Esta opcin es muy cmoda, pues con slo una vez que entremos la contrasea en un acceso directo que tenga esta opcin, no volveremos a entrar la contrasea ms, no slo en ese acceso directo, si no en cualquier otro acceso directo que tenga esta opcin activada y lance la tarea con ese mismo usuario. Esta comodidad, no obstante, entraa un peligro: que no ejecutemos las cosas con privilegios administrativos con la suficiente "solemnidad" que nos da el que sea necesario tener que suministrar la contrasea para ello. As pues, aunque sea ms incmodo y pesado, es preferible evitar el uso de esta opcin.

Utilidades de terceros A continuacin pongo enlaces a utilidades de terceros de tipo RunAs. Esto va destinado, principalmente, a usuarios de Windows 2000 y XP Home, debido sobre todo a la falta del modificador /savecred. Adems aaden otras prestaciones que pueden resultar interesantes para los sistemas que s disponen de /savecred.

NetExec http://www.netexec.de/ Masquerade http://mtvlabs.com:9225/ EMCO RunAs Professional http://www.emco.is/run_as_professional/features.html TqcRunA http://www.quimeras.com/products/displayproduct.asp?IdProduct=4 2/2006 Fernando Reyes Lpez

You might also like