Ghost AcademySecLearn// Seguridad Informática
🛡️ Windows · Auditoría · Reconocimiento de Seguridad
Auditoría y Reconocimiento
de Seguridad

Guía de comandos esenciales nativos de Windows para evaluación de seguridad profunda sin necesidad de software de terceros.

systeminfo ipconfig arp netstat whoami netsh PowerShell wmic

Fundamentos de Auditoría y Reconocimiento

En el ámbito de la ciberseguridad, la fase de reconocimiento y enumeración es crítica. Antes de proteger un sistema, debemos entender qué estamos protegiendo. La auditoría local permite identificar configuraciones erróneas, privilegios excesivos y vectores de ataque potenciales que un actor malintencionado podría explotar.

A continuación, detallamos las herramientas y comandos nativos de Windows necesarios para realizar una evaluación de seguridad profunda sin necesidad de instalar software de terceros.

1. Mapeo de la Superficie del Sistema

El primer paso es conocer el terreno. La información del sistema nos indica el nivel de parches y la arquitectura base del objetivo.

systeminfo

Proporciona el nombre del host, la versión exacta del SO y, lo más importante, los Hotfixes (parches de seguridad) instalados.

cmd
systeminfo
Campos relevantes
Nombre de host:                WORKSTATION-01
Versión del SO:                Microsoft Windows 10 Pro 10.0.19045
Hotfix(s) instalados:          5 revisiones instaladas
                               [01]: KB5028244
                               [02]: KB5027215
                               ...
⚠️ Enfoque de seguridad: La ausencia de ciertos parches puede indicar vulnerabilidades conocidas (CVEs) que permiten la escalada de privilegios. Consulta el NVD (National Vulnerability Database) con el número de versión del SO.

wmic logicaldisk

Identifica unidades montadas, incluyendo particiones ocultas o dispositivos USB no autorizados que podrían contener herramientas de ataque o exfiltración de datos.

cmd
wmic logicaldisk get name, size, freespace
Salida esperada
FreeSpace           Name  Size
105226162176        C:    255953477632
                    D:                   ← USB o partición sin espacio visible
10737418240         E:    107374182400
💡 Indicador de riesgo: Una unidad con Name pero sin Size reportado puede indicar un dispositivo de almacenamiento externo o una partición oculta montada.

2. Auditoría de Red y Conectividad

La red es el vector de entrada más común. Entender cómo se comunica el equipo es vital para detectar intrusiones activas.

ipconfig /all

Revela la configuración completa de red: DNS, puertas de enlace y la dirección física (MAC).

cmd
ipconfig /all
Campos clave de seguridad
Adaptador Ethernet Ethernet0:
   Dirección física. . . . . . . . . : 00-0C-29-A1-B2-C3
   Servidores DNS. . . . . . . . . . : 192.168.1.1
                                       8.8.8.8
   Puerta de enlace predeterminada . : 192.168.1.1
⚠️ DNS Hijacking: Un servidor DNS desconocido o diferente al configurado por tu ISP o administrador podría indicar un ataque de DNS Hijacking. Verifica que las IPs de DNS sean las esperadas en tu entorno.

arp -a

Muestra la tabla de resolución ARP (Address Resolution Protocol): el mapa de qué dirección IP corresponde a qué dirección MAC en la red local.

cmd
arp -a
Ejemplo de tabla ARP
Interfaz: 192.168.1.100 --- 0x4
  Dirección de Internet  Dirección física      Tipo
  192.168.1.1            00-50-56-c0-00-08     dinámico
  192.168.1.50           00-50-56-c0-00-08     dinámico  ← ¡Misma MAC!
  192.168.1.200          00-0c-29-a1-b2-c3     dinámico
⚠️ ARP Spoofing (Man-in-the-Middle): Si ves dos direcciones IP diferentes con la misma dirección MAC, podrías estar siendo víctima de un ataque de ARP Spoofing. Un atacante está respondiendo a ambas IPs para interceptar el tráfico.

3. Análisis de Servicios y Puertos Activos

Un puerto abierto es una puerta potencial. Saber qué proceso lo controla es la diferencia entre un servicio legítimo y una backdoor.

netstat -ano

Lista todas las conexiones y puertos en escucha. El parámetro -o es crucial porque muestra el PID (Process ID), permitiendo rastrear qué programa específico está escuchando en un puerto sospechoso.

