Saltar al contenido

Qué es y cómo usarlo

abril 11, 2021
psexec ipconfig command 5c6ef8dc46e0fb0001b68174 Qué es y cómo usarlo

PsExec es una herramienta portátil de Microsoft que le permite ejecutar procesos de forma remota utilizando las credenciales de cualquier usuario. Es un poco como un programa de acceso remoto, pero en lugar de controlar la computadora con un mouse, los comandos se envían a través del símbolo del sistema.


Puede usar PsExec no solo para administrar procesos en la computadora remota, sino también para redirigir la salida de la consola de una aplicación a su computadora local, haciendo que parezca que el proceso se está ejecutando localmente.


No se necesita ningún software en la computadora remota para que PsExec funcione, pero hay algunas cosas que debe tener en cuenta si la herramienta no se ejecuta correctamente la primera vez que la prueba.



Cómo configurar PsExec

Si PsExec es portátil y no necesita copiarse en la computadora remota, ¿qué tipo de configuración realmente necesita?


La herramienta funciona solo bajo ciertas condiciones. Es decir, cuando el uso compartido de archivos e impresoras está habilitado tanto en la computadora local como en la remota, y cuando la máquina remota tiene la $ admin compartir configurado correctamente para proporcionar acceso a su Windows carpeta.


Puede verificar que el uso compartido de archivos e impresoras esté habilitado mirando en la configuración del Firewall de Windows:


  1. Ingresar firewall.cpl en el cuadro de diálogo Ejecutar. Una forma de abrir Run es a través del GANAR + R atajo de teclado.


  2. Seleccione Permitir una aplicación o función a través del Firewall de Windows desde el lado izquierdo de la ventana.

    Esto podría leerse como Permitir una aplicación o función a través del Firewall de Windows Defender dependiendo de cómo esté configurada su computadora, pero es la misma opción.

  3. Asegurarse Uso compartido de archivos e impresoras tiene una marca de verificación en el Privado cuadro a su derecha. Si no es así, marque esa casilla y seleccione OK.

    Si no puede cambiar la configuración del firewall porque está atenuada, seleccione Cambiar ajustes en la parte superior de la ventana.

  4. Ahora puede salir de cualquier configuración de Firewall de Windows abierta.


Con el Firewall de Windows ahora configurado correctamente para PsExec, no debería tener problemas para acceder al $ admin compartir en la máquina remota siempre que se cumplan las siguientes condiciones:


  • Ambas computadoras pertenecen al mismo grupo de trabajo
  • Conoce la contraseña de la cuenta de un administrador en la computadora remota

Vea este tutorial en Wintips.org si necesita ayuda para hacer esas cosas o si las ha hecho correctamente, pero más adelante, después de intentar usar PsExec como se describe a continuación, aparece un error de “acceso denegado”.



Cómo utilizar PsExec

Antes de usar PsExec para ejecutar comandos remotos, debe descargar el programa y colocar el Símbolo del sistema de manera que pueda utilizar la herramienta correctamente.


Descárgalo y ábrelo

  1. Descargue PsExec en la computadora que ejecutará los comandos remotos. Está disponible de forma gratuita en Microsoft en Sysinternals como parte de PsTools.


  2. Extraiga los archivos del PsTools.zip descargar. Puede hacerlo haciendo clic con el botón derecho en el archivo ZIP y seleccionando Extraer todo. Cualquier extractor de archivos de terceros también funcionará.

  3. Abra la carpeta donde se encuentran los archivos extraídos y, desde la barra de navegación en la parte superior de la carpeta, borre lo que está allí e ingrese cmd.

    Otra forma de hacer esto, al menos en algunas versiones de Windows, es Mayús + clic derecho un espacio vacío en la carpeta PsTools y elija Abra la ventana de comando aquí.

    Esto abrirá el símbolo del sistema en esa carpeta para que pueda ejecutar comandos a través de PsExec.

  4. Con el símbolo del sistema ahora abierto en la carpeta que contiene PsExec.exe, puede comenzar a ingresar comandos en la máquina remota.


Entendiendo la sintaxis

Al igual que cualquier herramienta de línea de comandos, PsExec funciona solo cuando su sintaxis se sigue exactamente. Una vez que comprenda cómo escribir comandos de la forma en que la herramienta los entiende, puede controlar el programa desde cualquier símbolo del sistema.


Así es como se deben ingresar los comandos PsExec:


psexec [\computer[,computer2[,…] | @expediente]][-u username [-p password][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][<priority>][-a n,n,…] cmd [arguments]


Esto puede parecer complejo y confuso, ¡pero no se preocupe! Hay algunos ejemplos al final de esta página que puede usar para practicar.

La sintaxis anterior se utiliza para ejecutar cualquiera de los siguientes argumentos del comando PsExec:


Opciones del comando PsExec
Parámetro Explicación
-a Procesadores separados en los que se puede ejecutar la aplicación, con comas, donde 1 es la CPU con el número más bajo. Por ejemplo, para ejecutar la aplicación en la CPU 2 y la CPU 4, debe ingresar:
-a 2,4
-C Copie el ejecutable especificado en el sistema remoto para su ejecución. Si se omite, la aplicación debe estar en la ruta del sistema en el sistema remoto.
-D No espere a que termine el proceso (no interactivo).
-mi No carga el perfil de la cuenta especificada.
-F Copie el programa especificado incluso si el archivo ya existe en el sistema remoto.
-I Ejecute el programa para que interactúe con el escritorio de la sesión especificada en el sistema remoto. Si no se especifica ninguna sesión, el proceso se ejecuta en la sesión de la consola.
-h Si el sistema de destino es Windows Vista o superior, ejecute el proceso con el token elevado de la cuenta, si está disponible.
-l Ejecute el proceso como un usuario limitado (elimina el grupo de administradores y permite solo los privilegios asignados al grupo de usuarios). En Windows Vista, el proceso se ejecuta con baja integridad.
-norte Especifica el tiempo de espera (en segundos) para conectarse a equipos remotos.
-pag Especifica una contraseña opcional para el nombre de usuario. Si se omite, se le pedirá que ingrese una contraseña oculta.
-r Especifica el nombre del servicio remoto para crear o con el que interactuar.
-s Ejecuta el proceso remoto en la cuenta del sistema.
-u Especifica un nombre de usuario opcional para iniciar sesión en una computadora remota.
-v Copia el archivo especificado solo si tiene un número de versión superior o es más reciente que el del sistema remoto.
-w Establece el directorio de trabajo del proceso (relativo a la computadora remota).
-X Muestra la interfaz de usuario en el escritorio seguro de Winlogon (solo sistema local).

prioridad
Especifica -low, -belownormal, -abovenormal, -high o -realtime para ejecutar el proceso con una prioridad diferente. Utilice -background para ejecutar con poca memoria y prioridad de E / S en Windows Vista.
ordenador Indica a PsExec que ejecute la aplicación en los equipos remotos especificados. Si se omite, PsExec ejecuta la aplicación en el sistema local, y si un comodín (
\ *), PsExec ejecuta el comando en todos los equipos del dominio actual.
@expediente PsExec ejecutará el comando en cada una de las computadoras enumeradas en el archivo.
cmd Nombre de la aplicación a ejecutar.
argumentos Argumentos para pasar (tenga en cuenta que las rutas de archivo deben ser rutas absolutas en el sistema de destino).

Ejemplos de comandos PsExec

Aquí hay algunos ejemplos de cómo usar PsExec para hacer cosas como ejecutar comandos remotos del símbolo del sistema, administrar los servicios de Windows e iniciar o instalar programas.


Abrir CMD de forma remota

psexec \192.168.86.62 cmd


Una de las formas más fáciles de usar PsExec para ejecutar comandos del símbolo del sistema en una computadora remota es ejecutar cmd siguiendo la dirección IP de la máquina, 192.168.86.62 en este ejemplo.


Al hacer esto, se abrirá una ventana de símbolo del sistema dentro de la existente y le permitirá ingresar cada comando como si estuviera sentado frente a la computadora remota. Por ejemplo, puede ingresar ipconfig para obtener esos resultados de la otra computadora, o mkdir para crear una nueva carpeta, dir para enumerar el contenido de la carpeta, etc.


Ejecutar un comando remoto

psexec \mediaserver01 tracert lifewire.com


Otra forma de usar PsExec es ingresar comandos individuales pero sin iniciar un símbolo del sistema completo. En este ejemplo, estamos ejecutando el comando tracert contra lifewire.com, y como hemos especificado el nombre de la computadora remota, mediaserver01, los resultados del comando son relevantes para que máquina, no la local (es decir, en la que estás).


Iniciar un servicio de forma remota

psexec \FRONTDESK_PC -u tomd -p 3*(tom#87 net start spooler


El ejemplo del comando PsExec que se muestra arriba inicia el servicio Print Spooler, spooler, de forma remota en el FRONTDESK_PC computadora usando el tomd contraseña del usuario, 3 * (tom # 87.


El mismo comando se puede utilizar para detener un servicio de forma remota, pero debe escribir “detener” en lugar de “iniciar”.


Abra el Editor del registro

psexec \mikelaptopw10 -i -s C:Windowsregedit.exe


Aquí, estamos usando PsExec para iniciar el Editor del Registro en la máquina remota, mikelaptopw10, en la cuenta del sistema. Porque -I se utiliza, el programa se abrirá en modo interactivo, lo que significa que realmente se iniciará en la pantalla de la máquina remota.


Si -I se omitieron del comando anterior, se ejecutaría en modo oculto para evitar mostrar cuadros de diálogo u otras ventanas.


Instalar el programa en una computadora remota

psexec \J3BCD011 -c "Z:filesccleaner.exe” cmd /S


En este último ejemplo de cómo usar PsExec, estamos usando -C para copiar el ccleaner.exe programa a la computadora remota J3BCD011, y luego ejecutarlo con el /S ya que eso es lo que usa CCleaner para habilitar una instalación silenciosa (que no requiere entrada del usuario). Agregar un argumento como ese requiere cmd.



PsExec puede ser peligroso

Es muy importante comprender cuán poderoso es PsExec y cómo podría usarse para comprometer su computadora cuando se usa en un entorno que de otro modo no sería seguro.


Por ejemplo, combinando -C, -u, y -pag, específicamente permitirá que cualquier persona con una conexión de red a su computadora y conocimiento de las credenciales de administrador ejecute malware secreto con las credenciales de cualquier persona.


Incluso ese último ejemplo perfectamente aceptable de la sección anterior adquiere un propósito completamente nuevo cuando se considera que, en lugar de CCleaner, alguien podría instalar cualquier otra cosa que desee, en segundo plano, y no aparecerán ventanas para mostrar que algo está sucediendo.


Dicho todo esto, considerando los cambios de firewall requeridos y el conocimiento de las credenciales de administrador que alguien debería tener, hay pocas razones para preocuparse siempre que la contraseña de administrador en la computadora remota sea compleja y se hayan tomado otras medidas de seguridad básicas.


Algunos programas antivirus identifican falsamente a PsExec como un archivo peligroso, pero esas advertencias pueden ignorarse si sabe con certeza que el programa que está utilizando proviene de la fuente de Microsoft anterior. La razón por la que esto sucede es porque se sabe que el malware usa PsExec para transferir virus.