Saltar al contenido

10 comandos de CMD que todo administrador de sistemas y hacker ético debe conocer

    Administración de sistemas Windows | unfantasmaenelsistema.com

    La interfaz de línea de comandos de Windows (CMD) lleva en el sistema operativo desde los tiempos del MS-DOS, y sigue siendo hoy una de las herramientas más potentes para administrar, diagnosticar y auditar sistemas Windows. Muchas de las herramientas que vamos a ver en este artículo son exactamente las que usan los atacantes para realizar reconocimiento interno una vez dentro de una red: la diferencia entre el defensor y el atacante es quién las usa primero y con qué propósito.

    Cada comando incluye ejemplos visuales con sintaxis coloreada y, debajo de cada bloque, el mismo texto en formato copiable para que puedas pegarlo directamente en tu terminal. También se incluye el contexto de seguridad de cada herramienta: qué señales de alarma detectar y cómo usarla en una auditoría real.

    Cómo abrir CMD correctamente

    Los 10 comandos: resumen

    1. systeminfo — inventario completo del sistema

    systeminfo es la primera herramienta que ejecuta un administrador en un equipo desconocido y la primera que ejecuta un atacante tras ganar acceso a un sistema. En una sola pantalla revela la versión exacta del sistema operativo, los parches de seguridad instalados (y por tanto los que faltan), la configuración de red, si el equipo pertenece a un dominio, y el tiempo que lleva encendido.

    REM Información general del sistema:
    systeminfo
    REM Filtrar campos específicos:
    systeminfo | findstr /i «os name»
    systeminfo | findstr /i «os version»
    systeminfo | findstr /i «domain»
    systeminfo | findstr /i «hotfix»
    systeminfo | findstr /i «total physical memory»
    REM Ver solo parches instalados:
    systeminfo | findstr /i «KB»
    REM Exportar a archivo de texto:
    systeminfo > C:\temp\inventario_%COMPUTERNAME%.txt
    REM Consultar equipo remoto:
    systeminfo /s NOMBRE_EQUIPO_REMOTO /u DOMINIO\usuario /p contraseña
    REM Formato CSV:
    systeminfo /fo csv > inventario.csv

    ▲ Texto copiable

    2. tasklist + taskkill — procesos activos y gestión

    tasklist muestra todos los procesos en ejecución con su PID y uso de memoria. La variante tasklist /svc es especialmente útil en auditorías: muestra qué servicios está ejecutando cada instancia de svchost.exe, permitiendo detectar instancias sin servicios legítimos o con nombres maliciosos.

    REM Listar todos los procesos activos:
    tasklist
    REM Ver procesos con servicios asociados:
    tasklist /svc
    REM Ver procesos con información del ejecutable:
    tasklist /v
    REM Filtrar por nombre de proceso:
    tasklist /fi «imagename eq svchost.exe»
    REM Filtrar por PID:
    tasklist /fi «pid eq 4821»
    REM Buscar procesos sin empresa firmante:
    tasklist /v | findstr /i «N/A»
    REM Exportar a CSV:
    tasklist /fo csv > procesos.csv
    REM Matar proceso por nombre:
    taskkill /im notepad.exe /f
    REM Matar proceso por PID:
    taskkill /pid 4821 /f
    REM Matar proceso y todos sus hijos:
    taskkill /pid 4821 /f /t

    ▲ Texto copiable

    3. netstat — conexiones de red y puertos en escucha

    netstat es la ventana a la actividad de red del sistema. Con el flag -ano muestra todas las conexiones TCP y UDP activas junto con el PID del proceso responsable. Es la primera herramienta para detectar conexiones sospechosas a IPs externas o puertos no estándar que pueden indicar una reverse shell o un beacon de malware.

    REM Ver todas las conexiones y puertos en escucha:
    netstat -ano
    REM Solo conexiones activas:
    netstat -ano | findstr «ESTABLISHED»
    REM Solo puertos en escucha:
    netstat -ano | findstr «LISTENING»
    REM Conexiones a un puerto específico:
    netstat -ano | findstr «:443»
    netstat -ano | findstr «:4444»
    REM Detectar conexiones a IPs externas:
    netstat -ano | findstr «ESTABLISHED» | findstr /v «127.0.0.1» | findstr /v «192.168.»
    REM Estadísticas de protocolo:
    netstat -s
    REM Refrescar cada 5 segundos:
    netstat -ano 5

    ▲ Texto copiable

    4. nslookup — consultas DNS y diagnóstico

    nslookup permite realizar consultas DNS directamente desde CMD, tanto para resolver nombres de dominio como para consultar tipos específicos de registros (MX, TXT, NS, A). Es imprescindible para diagnosticar problemas de resolución de nombres, verificar la configuración DNS de un dominio, y detectar envenenamiento de caché DNS comparando las respuestas de distintos servidores.

    REM Resolver un dominio a IP:
    nslookup ejemplo.com
    REM Consulta inversa (IP a dominio):
    nslookup 93.184.216.34
    REM Usar un servidor DNS específico:
    nslookup ejemplo.com 8.8.8.8
    nslookup ejemplo.com 1.1.1.1
    REM Modo interactivo — consultar registros específicos:
    nslookup
    > set type=MX
    > ejemplo.com
    > set type=TXT
    > ejemplo.com
    > set type=NS
    > ejemplo.com
    > exit
    REM Diagnosticar resolución DNS:
    nslookup google.com
    nslookup google.com 8.8.8.8

    ▲ Texto copiable

    5. tracert + pathping — trazar rutas y diagnosticar latencia

    tracert (trace route) muestra el camino que siguen los paquetes desde tu equipo hasta un destino, mostrando cada router intermedio y el tiempo de respuesta en cada salto. pathping va más allá: después de trazar la ruta, envía paquetes estadísticos a cada salto y calcula el porcentaje de pérdida de paquetes en cada punto, permitiendo identificar exactamente dónde hay un problema de red.

    REM Trazar la ruta hasta un destino:
    tracert google.com
    REM Sin resolver DNS (más rápido):
    tracert -d google.com
    REM Limitar a 10 saltos:
    tracert -h 10 google.com
    REM Timeout de 500ms por salto:
    tracert -w 500 google.com
    REM Pathping (tracert + estadísticas de pérdida):
    pathping google.com
    REM Pathping sin resolución DNS:
    pathping -n google.com

    ▲ Texto copiable

    6. net user + net localgroup — gestión y auditoría de cuentas

    Los comandos net user y net localgroup son las herramientas de gestión de cuentas locales de Windows sin necesidad de interfaz gráfica. En una auditoría de seguridad, lo primero es ejecutar net localgroup Administradores: cualquier usuario no reconocido en ese grupo es una señal de alarma inmediata.

    REM Listar todos los usuarios locales:
    net user
    REM Ver información de un usuario específico:
    net user Administrador
    REM Crear usuario:
    net user nuevo_usuario Passw0rd! /add
    REM Eliminar usuario:
    net user usuario_a_eliminar /delete
    REM Activar/desactivar cuenta Administrador:
    net user Administrador /active:yes
    net user Administrador /active:no
    REM Cambiar contraseña:
    net user usuario NuevaContraseña!
    REM Forzar cambio de contraseña en próximo login:
    net user usuario /logonpasswordchg:yes
    REM Ver todos los grupos locales:
    net localgroup
    REM Ver miembros de un grupo:
    net localgroup Administradores
    REM Añadir usuario a un grupo:
    net localgroup Administradores nuevo_usuario /add
    REM Eliminar usuario de un grupo:
    net localgroup Administradores usuario /delete

    ▲ Texto copiable

    7. icacls — permisos NTFS de archivos y carpetas

    icacls (Integrity Control Access Control Lists) permite ver y modificar los permisos NTFS de archivos y carpetas desde CMD. En el contexto de seguridad, su uso más crítico es detectar archivos del sistema con permisos incorrectos: un ejecutable del sistema escribible por usuarios no privilegiados es un vector directo de escalada de privilegios.

    REM Ver permisos de un archivo:
    icacls C:\Windows\System32\cmd.exe
    REM Ver permisos recursivamente:
    icacls C:\carpeta\ /T
    REM Buscar archivos del sistema escribibles por usuarios (escalada de privilegios):
    icacls C:\Windows\System32\*.exe | findstr «Usuarios:(F»
    icacls C:\Windows\System32\*.exe | findstr «Usuarios:(M»
    REM Otorgar permisos de lectura a un usuario:
    icacls C:\datos\informe.pdf /grant usuario:(R)
    REM Otorgar con herencia (carpeta + contenido):
    icacls C:\carpeta\ /grant usuario:(OI)(CI)(M)
    REM Eliminar permisos de un usuario:
    icacls C:\datos\privado.txt /remove usuario
    REM Restaurar permisos por defecto:
    icacls C:\carpeta\ /reset /T

    ▲ Texto copiable

    8. sc — gestión y auditoría de servicios

    sc (Service Control) es la interfaz de línea de comandos para el Administrador de control de servicios de Windows. Permite listar, iniciar, detener y configurar servicios sin abrir la interfaz gráfica. En una auditoría, el comando sc qc nombre_servicio para cada servicio con inicio automático es fundamental: el campo BINARY_PATH_NAME revela la ruta del ejecutable, y cualquier ruta fuera de System32 o Program Files merece investigación.

    REM Listar todos los servicios:
    sc query type= all
    REM Listar servicios en ejecución:
    sc query state= running
    REM Ver información detallada de un servicio:
    sc qc wuauserv
    REM Iniciar un servicio:
    sc start wuauserv
    REM Detener un servicio:
    sc stop wuauserv
    REM Cambiar tipo de inicio:
    sc config wuauserv start= disabled
    sc config wuauserv start= auto
    sc config wuauserv start= demand
    REM Crear un servicio:
    sc create NombreServicio binPath= «C:\ruta\ejecutable.exe»
    REM Eliminar un servicio:
    sc delete NombreServicio

    ▲ Texto copiable

    9. reg — gestión del registro de Windows

    El registro de Windows es la base de datos de configuración del sistema. El comando reg permite consultar, modificar, exportar e importar claves del registro desde CMD. Las claves de Run y RunOnce son las más auditadas: son el mecanismo de persistencia más usado por el malware para sobrevivir a reinicios del sistema.

    REM Consultar una clave:
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    REM Consultar recursivamente:
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /s
    REM Buscar un valor en todo el registro:
    reg query HKLM /f «svchost32» /s
    REM Las 4 claves de arranque automático más importantes:
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
    reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
    REM Añadir un valor:
    reg add HKCU\SOFTWARE\MiApp /v ConfigKey /t REG_SZ /d «valor» /f
    REM Eliminar un valor:
    reg delete HKCU\SOFTWARE\MiApp /v ConfigKey /f
    REM Exportar clave a archivo .reg:
    reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\backup\run.reg
    REM Importar desde archivo .reg:
    reg import C:\backup\run.reg

    ▲ Texto copiable

    10. findstr — buscar patrones de texto

    findstr es el equivalente de grep en Windows CMD: permite buscar cadenas de texto (o expresiones regulares básicas) en archivos o en el output de otros comandos mediante pipe. Es imprescindible para filtrar la salida de comandos como netstat, tasklist o systeminfo, y para buscar credenciales hardcodeadas en archivos de configuración web o en código fuente.

    REM Buscar en un archivo:
    findstr «error» C:\Windows\Logs\CBS\CBS.log
    REM Sin distinción de mayúsculas:
    findstr /i «error» archivo.log
    REM En múltiples archivos:
    findstr /i «password» C:\inetpub\wwwroot\*.config
    REM Búsqueda recursiva en subcarpetas:
    findstr /s /i «password» C:\inetpub\wwwroot\*.php
    REM Mostrar número de línea:
    findstr /n «error» archivo.log
    REM Mostrar líneas que NO contienen el patrón:
    findstr /v «#» config.ini
    REM Filtrar output de otros comandos:
    netstat -ano | findstr «ESTABLISHED»
    tasklist | findstr /i «powershell»
    systeminfo | findstr /i «hotfix»
    sc query | findstr /i «running»
    REM Guardar resultados en archivo:
    findstr /s /i «password» C:\web\*.php > passwords_encontradas.txt

    ▲ Texto copiable

    Bonus: pipelines potentes combinando comandos

    El verdadero poder de CMD no está en los comandos individuales sino en combinarlos. Con el operador pipe (|) puedes pasar el output de un comando como input de otro, y con >> puedes acumular resultados en un archivo. Aquí están las combinaciones más útiles para administradores y auditores.

    REM 1. Conexiones externas con su proceso:
    netstat -ano | findstr «ESTABLISHED»
    tasklist /fi «pid eq NUMERO_PID»
    REM 2. Auditoría de arranque automático:
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    REM 3. Detectar svchost sin servicios legítimos:
    tasklist /svc | findstr «svchost»
    REM 4. Inventario de parches instalados:
    systeminfo | findstr /i «KB»
    REM 5. Buscar credenciales en archivos web:
    findstr /s /i «password=» C:\inetpub\wwwroot\*.config
    findstr /s /i «connectionstring» C:\inetpub\wwwroot\*.config
    REM 6. Usuarios con sesión activa ahora mismo:
    query user
    REM 7. Todos los administradores locales:
    net localgroup Administradores
    REM 8. Puertos en escucha con su proceso:
    netstat -ano | findstr «LISTENING»
    REM 9. Exportar inventario completo:
    echo === SISTEMA === > inventario.txt
    systeminfo >> inventario.txt
    echo === USUARIOS === >> inventario.txt
    net user >> inventario.txt
    echo === ADMINISTRADORES === >> inventario.txt
    net localgroup Administradores >> inventario.txt
    echo === RED === >> inventario.txt
    netstat -ano >> inventario.txt
    echo === SERVICIOS === >> inventario.txt
    sc query state= running >> inventario.txt
    echo === ARRANQUE === >> inventario.txt
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run >> inventario.txt

    ▲ Texto copiable

    Referencia rápida

    Conclusión

    Estos 10 comandos son la base del trabajo diario de cualquier administrador de sistemas Windows y el punto de partida de cualquier auditoría interna. Lo que los distingue en manos de un profesional de seguridad es saber qué buscar en el output: una instancia de svchost sin servicios, una conexión establecida a un puerto 4444, un usuario no reconocido en el grupo Administradores, un servicio con BINARY_PATH fuera de System32. Todos estos son indicadores que un administrador experimentado detecta en segundos.

    El siguiente artículo de esta serie cubrirá PowerShell: los equivalentes modernos de estos comandos y muchas capacidades adicionales que CMD simplemente no tiene. PowerShell es la herramienta de administración por excelencia en Windows moderno, y dominarla es imprescindible para cualquier profesional que trabaje con infraestructura Windows.

    unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

    Resumen de privacidad

    Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.