ParámetroSignificadoUtilidad de seguridad
-aAllMuestra todas las conexiones y puertos en escucha
-nNumericMuestra IPs y puertos como números (más rápido)
-oOwner PIDMuestra el PID del proceso propietario — clave para identificar backdoors
cmd
netstat -ano
Salida y cómo interpretarla
Proto  Dirección local    Dirección remota   Estado        PID
TCP    0.0.0.0:80         0.0.0.0:0          LISTENING     4
TCP    0.0.0.0:4444       0.0.0.0:0          LISTENING     3821  ← ¡Sospechoso!
TCP    127.0.0.1:49152    127.0.0.1:49153    ESTABLISHED   1204
💡 Siguiente paso: Con el PID sospechoso, cruza con tasklist /fi "PID eq 3821" para identificar el ejecutable responsable.

tasklist /v

Lista todos los procesos con el nombre de usuario que los ejecuta. Permite identificar procesos maliciosos camuflados con nombres genéricos (como svchost.exe) pero ejecutados por usuarios no sistémicos.

cmd
tasklist /v
cmd — Filtrar por PID específico
tasklist /fi "PID eq 3821" /v
Ejemplo de proceso sospechoso
Nombre de imagen   PID   Nombre de sesión  Sesión  Mem  Estado     Usuario
svchost.exe       3821   Console           1       4,5M  Running   WORKSTATION\jose  ← ¡Usuario no sistémico!
⚠️ Indicador de compromiso: Un proceso como svchost.exe debería ejecutarse siempre como SYSTEM, LOCAL SERVICE o NETWORK SERVICE. Si aparece con un usuario regular, es una señal de alerta crítica.

4. Evaluación de Privilegios y Usuarios

El principio de menor privilegio es la base de la seguridad. Estos comandos ayudan a verificar si un usuario tiene más poder del que debería.

whoami /priv

Muestra los tokens de privilegio asignados al usuario actual. Ciertos privilegios son críticos porque pueden ser explotados para elevarse al nivel de SYSTEM.

cmd
whoami /priv
Salida de ejemplo
INFORMACIÓN DE PRIVILEGIOS
--------------------------
Nombre de privilegio          Descripción                     Estado
============================= =============================== =========
SeBackupPrivilege             Hacer copias de seguridad       Habilitado  ← ¡Peligro!
SeImpersonatePrivilege        Suplantar un cliente            Habilitado  ← ¡Peligro!
SeShutdownPrivilege           Apagar el sistema               Deshabilitado
PrivilegioRiesgoTécnica de abuso
SeBackupPrivilegeCríticoLeer cualquier archivo del sistema, incluido SAM y NTDS.dit
SeImpersonatePrivilegeCríticoTécnica Potato attacks (JuicyPotato, PrintSpoofer) para escalar a SYSTEM
SeDebugPrivilegeAltoLeer memoria de procesos privilegiados (LSASS dump)
SeLoadDriverPrivilegeAltoCargar controladores maliciosos en el kernel
⚠️ SeBackupPrivilege y SeImpersonatePrivilege son privilegios particularmente peligrosos. Su presencia en una cuenta de usuario regular es un indicador de mala configuración grave que debe corregirse inmediatamente.

Get-ExecutionPolicy (PowerShell)

Define qué scripts de PowerShell pueden ejecutarse en el sistema. Una política permisiva abre la puerta a la ejecución de scripts maliciosos.

powershell
Get-ExecutionPolicy
Get-ExecutionPolicy -List    # Ver política por scope (Machine, User, Process)
Políticas y su nivel de riesgo
Restricted      → Seguro: no permite ningún script
AllSigned       → Seguro: solo scripts firmados digitalmente
RemoteSigned    → Moderado: scripts remotos deben estar firmados
Unrestricted    → PELIGROSO: ejecuta cualquier script con advertencia
Bypass          → PELIGROSO: sin restricciones, sin advertencias
⚠️ Bypass o Unrestricted: El sistema es vulnerable a la ejecución de scripts maliciosos de PowerShell que evaden las restricciones estándar. Un atacante puede ejecutar payloads directamente desde memoria.

5. Estado de las Defensas Perimetrales

No basta con tener defensas; hay que comprobar que estén activas y correctamente configuradas.

netsh advfirewall — Estado del Firewall

Indica si el firewall está activo en los perfiles Domain, Private y Public.

cmd — Moderno (recomendado)
netsh advfirewall show allprofiles
cmd — Legacy
netsh firewall show state
Salida — advfirewall
Configuración de perfil de dominio:
Estado                                ON
Política de entrada predeterminada    BlockInbound
Política de salida predeterminada     AllowOutbound

