Enumeración de Windows
Tras conseguir ejecución en un host Windows (shell, sesión de usuario), el primer trabajo no es escalar: es entender dónde estás. Quién eres, qué privilegios tienes, qué corre en la máquina, a qué red llegas y si el host está unido a un dominio. Una enumeración ordenada evita disparos a ciegas y suele revelar el camino de escalada antes de tocar ningún exploit.
Modelo de amenaza
Sección titulada «Modelo de amenaza»El atacante parte de un acceso de bajo privilegio y quiere convertirlo en SYSTEM local o en un pivote hacia el dominio. Casi toda la información que necesita está disponible sin privilegios: el propio Windows es locuaz. El defensor, por su parte, ve esta fase como ruido de comandos de reconocimiento (whoami, net, systeminfo) que, correlados, delatan a un intruso en fase post-explotación.
Qué enumerar y por qué
Sección titulada «Qué enumerar y por qué»El objetivo es responder, en orden: ¿quién soy y qué puedo? → ¿qué hay de explotable local? → ¿estoy en dominio y qué alcanzo?
Red Team
Sección titulada «Red Team»Contexto del usuario y privilegios
Sección titulada «Contexto del usuario y privilegios»whoami /all # usuario, grupos, y PRIVILEGIOS (clave para privesc)whoami /priv # SeImpersonate, SeBackup, SeDebug... = vías directasecho %USERNAME% & echo %USERDOMAIN%net user %USERNAME% # grupos locales del usuarionet localgroup administratorswhoami /priv es la primera parada: SeImpersonatePrivilege → Potato; SeBackupPrivilege → leer SAM/NTDS; SeDebugPrivilege → volcar LSASS.
Sistema y parches
Sección titulada «Sistema y parches»systeminfo # versión, build, hotfixes (para exploits de kernel)wmic qfe get HotFixID # parches instalados[System.Environment]::OSVersion.Version # PowerShellCruza build + hotfixes con Watson/wesng para kernel exploits conocidos (PrintNightmare, etc.).
Software, servicios y procesos
Sección titulada «Software, servicios y procesos»wmic product get name,version # software instalado (lento)tasklist /v # procesos y usuario que los corresc query # servicioswmic service get name,pathname,startmode,startname # rutas y cuenta de servicionetstat -ano # puertos y PIDs (servicios internos)Busca servicios corriendo como SYSTEM con binarios/rutas débiles (ver Escalada de privilegios en Windows: unquoted paths, permisos).
Red y conectividad
Sección titulada «Red y conectividad»ipconfig /allroute printarp -a # hosts vistos en la LANnetstat -ano -p tcpnslookup -type=srv _ldap._tcp.dc._msdcs.<dominio> # localizar DCs¿Unido a dominio?
Sección titulada «¿Unido a dominio?»systeminfo | findstr /i domainnet config workstationnltest /dsgetdc:<dominio>echo %LOGONSERVER% # DC que autenticóSi hay dominio, la enumeración salta a AD (ver Enumeración de Active Directory).
Credenciales en el host (quick wins)
Sección titulada «Credenciales en el host (quick wins)»# ficheros de despliegue y configs con secretosfindstr /si password *.xml *.ini *.txt *.configdir /s /b *unattend* *sysprep* web.config# credenciales guardadascmdkey /listreg query HKLM /f password /t REG_SZ /s# autologon, VNC, PuTTY en registroreg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"Herramientas
Sección titulada «Herramientas»- winPEAS — el enumerador todo-en-uno de referencia (privesc + credenciales + configs).
- Seatbelt — recolección exhaustiva orientada a host (C#).
- PowerUp (
Invoke-AllChecks) — vectores de privesc en PowerShell. - JAWS, Watson/wesng — enum básica y mapeo de kernel exploits.
- Snaffler — barrido de shares en busca de secretos.
Impacto
Sección titulada «Impacto»La enumeración no explota, pero selecciona el exploit: de aquí sale el vector de privesc local y la decisión de pivotar al dominio. Omitirla lleva a quemar exploits ruidosos sin necesidad.
Blue Team
Sección titulada «Blue Team»Detección
Sección titulada «Detección»- Ráfagas de
whoami /all,net user/group,systeminfo,wmic,nltestdesde una cuenta de usuario normal → patrón de recon post-explotación. - Ejecución de winPEAS/Seatbelt (hashes y comportamiento conocidos; picos de lecturas de registro/FS).
- Lecturas masivas del registro buscando “password”.
Telemetría
Sección titulada «Telemetría»- Sysmon (event 1 process create, 10 process access, 11 file create) + línea de comandos.
- Auditoría de PowerShell: Script Block Logging (4104), Module Logging (4103), transcription.
- Logs de proceso 4688 con command line habilitado.
Hardening
Sección titulada «Hardening»- Reduce la locuacidad: quita herramientas innecesarias, limita
wmic/cscript, aplica AppLocker/WDAC. - Elimina credenciales en claro en configs, GPP, scripts de despliegue; usa gMSA/LAPS.
- Principio de mínimo privilegio: que
whoami /privde un usuario normal no tenga nada jugoso. - EDR que alerte sobre cadenas de recon y ejecución de enumeradores conocidos.
Respuesta
Sección titulada «Respuesta»Aísla el host, identifica la cuenta comprometida, rota sus credenciales y revisa qué se enumeró (shares, DCs, secretos encontrados) para anticipar el siguiente paso del atacante.
CVEs y casos reales
Sección titulada «CVEs y casos reales»- La enumeración en sí no es un CVE, pero habilita la elección de exploits de kernel como PrintNightmare (CVE-2021-34527), CVE-2021-1675, HiveNightmare/SeriousSAM (CVE-2021-36934).
- winPEAS/Seatbelt/PowerUp son estándar en informes de pentest y en TTPs de actores reales (MITRE ATT&CK T1082, T1087, T1057).
- Innumerables brechas empezaron por credenciales en claro en
unattend.xml/GPP (cpassword, MS14-025).
Checklist de prueba
Sección titulada «Checklist de prueba»-
whoami /allywhoami /priv— ¿privilegios peligrosos (SeImpersonate/Backup/Debug)? -
systeminfo+ hotfixes — ¿build sin parchear mapeable a kernel exploit? - Servicios/procesos como SYSTEM con rutas o permisos débiles
- ¿Credenciales en configs, registro,
cmdkey, autologon? - ¿Host unido a dominio? ¿DCs localizados?
- Puertos internos y servicios no expuestos (
netstat -ano) - Shares accesibles con secretos (Snaffler)
- ¿winPEAS marca algún vector obvio?