Configuración de perfil privado:
Estado                                ON

Configuración de perfil público:
Estado                                OFF   ← ¡Bandera roja!
⚠️ Bandera roja inmediata: Un firewall desactivado en el perfil "Domain" o "Public" expone el equipo directamente a la red sin ninguna barrera de filtrado de tráfico.

Get-MpComputerStatus (PowerShell)

Es la forma más rápida de verificar el estado completo de Windows Defender: si está actualizado, si el escaneo en tiempo real está activo y cuándo fue la última detección.

powershell
Get-MpComputerStatus | Select-Object `
  AMServiceEnabled, `
  RealTimeProtectionEnabled, `
  AntivirusSignatureLastUpdated, `
  LastFullScanTime
Campos clave de evaluación
AMServiceEnabled              : True
RealTimeProtectionEnabled     : False   ← ¡Protección en tiempo real DESACTIVADA!
AntivirusSignatureLastUpdated : 15/06/2023 08:12:00
LastFullScanTime              : 01/01/2023 00:00:00  ← Último escaneo: hace meses
CampoEstado seguroIndicador de riesgo
AMServiceEnabledTrueFalse → Defender completamente desactivado
RealTimeProtectionEnabledTrueFalse → No detecta amenazas en tiempo real
AntivirusSignatureLastUpdatedHoy o ayerMás de 7 días → Firmas desactualizadas
LastFullScanTimeMenos de 30 díasMeses sin escaneo completo

Referencia Rápida — Índice de Comandos

ComandoShellCategoríaUso principal
systeminfocmdSistemaVersión SO, arquitectura, hotfixes instalados
wmic logicaldisk get name,size,freespacecmdSistemaInventario de unidades y detección de USB no autorizados
ipconfig /allcmdRedIP, MAC, DNS — detectar DNS Hijacking
arp -acmdRedTabla ARP — detectar ARP Spoofing / MitM
netstat -anocmdServiciosPuertos activos con PID — detectar backdoors
tasklist /vcmdServiciosProcesos con usuario ejecutor — detectar malware camuflado
whoami /privcmdPrivilegiosTokens de privilegio — identificar vectores de escalada
Get-ExecutionPolicyPSPrivilegiosPolítica de ejecución de scripts PowerShell
netsh advfirewall show allprofilescmdDefensasEstado del firewall por perfil (Domain/Private/Public)
Get-MpComputerStatusPSDefensasEstado de Windows Defender y firma antivirus

Ejercicio Práctico Final

Flujo completo de auditoría que recorre todas las categorías: sistema, red, servicios, privilegios y defensas.

🏋️ Ejercicio — Auditoría Completa de un Sistema Windows
PASO 1 — Obtener información base del sistema
cmd
systeminfo | findstr /C:"Nombre de host" /C:"Versión del SO" /C:"Hotfix"
PASO 2 — Verificar unidades montadas
cmd
wmic logicaldisk get name, size, freespace
PASO 3 — Auditar configuración de red
cmd
ipconfig /all
arp -a
PASO 4 — Identificar puertos y procesos sospechosos
cmd
netstat -ano | findstr "LISTENING"
tasklist /v
PASO 5 — Revisar privilegios del usuario actual
cmd
whoami /priv
whoami /groups
PASO 6 — Verificar política de ejecución PowerShell
powershell
Get-ExecutionPolicy -List
PASO 7 — Comprobar estado del firewall
cmd
netsh advfirewall show allprofiles | findstr "Estado"
PASO 8 — Verificar Windows Defender
powershell
Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated

Conclusión y Buenas Prácticas

La seguridad no es un estado estático, sino un proceso continuo. El uso regular de estos comandos permite a los administradores mantener una postura de seguridad proactiva.

  1. Detectar anomalías antes de que se conviertan en brechas. La revisión periódica de puertos, procesos y privilegios permite identificar comportamientos anómalos en fases tempranas del ataque.
  2. Prepararse para auditorías externas manteniendo un inventario limpio de servicios, usuarios y configuraciones. Un sistema bien documentado es un sistema más defendible.
  3. Fortalecer (Hardening) el sistema cerrando vectores innecesarios: deshabilitar servicios no usados, revocar privilegios excesivos y mantener las defensas activas y actualizadas.
💡 Principio guía: Todo lo que no has auditado, un atacante ya lo ha enumerado. La ventaja del defensor es el conocimiento profundo de su propio sistema.