🛡️ Hardening Windows 11: 7 pasos para blindar tu PC sin instalar nada

hace 2 meses

Hardening Windows 11: 7 pasos para blindar tu PC sin instalar nada

Table of Contents

Endurecer Windows 11: hardening completo del sistema operativo con PowerShell y 7 tareas programadas

La configuración por defecto de Windows 11 está optimizada para usabilidad, no para seguridad: el firewall está activo pero permite tráfico saliente sin restricciones, la telemetría envía datos al máximo nivel, las reglas de reducción de superficie de ataque (ASR) de Microsoft Defender están desactivadas y PowerShell no registra los comandos que ejecuta.

Por eso es imprescindible endurecer Windows 11 antes de usarlo en cualquier entorno donde la seguridad importe.

En este compendio editorial de ciberseguridad documentamos cómo un único script de PowerShell sirve para endurecer Windows 11 aplicando 8 medidas de hardening del sistema operativo en segundos, alineadas con el CIS Benchmark nivel 1 y las recomendaciones de Microsoft Defender for Endpoint.

Todas las guías para endurecer Windows 11 y otras versiones del sistema están disponibles en nuestro atlas técnico de Windows seguro, con guías técnicas paso a paso para endurecer Windows en 2026.

Allí encontrarás el ecosistema completo de hardening que complementa a este script: hardening del SO, control de cuentas, defense in depth, mitigación de LOLBins y bloqueo de ataques fileless.

💡 Resumen rápido

🛡️ Endurecer Windows 11: hardening del SO con PowerShell paso a paso

Endurecer Windows 11 consiste en aplicar configuraciones que reducen drásticamente la superficie de ataque del sistema operativo: control estricto de UAC, SmartScreen en todos los niveles, firewall que bloquea por defecto, Defender con protección en tiempo real y reglas ASR, telemetría mínima, registro completo de PowerShell y bloqueo automático de pantalla. Endurecer Windows 11 con estas medidas alineadas con CIS Benchmark L1 no degrada la experiencia de uso normal del sistema.

  • 8 medidas automatizadas para endurecer Windows 11: UAC, SmartScreen, firewall, Defender, reglas ASR, telemetría, PowerShell logging y bloqueo de pantalla
  • Script PowerShell completo para endurecer Windows 11 alineado con CIS Benchmark L1 y guías de Microsoft Defender for Endpoint
  • 7 tareas programadas: inicio, logon, horaria, borrado del log de seguridad, parada del firewall, cambio de política de auditoría y revisión semanal
  • Detección reactiva de eventos críticos: 1102 (log borrado), 5025 (firewall detenido) y 4719 (política de auditoría modificada)
  • 8 reglas ASR de Microsoft Defender activas para bloquear macros Office, scripts ofuscados y ejecutables descargados de internet
  • Recomendaciones previas y casos en los que NO ejecutar el script para evitar problemas con software legítimo

📅 2026 · 🕐 12 minutos de lectura

💡 Definición rápida Endurecer Windows 11 (hardening): Proceso de modificar la configuración por defecto del sistema operativo para reducir la superficie de ataque mediante el control estricto de UAC, la activación de SmartScreen, el bloqueo del tráfico entrante por defecto en el firewall, la aplicación de las reglas de reducción de superficie de ataque (ASR) de Microsoft Defender, la limitación de la telemetría, el registro completo de PowerShell y el bloqueo automático de la sesión. Endurecer Windows 11 se aplica con comandos nativos del sistema sin instalar software adicional, siguiendo los controles de nivel 1 del CIS Benchmark para Windows 11.

Endurecer Windows 11 consiste en aplicar configuraciones que reducen la superficie de ataque del sistema operativo sin degradar la experiencia de uso.

En esta guía aprenderás a endurecer Windows 11 con 8 medidas de hardening del SO mediante un único script de PowerShell, sin necesidad de herramientas externas ni consola de directivas de grupo.

El script crea además siete tareas programadas que vigilan el estado de la configuración de forma continua tras endurecer Windows 11.

Esta guía para endurecer Windows 11 se complementa con el hardening de cuentas Windows, el endurecimiento de los servicios de compartición Windows y la guía de acceso remoto Windows seguro (todos enlazados en la sección de buenas prácticas más abajo).

Juntos forman una defensa en profundidad (defense in depth) sobre el endpoint Windows que cubre el sistema operativo, las cuentas, los servicios de red local y el acceso remoto.

🛡️ ¿Qué es la defensa en profundidad (defense in depth)? Es la estrategia de seguridad que aplica múltiples capas independientes de protección sobre un mismo activo, de manera que el fallo o evasión de una capa no comprometa el sistema completo. Endurecer Windows 11 cubre la capa de sistema operativo; el hardening de cuentas cubre la capa de identidad local; el firewall y los servicios de compartición cubren la capa de red; y la autenticación de dos factores en las cuentas online cubre la capa de identidad global. Un atacante debe vencer todas las capas para tener éxito, multiplicando el coste de la intrusión.
¿Qué significa endurecer Windows 11?

📌 ¿Qué significa endurecer Windows 11?

Endurecer Windows 11 es modificar la configuración por defecto del sistema operativo para hacerlo más resistente frente a ejecución de malware, manipulación del sistema, ataques sin archivo (fileless) y borrado de evidencias forenses.

Microsoft entrega Windows 11 con la mayoría de protecciones activas pero con valores conservadores en cuanto a usabilidad.

SmartScreen permite ejecutar archivos descargados, UAC no exige escritorio seguro en todas las elevaciones, la telemetría envía datos completos a Microsoft y PowerShell ejecuta comandos sin dejar rastro auditable.

Por eso conviene endurecer Windows 11 siguiendo el CIS Benchmark nivel 1, que corrige esos defectos sin sacrificar la usabilidad.

Cuando se aplica un proceso completo para endurecer Windows 11, los beneficios prácticos son inmediatos:

  • ✔ Reduce la ejecución de software malicioso bloqueando macros de Office, scripts ofuscados y ejecutables descargados de internet sin reputación
  • ✔ Bloquea el tráfico entrante no autorizado en los tres perfiles del firewall (dominio, privado y público)
  • ✔ Limita la telemetría enviada a Microsoft al mínimo necesario para recibir actualizaciones de seguridad
  • ✔ Registra todos los comandos de PowerShell ejecutados para análisis forense y detección de actividad sospechosa
  • ✔ Bloquea automáticamente la sesión tras un periodo de inactividad para evitar acceso físico no autorizado

💡 ¿Qué son las reglas ASR de Microsoft Defender?

Las Attack Surface Reduction Rules (ASR) son un conjunto de reglas de Microsoft Defender que bloquean comportamientos típicamente usados por malware: ejecución de macros de Office que llaman a Win32 API, scripts ofuscados de JavaScript o VBScript, ejecutables que se descargan desde correo electrónico, procesos hijos creados desde Office, robo de credenciales del subsistema LSASS y abuso del sistema WMI para persistencia.

Están desactivadas por defecto para no interferir con software legítimo, pero su activación tiene impacto cero en la mayoría de equipos domésticos y corporativos modernos. Cada regla se identifica por un GUID y puede aplicarse en modo bloqueo, modo auditoría o desactivada.

Activar las 8 reglas ASR críticas en modo bloqueo es una de las medidas con mayor impacto a la hora de endurecer Windows 11 frente a ransomware moderno.

🦠 LOLBins y ataques fileless: por qué importa el PowerShell logging al endurecer Windows 11

🦠 ¿Qué son los LOLBins (Living Off The Land Binaries)? Son ejecutables firmados y legítimos del propio Windows que los atacantes usan para ejecutar código malicioso sin descargar binarios externos. Ejemplos: powershell.exe, wmic.exe, certutil.exe, mshta.exe, rundll32.exe, regsvr32.exe o bitsadmin.exe. Como están firmados por Microsoft, evaden las defensas basadas en firmas. Su uso forma parte de los ataques fileless (sin archivo en disco), prácticamente invisibles sin PowerShell logging (ScriptBlockLogging + ModuleLogging) y sin AMSI (Antimalware Scan Interface), las dos capas que activa este script para endurecer Windows 11.
LOLBinUso legítimoAbuso ofensivo típicoMITRE
powershell.exeAutomatización administrativaEjecución de payloads en memoria, descarga de stagersT1059.001
wmic.exeConsultas WMI del sistemaMovimiento lateral, ejecución remotaT1047
certutil.exeGestión de certificadosDescarga de archivos desde URL, codificación Base64T1105 / T1140
mshta.exeEjecución de HTML applicationsEjecución de JavaScript/VBScript inlineT1218.005
rundll32.exeCarga de DLLs registradasEjecución de payloads en DLL maliciosasT1218.011
regsvr32.exeRegistro de COM objectsSquiblydoo: ejecución de scripts remotosT1218.010
bitsadmin.exeBackground Intelligent TransferDescarga/subida de archivos en backgroundT1197
msbuild.exeCompilación de proyectos .NETEjecución de XML con código C# en memoriaT1127.001

Riesgos de Windows 11 sin endurecer

🚨 Riesgos de Windows 11 sin endurecer

No endurecer Windows 11 equivale a dejar abiertas todas las puertas que el sistema trae cerradas solo a medias. Cada uno de los riesgos siguientes es un vector activo y documentado en campañas reales de malware durante 2025 y 2026, y los ocho se neutralizan al endurecer Windows 11 con el script de esta guía.

🚨 Dato crítico: Sin reglas ASR activas, una macro maliciosa de un documento Office puede ejecutar código arbitrario en segundos: es uno de los vectores de entrada más usados en ransomware corporativo. Sin SmartScreen en modo bloqueo, un ejecutable descargado de internet sin reputación se ejecuta sin advertencia. Sin PowerShell logging, un atacante puede ejecutar comandos en memoria mediante living off the land binaries (LOLBins) sin dejar rastro alguno en el registro de eventos. Endurecer Windows 11 cierra estas vías, todas documentadas en la matriz MITRE ATT&CK.
Riesgo sin endurecer Windows 11Descripción técnicaConsecuenciaTécnica MITRENivel
UAC en modo permisivoUAC sin escritorio seguro permite suplantación de la ventana de elevaciónBypass de UAC mediante DLL hijacking o token impersonationT1548.002🔴 Crítico
Reglas ASR desactivadasMacros Office, scripts ofuscados y ejecutables sin reputación se ejecutan sin filtroVector de entrada principal de ransomware corporativo y malware bancarioT1204 / T1059🔴 Crítico
SmartScreen permisivoEjecutables descargados sin reputación se permiten con un simple avisoDrive-by download y suplantación de instaladores legítimosT1189🔴 Alto
Firewall sin bloqueo entrante por defectoReglas del firewall configuradas en modo permisivo en perfil públicoExposición de servicios SMB, RDP y RPC en redes WiFi públicasT1133🔴 Alto
PowerShell sin loggingLos comandos de PowerShell se ejecutan sin registrarse en el log de eventosAtaques sin archivo (fileless) y abuso de LOLBins indetectablesT1059.001 / T1562🔴 Alto
Telemetría completaDiagnostic Data en nivel "Optional" envía contenido de aplicaciones a MicrosoftExposición innecesaria de información del sistema y aplicacionesT1592🟠 Medio
Sin bloqueo automático de pantallaLa sesión sigue activa indefinidamente sin actividad del usuarioAcceso físico no autorizado en oficinas y espacios compartidosT1078 / T1539🟠 Medio
Borrado del log de seguridadAtacante con privilegios elevados borra el log para eliminar evidenciasImposibilidad de análisis forense; intrusión sin rastroT1070.001🔴 Crítico

Las 8 medidas para endurecer Windows 11

⚙️ Las 8 medidas para endurecer Windows 11

Estas son las ocho medidas concretas que el script aplica para endurecer Windows 11 en pocos segundos. Cada una corresponde a un control de nivel 1 del CIS Benchmark y cubre uno de los vectores que el apartado anterior identifica como crítico para endurecer Windows 11 de forma efectiva.

💡 Resumen de las 8 medidas del script para endurecer Windows 11: Este script implementa ocho medidas de hardening del sistema operativo alineadas con el CIS Benchmark para Windows 11 y las recomendaciones de Microsoft Defender for Endpoint: control estricto de UAC, SmartScreen en bloqueo, firewall con tráfico entrante denegado por defecto, Microsoft Defender con protección en tiempo real, ocho reglas ASR críticas, telemetría limitada, registro completo de PowerShell y bloqueo automático de pantalla. Las ocho medidas trabajan juntas para endurecer Windows 11 sin necesidad de software de terceros.
  1. 🔐 UAC en modo estricto, notificación siempre activa con escritorio seguro y firma para cada elevación de privilegios
  2. 🛡️ SmartScreen en modo bloqueo, filtra ejecutables descargados sin reputación en Edge, Windows y Microsoft Store
  3. 🔥 Firewall activo en los tres perfiles con bloqueo entrante por defecto, dominio, privado y público con política deny inbound
  4. 🦠 Microsoft Defender con protección en tiempo real y nube, RTP activo, MAPS reporting nivel avanzado y envío de muestras automático
  5. 🚫 8 reglas ASR críticas en modo bloqueo, macros Office con Win32 API, scripts ofuscados, ejecutables de correo, procesos hijos de Office, persistencia WMI y robo de LSASS
  6. 📡 Telemetría al mínimo, Diagnostic Data en nivel Security/Required que solo envía datos imprescindibles para parches
  7. 📝 PowerShell logging completo, ScriptBlockLogging y ModuleLogging activos para registrar todos los comandos ejecutados
  8. 🔒 Bloqueo automático de pantalla a los 5 minutos, protector de pantalla obligatorio con contraseña al reanudar la sesión

📊 Niveles de UAC y su efecto al endurecer Windows 11

Valor ConsentPromptBehaviorAdminComportamientoEscritorio seguroResistencia bypass
0Elevar sin pedir nada❌ No🔴 Nula
1Pedir credenciales en escritorio seguro✅ Sí🟢 Muy alta
2 (script)Consentimiento en escritorio seguro✅ Sí🟢 Alta (recomendado)
3Pedir credenciales sin escritorio seguro❌ No🟠 Media
4Consentimiento sin escritorio seguro❌ No🟠 Media
5 (por defecto Windows)Consentimiento solo en binarios no firmados por Windows⚠️ Parcial🔴 Baja (vulnerable a fodhelper, eventvwr...)

🛠️ Script completo: endurecer Windows 11 con 7 tareas programadas

A continuación encontrarás un script PowerShell completo y unificado que aplica las 8 medidas anteriores en una sola ejecución para endurecer Windows 11 de forma automática y, además, crea siete tareas programadas que reaplican y vigilan el hardening del sistema de forma continua.

Si una actualización de Windows revierte alguna configuración, un instalador desactiva el firewall o un atacante intenta borrar el log de seguridad, el script detecta la desviación y la restaura automáticamente en el siguiente disparador, sin intervención del usuario y dejando rastro en el CSV histórico.

Esta es la diferencia entre endurecer Windows 11 una sola vez (configuración volátil) y mantenerlo endurecido en el tiempo (configuración resiliente).

⚠️ Antes de ejecutar: Este script para endurecer Windows 11 modifica la configuración del sistema operativo (UAC, SmartScreen, firewall, Defender, ASR, telemetría, PowerShell logging y bloqueo de pantalla) y crea siete tareas programadas que se ejecutan como SYSTEM. Es completamente reversible mediante el script de reversión incluido. El script genera log en C:\Logs\endurecer-windows.log y CSV histórico en C:\Logs\endurecer-windows-historico.csv. Lee siempre el código antes de pegarlo en PowerShell y revisa la sección de "Casos en los que NO ejecutar" más abajo.

📋 Checklist previo a la ejecución del script para endurecer Windows 11

Antes de pegar el script, verifica estos 10 puntos:

  • Versión del sistema operativo: Windows 10 1709+ o Windows 11 cualquier edición Pro o superior
  • Punto de restauración creado (Win+R → rstrui.exe → Crear)
  • Privilegios de administrador en la sesión actual del usuario
  • Sin GPO corporativas activas que conflictúen con CIS L1 (equipos no gestionados por IT)
  • Macros de Office identificadas que dependan de Win32 API o procesos hijos
  • Software de virtualización ajeno a Hyper-V (VMware, VirtualBox) revisado para compatibilidad UAC
  • Apps autoalojadas (Plex, Home Assistant, Samba) con sus puertos documentados
  • Microsoft Defender activo y actualizado a las firmas más recientes
  • Windows Update al día (KBs de seguridad del último mes instalados)
  • Backup reciente de datos importantes en almacenamiento externo o nube

📅 Las 7 tareas programadas que crea el script para endurecer Windows 11

Nombre de la tareaDisparadorFrecuenciaPropósito
Endurecer-Windows-InicioAl iniciar Windows (-AtStartup)Cada arranque del equipoReaplica UAC, SmartScreen, firewall, ASR y telemetría tras cada reinicio: Windows Update suele revertir reglas ASR y configuración de Defender
Endurecer-Windows-LogonAl iniciar sesión (-AtLogOn)Cada login (incluye reinicios)Verifica el estado del hardening cuando un usuario inicia sesión y detecta software corporativo que haya modificado la configuración tras la sesión anterior
Endurecer-Windows-HorariaCada hora (-RepetitionInterval 1h)24 veces al díaVigilancia continua: si un instalador desactiva el firewall, una utilidad de "limpieza" desactiva PowerShell logging o algo modifica las reglas ASR, lo revierte en menos de una hora
Endurecer-Windows-LogBorradoEvento 1102 (Security log cleared)Cada borrado del log de seguridadDetección crítica: el borrado del log de seguridad es uno de los indicadores más fiables de compromiso por un atacante con privilegios. Esta tarea reaplica el hardening y registra el evento al instante, antes de que cualquier otra acción sospechosa pueda ocurrir
Endurecer-Windows-FirewallEvento 5025 (Windows Firewall service stopped)Cada parada del servicio de firewallDetección crítica: la parada del servicio del firewall casi siempre es una acción ofensiva (malware o usuario malicioso). Esta tarea reactiva el firewall en los tres perfiles y deja constancia inmediata en el CSV
Endurecer-Windows-PoliticaAuditoriaEvento 4719 (System audit policy changed)Cada modificación de la política de auditoríaDetección crítica: cualquier cambio en la política de auditoría (T1562 Defense Evasion) es señal de un atacante intentando ocultar actividad. Reaplica la auditoría completa al instante
Endurecer-Windows-AuditoriaSemanal (-Weekly domingo 3 AM)Una vez por semanaSnapshot completo del estado de UAC, SmartScreen, firewall, Defender, ASR, telemetría, PowerShell logging y bloqueo de pantalla. Queda registrado en el CSV histórico
Por qué añadimos los eventos 1102, 5025 y 4719 al endurecer Windows 11: En el hardening del sistema operativo, los tres indicadores más fiables de compromiso son distintos a los de cuentas o red. El 1102 se registra cuando alguien borra manualmente el log de seguridad, una acción casi siempre ofensiva. El 5025 se dispara cuando se detiene el servicio de firewall, lo cual no ocurre en operación normal de Windows 11. El 4719 se genera cuando se modifica la política de auditoría, técnica MITRE T1562 usada para evadir defensas. Estas tres tareas se disparan en el mismo instante en que ocurren esas acciones y reaplican el hardening antes de que el atacante pueda continuar.
Cómo funcionan las tareas programadas: Las siete tareas se ejecutan como SYSTEM con privilegios elevados y en modo oculto (sin ventana visible). El script es idempotente: comprueba el estado de cada configuración antes de modificarla y solo actúa si detecta desviación, por lo que las ejecuciones repetidas terminan en pocos segundos con cero cambios. La carga sobre el equipo es mínima. El CSV histórico registra cada ejecución con disparador, cambios aplicados y el estado completo de las 8 medidas.

🔔 Eventos adicionales que conviene monitorizar tras endurecer Windows 11

  • 📊 Evento 4625 – Inicio de sesión fallido (intentos de fuerza bruta locales)
  • 📊 Evento 4672 – Privilegios especiales asignados al inicio de sesión (logon de administrador)
  • 📊 Evento 4688 – Creación de un nuevo proceso con línea de comandos (requiere auditoría avanzada)
  • 📊 Evento 4697 – Servicio nuevo instalado en el sistema (persistencia T1543.003)
  • 📊 Evento 4720 – Cuenta de usuario creada (creación de cuentas backdoor)
  • 📊 Evento 4732 / 4756 – Miembro añadido a grupo local con privilegios (Administradores)
  • 📊 Evento 7045 – Servicio instalado en el sistema (Service Control Manager)
  • 📊 Evento 4104 – Bloque de script PowerShell ejecutado (requiere ScriptBlockLogging activo)
  • 📊 Evento 5140 / 5145 – Acceso a recurso compartido de red
  • 📊 Evento 1116 / 1117 – Microsoft Defender detectó/eliminó amenaza

📥 Pasos para instalar y ejecutar el script para endurecer Windows 11

  1. Crea un punto de restauración del sistema antes de empezar (Win+R → rstrui.exe → Crear).
  2. Abre PowerShell como administrador: pulsa Windows, escribe PowerShell, clic derecho sobre Windows PowerShellEjecutar como administrador.
  3. Permite la ejecución de scripts en esta sesión:
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  4. Crea la carpeta de scripts del sistema:
    New-Item -ItemType Directory -Path "C:\Scripts" -Force
  5. Crea el archivo del script: pega el código en el Bloc de notas y guárdalo como Endurecer-Windows.ps1 en C:\Scripts\ (Tipo: Todos los archivos, no .txt).
  6. Ejecuta el script por primera vez:
    C:\Scripts\Endurecer-Windows.ps1
  7. Verifica las siete tareas programadas:
    Get-ScheduledTask -TaskName "Endurecer-Windows-*"
  8. Revisa el log y el CSV histórico: C:\Logs\endurecer-windows.log y C:\Logs\endurecer-windows-historico.csv.
  9. Reinicia el equipo para que los cambios de UAC y la tarea de inicio se apliquen completamente.

💻 Script Endurecer-Windows.ps1 (copia y pega)

# ============================================================
# Script: Endurecer Windows 11 + 7 tareas programadas
# Autor:  seguridadenmipc.com
# Compat: Windows 10 / 11
# Alineado con: CIS Benchmark L1 + Microsoft Defender for Endpoint
# Uso:    Ejecutar como administrador (1a vez)
#         Despues se reaplica solo: inicio, logon, hora,
#         log borrado, firewall detenido, politica auditoria, semanal
# Ruta:   C:\Scripts\Endurecer-Windows.ps1
# Idempotente: solo actua si detecta desviacion
# ============================================================

# 1. Verificar privilegios de administrador
if (-not ([Security.Principal.WindowsPrincipal] `
    [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
    [Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Host "[X] Ejecuta este script como Administrador." -ForegroundColor Red
    exit
}

# 2. Preparar log y CSV historico
$logDir = "C:\Logs"
if (-not (Test-Path $logDir)) { New-Item -ItemType Directory -Path $logDir | Out-Null }
$log = "$logDir\endurecer-windows.log"
$csv = "$logDir\endurecer-windows-historico.csv"
Start-Transcript -Path $log -Append | Out-Null

$disparador = if ($args[0]) { $args[0] } else { "Manual" }
Write-Host "=== Endurecer Windows 11 ===" -ForegroundColor Cyan
Write-Host "Fecha: $(Get-Date)  |  Disparador: $disparador" -ForegroundColor Gray

$cambios = 0

# 3. Punto de restauracion (solo en ejecucion Manual)
if ($disparador -eq "Manual") {
    try {
        Enable-ComputerRestore -Drive "C:\" -ErrorAction SilentlyContinue
        Checkpoint-Computer -Description "Pre Endurecer-Windows" `
            -RestorePointType "MODIFY_SETTINGS" -ErrorAction SilentlyContinue
        Write-Host "[OK] Punto de restauracion creado." -ForegroundColor Green
    } catch { Write-Host "[!] No se pudo crear punto de restauracion." -ForegroundColor Yellow }
}

# 4. UAC EN MODO ESTRICTO (T1548.002)
try {
    $uacKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
    Set-ItemProperty -Path $uacKey -Name "EnableLUA" -Value 1 -Type DWord -Force
    Set-ItemProperty -Path $uacKey -Name "ConsentPromptBehaviorAdmin" -Value 2 -Type DWord -Force
    Set-ItemProperty -Path $uacKey -Name "PromptOnSecureDesktop" -Value 1 -Type DWord -Force
    Set-ItemProperty -Path $uacKey -Name "EnableInstallerDetection" -Value 1 -Type DWord -Force
    Write-Host "[OK] UAC en modo estricto." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error UAC: $_" -ForegroundColor Red }

# 5. SMARTSCREEN EN MODO BLOQUEO (T1189)
try {
    $ssKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System"
    if (-not (Test-Path $ssKey)) { New-Item -Path $ssKey -Force | Out-Null }
    Set-ItemProperty -Path $ssKey -Name "EnableSmartScreen" -Value 1 -Type DWord -Force
    Set-ItemProperty -Path $ssKey -Name "ShellSmartScreenLevel" -Value "Block" -Type String -Force

    $edgeKey = "HKLM:\SOFTWARE\Policies\Microsoft\Edge"
    if (-not (Test-Path $edgeKey)) { New-Item -Path $edgeKey -Force | Out-Null }
    Set-ItemProperty -Path $edgeKey -Name "SmartScreenEnabled" -Value 1 -Type DWord -Force
    Set-ItemProperty -Path $edgeKey -Name "SmartScreenPuaEnabled" -Value 1 -Type DWord -Force
    Write-Host "[OK] SmartScreen en modo bloqueo." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error SmartScreen: $_" -ForegroundColor Red }

# 6. FIREWALL: 3 PERFILES ACTIVOS, ENTRADA BLOQUEADA POR DEFECTO (T1133)
try {
    Set-NetFirewallProfile -Profile Domain,Private,Public `
        -Enabled True `
        -DefaultInboundAction Block `
        -DefaultOutboundAction Allow `
        -NotifyOnListen True `
        -AllowInboundRules True `
        -AllowLocalFirewallRules True
    Write-Host "[OK] Firewall: 3 perfiles activos, entrada bloqueada." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error Firewall: $_" -ForegroundColor Red }

# 7. MICROSOFT DEFENDER: RTP + CLOUD + ENVIO DE MUESTRAS
try {
    Set-MpPreference -DisableRealtimeMonitoring $false `
                     -DisableBehaviorMonitoring $false `
                     -DisableIOAVProtection $false `
                     -DisableScriptScanning $false `
                     -MAPSReporting Advanced `
                     -SubmitSamplesConsent SendSafeSamples `
                     -CloudBlockLevel High `
                     -CloudExtendedTimeout 50 `
                     -PUAProtection Enabled
    Write-Host "[OK] Microsoft Defender RTP + Cloud activo." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error Defender: $_" -ForegroundColor Red }

# 8. REGLAS ASR EN MODO BLOQUEO (T1204 / T1059)
# 8 reglas criticas de Attack Surface Reduction
$asrIds = @(
    "D4F940AB-401B-4EFC-AADC-AD5F3C50688A", # Office macros: bloquear procesos hijos
    "5BEB7EFE-FD9A-4556-801D-275E5FFC04CC", # Bloquear ejecucion de scripts ofuscados
    "3B576869-A4EC-4529-8536-B80A7769E899", # Office: bloquear creacion de contenido ejecutable
    "75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84", # Bloquear ejecutables descargados de correo
    "BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550", # Bloquear ejecutables sin reputacion (USB)
    "9E6C4E1F-7D60-472F-BA1A-A39EF669E4B2", # Bloquear robo de credenciales LSASS
    "E6DB77E5-3DF2-4CF1-B95A-636979351E5B", # Bloquear persistencia via WMI
    "D3E037E1-3EB8-44C8-A917-57927947596D"  # Bloquear JavaScript/VBScript que descarga ejecutables
)
$asrActions = @("Enabled","Enabled","Enabled","Enabled","Enabled","Enabled","Enabled","Enabled")
try {
    Add-MpPreference -AttackSurfaceReductionRules_Ids $asrIds `
                     -AttackSurfaceReductionRules_Actions $asrActions
    Write-Host "[OK] 8 reglas ASR activas en modo bloqueo." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error ASR: $_" -ForegroundColor Red }

# 9. TELEMETRIA AL MINIMO (Diagnostic Data: Security/Required)
try {
    $tKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection"
    if (-not (Test-Path $tKey)) { New-Item -Path $tKey -Force | Out-Null }
    Set-ItemProperty -Path $tKey -Name "AllowTelemetry" -Value 1 -Type DWord -Force
    Set-ItemProperty -Path $tKey -Name "MaxTelemetryAllowed" -Value 1 -Type DWord -Force
    Set-ItemProperty -Path $tKey -Name "DoNotShowFeedbackNotifications" -Value 1 -Type DWord -Force
    Write-Host "[OK] Telemetria al minimo (Required)." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error Telemetria: $_" -ForegroundColor Red }

# 10. POWERSHELL LOGGING (ScriptBlock + Module) - T1059.001
try {
    $sbKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging"
    if (-not (Test-Path $sbKey)) { New-Item -Path $sbKey -Force | Out-Null }
    Set-ItemProperty -Path $sbKey -Name "EnableScriptBlockLogging" -Value 1 -Type DWord -Force
    Set-ItemProperty -Path $sbKey -Name "EnableScriptBlockInvocationLogging" -Value 1 -Type DWord -Force

    $mlKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging"
    if (-not (Test-Path $mlKey)) { New-Item -Path $mlKey -Force | Out-Null }
    Set-ItemProperty -Path $mlKey -Name "EnableModuleLogging" -Value 1 -Type DWord -Force

    $mnKey = "$mlKey\ModuleNames"
    if (-not (Test-Path $mnKey)) { New-Item -Path $mnKey -Force | Out-Null }
    Set-ItemProperty -Path $mnKey -Name "*" -Value "*" -Type String -Force
    Write-Host "[OK] PowerShell logging activo (ScriptBlock + Module)." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error PowerShell logging: $_" -ForegroundColor Red }

# 11. BLOQUEO DE PANTALLA AUTOMATICO A 5 MINUTOS
try {
    $dKey = "HKCU:\Control Panel\Desktop"
    Set-ItemProperty -Path $dKey -Name "ScreenSaveActive"   -Value "1"   -Type String -Force
    Set-ItemProperty -Path $dKey -Name "ScreenSaverIsSecure"-Value "1"   -Type String -Force
    Set-ItemProperty -Path $dKey -Name "ScreenSaveTimeOut"  -Value "300" -Type String -Force
    Set-ItemProperty -Path $dKey -Name "SCRNSAVE.EXE"       -Value "scrnsave.scr" -Type String -Force
    Write-Host "[OK] Bloqueo de pantalla a 5 min activo." -ForegroundColor Green
    $cambios++
} catch { Write-Host "[X] Error bloqueo pantalla: $_" -ForegroundColor Red }

# 12. ACTIVAR POLITICA DE AUDITORIA COMPLETA
try {
    auditpol /set /category:* /success:enable /failure:enable | Out-Null
    Write-Host "[OK] Politica de auditoria activada." -ForegroundColor Green
} catch {}

# 13. Resumen al CSV historico
$resumen = [PSCustomObject]@{
    Fecha        = (Get-Date -Format "yyyy-MM-dd HH:mm:ss")
    Disparador   = $disparador
    CambiosAplic = $cambios
    UAC          = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" `
                   -Name ConsentPromptBehaviorAdmin -ErrorAction SilentlyContinue).ConsentPromptBehaviorAdmin
    FwActivo     = (Get-NetFirewallProfile -Profile Public).Enabled
    DefenderRTP  = -not (Get-MpPreference).DisableRealtimeMonitoring
    ASRActivas   = ((Get-MpPreference).AttackSurfaceReductionRules_Actions | Where-Object {$_ -eq 1}).Count
    PSLogging    = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" `
                   -Name EnableScriptBlockLogging -ErrorAction SilentlyContinue).EnableScriptBlockLogging
}
$resumen | Export-Csv -Path $csv -Append -NoTypeInformation -Encoding UTF8
Write-Host "[OK] Resumen anadido al CSV." -ForegroundColor Green

# 14. CREAR LAS 7 TAREAS PROGRAMADAS
$scriptPath = "C:\Scripts\Endurecer-Windows.ps1"

function Crear-Tarea-Basica {
    param([string]$Nombre, [string]$Disparador, $Trigger, [string]$Descripcion)
    try {
        if (-not (Get-ScheduledTask -TaskName $Nombre -ErrorAction SilentlyContinue)) {
            $action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
                -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`" $Disparador"
            $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" `
                -LogonType ServiceAccount -RunLevel Highest
            $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
                -DontStopIfGoingOnBatteries -StartWhenAvailable `
                -ExecutionTimeLimit (New-TimeSpan -Minutes 5)
            Register-ScheduledTask -TaskName $Nombre -Action $action -Trigger $Trigger `
                -Principal $principal -Settings $settings -Description $Descripcion | Out-Null
            Write-Host "[OK] Tarea '$Nombre' creada." -ForegroundColor Green
        } else { Write-Host "[i] Tarea '$Nombre' ya existe." -ForegroundColor Cyan }
    } catch { Write-Host "[X] Error en $Nombre : $_" -ForegroundColor Red }
}

function Crear-Tarea-Evento {
    param([string]$Nombre, [string]$Disparador, [string]$Subscripcion, [string]$Descripcion)
    try {
        if (-not (Get-ScheduledTask -TaskName $Nombre -ErrorAction SilentlyContinue)) {
            $cim = New-CimInstance -CimClass (Get-CimClass `
                -ClassName MSFT_TaskEventTrigger `
                -Namespace Root/Microsoft/Windows/TaskScheduler) -ClientOnly
            $cim.Enabled = $true
            $cim.Subscription = $Subscripcion
            $action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
                -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`" $Disparador"
            $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" `
                -LogonType ServiceAccount -RunLevel Highest
            $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
                -DontStopIfGoingOnBatteries -StartWhenAvailable `
                -ExecutionTimeLimit (New-TimeSpan -Minutes 5)
            Register-ScheduledTask -TaskName $Nombre -Action $action -Trigger $cim `
                -Principal $principal -Settings $settings -Description $Descripcion | Out-Null
            Write-Host "[OK] Tarea '$Nombre' creada." -ForegroundColor Green
        } else { Write-Host "[i] Tarea '$Nombre' ya existe." -ForegroundColor Cyan }
    } catch { Write-Host "[X] Error en $Nombre : $_" -ForegroundColor Red }
}

# 14a. Al iniciar Windows
Crear-Tarea-Basica -Nombre "Endurecer-Windows-Inicio" -Disparador "Inicio" `
    -Trigger (New-ScheduledTaskTrigger -AtStartup) `
    -Descripcion "Endurecer Windows al arranque - seguridadenmipc.com"

# 14b. Al iniciar sesion
Crear-Tarea-Basica -Nombre "Endurecer-Windows-Logon" -Disparador "Logon" `
    -Trigger (New-ScheduledTaskTrigger -AtLogOn) `
    -Descripcion "Endurecer Windows al iniciar sesion - seguridadenmipc.com"

# 14c. Cada hora
Crear-Tarea-Basica -Nombre "Endurecer-Windows-Horaria" -Disparador "Horaria" `
    -Trigger (New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(10) `
              -RepetitionInterval (New-TimeSpan -Hours 1)) `
    -Descripcion "Endurecer Windows cada hora - seguridadenmipc.com"

# 14d. Borrado del log de seguridad (evento 1102) - CRITICO
Crear-Tarea-Evento -Nombre "Endurecer-Windows-LogBorrado" -Disparador "LogBorrado" `
    -Subscripcion '<QueryList><Query Id="0" Path="Security"><Select Path="Security">*[System[Provider[@Name=''Microsoft-Windows-Eventlog''] and EventID=1102]]</Select></Query></QueryList>' `
    -Descripcion "Alerta: log de seguridad borrado - seguridadenmipc.com"

# 14e. Servicio de firewall detenido (evento 5025) - CRITICO
Crear-Tarea-Evento -Nombre "Endurecer-Windows-Firewall" -Disparador "FirewallParado" `
    -Subscripcion '<QueryList><Query Id="0" Path="Security"><Select Path="Security">*[System[Provider[@Name=''Microsoft-Windows-Security-Auditing''] and EventID=5025]]</Select></Query></QueryList>' `
    -Descripcion "Alerta: servicio de firewall detenido - seguridadenmipc.com"

# 14f. Politica de auditoria modificada (evento 4719) - CRITICO
Crear-Tarea-Evento -Nombre "Endurecer-Windows-PoliticaAuditoria" -Disparador "AuditoriaCambio" `
    -Subscripcion '<QueryList><Query Id="0" Path="Security"><Select Path="Security">*[System[Provider[@Name=''Microsoft-Windows-Security-Auditing''] and EventID=4719]]</Select></Query></QueryList>' `
    -Descripcion "Alerta: politica de auditoria modificada - seguridadenmipc.com"

# 14g. Auditoria semanal
Crear-Tarea-Basica -Nombre "Endurecer-Windows-Auditoria" -Disparador "Auditoria" `
    -Trigger (New-ScheduledTaskTrigger -Weekly -DaysOfWeek Sunday -At 3am) `
    -Descripcion "Auditoria semanal de hardening - seguridadenmipc.com"

Write-Host "`n[OK] Hardening aplicado. Disparador: $disparador" -ForegroundColor Green
Write-Host "     Log: $log" -ForegroundColor Gray
Write-Host "     CSV: $csv" -ForegroundColor Gray
Stop-Transcript | Out-Null

↩️ Script de reversión (elimina las 7 tareas y restaura la configuración)

Si necesitas restaurar la configuración por defecto y eliminar las tareas programadas (por ejemplo, para diagnosticar un problema o aplicar una política corporativa distinta), ejecuta este script para revertir el proceso de endurecer Windows 11. Elimina primero las siete tareas programadas, porque si no, el script para endurecer Windows 11 volverá a aplicarse en el siguiente disparador.

# ============================================================
# Revertir Endurecer Windows 11
# ============================================================

# 1. ELIMINAR PRIMERO las 7 tareas programadas
$tareas = @(
    "Endurecer-Windows-Inicio",
    "Endurecer-Windows-Logon",
    "Endurecer-Windows-Horaria",
    "Endurecer-Windows-LogBorrado",
    "Endurecer-Windows-Firewall",
    "Endurecer-Windows-PoliticaAuditoria",
    "Endurecer-Windows-Auditoria"
)
foreach ($t in $tareas) {
    if (Get-ScheduledTask -TaskName $t -ErrorAction SilentlyContinue) {
        Unregister-ScheduledTask -TaskName $t -Confirm:$false
        Write-Host "[OK] Tarea $t eliminada." -ForegroundColor Green
    }
}

# 2. UAC a valores por defecto
$uacKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
Set-ItemProperty -Path $uacKey -Name "ConsentPromptBehaviorAdmin" -Value 5 -Type DWord -Force

# 3. Reglas ASR a Disabled
$asrIds = @(
    "D4F940AB-401B-4EFC-AADC-AD5F3C50688A",
    "5BEB7EFE-FD9A-4556-801D-275E5FFC04CC",
    "3B576869-A4EC-4529-8536-B80A7769E899",
    "75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84",
    "BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550",
    "9E6C4E1F-7D60-472F-BA1A-A39EF669E4B2",
    "E6DB77E5-3DF2-4CF1-B95A-636979351E5B",
    "D3E037E1-3EB8-44C8-A917-57927947596D"
)
$asrOff = @("Disabled","Disabled","Disabled","Disabled","Disabled","Disabled","Disabled","Disabled")
Set-MpPreference -AttackSurfaceReductionRules_Ids $asrIds `
                 -AttackSurfaceReductionRules_Actions $asrOff

# 4. Telemetria al valor por defecto
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" `
    -Name "AllowTelemetry" -Value 3 -Type DWord -Force -ErrorAction SilentlyContinue

# 5. PowerShell logging desactivado
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" `
    -Name "EnableScriptBlockLogging" -Value 0 -Type DWord -Force -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging" `
    -Name "EnableModuleLogging" -Value 0 -Type DWord -Force -ErrorAction SilentlyContinue

# 6. Bloqueo de pantalla desactivado
$dKey = "HKCU:\Control Panel\Desktop"
Set-ItemProperty -Path $dKey -Name "ScreenSaveActive"    -Value "0" -Type String -Force
Set-ItemProperty -Path $dKey -Name "ScreenSaverIsSecure" -Value "0" -Type String -Force

# NOTA: Defender, SmartScreen y firewall se mantienen ACTIVOS por seguridad
#       (revertirlos dejaria el sistema desprotegido).

Write-Host ""
Write-Host "[OK] Hardening revertido. Reinicia el equipo." -ForegroundColor Green

⚠️ Riesgos y efectos reales del script para endurecer Windows 11

Antes de ejecutar este script para endurecer Windows 11 conviene entender exactamente qué cambios aplica y qué funciones del sistema operativo pueden verse afectadas.

La medida con mayor probabilidad de generar fricción al endurecer Windows 11 es la activación de las reglas ASR en modo bloqueo: pueden interferir con macros legítimas de Excel y con instaladores antiguos que generan procesos hijos desde Word o Outlook.

Todas son situaciones recuperables, pero merece la pena conocerlas antes.

Función del sistema¿Se ve afectada?Detalle técnico
Inicio y reinicio de Windows🟢 NoEl arranque del sistema no se ve afectado; las tareas se ejecutan tras el inicio
UEFI / arranque seguro🟢 NoNo afecta BCD, Secure Boot ni particiones EFI
Banca, Gmail y plataformas web🟢 NoEndurecer Windows 11 no afecta a la conectividad ni a las cuentas online
Software de uso habitual (navegadores, ofimática)🟢 NoEdge, Chrome, Firefox, Office y aplicaciones modernas funcionan con normalidad
Macros de Office🟡 Sí (a propósito)Las macros que llaman a Win32 API o crean procesos hijos quedan bloqueadas; las macros legítimas internas siguen funcionando
Instaladores que crean procesos desde Office🟡 SíAlgunos instaladores antiguos disparan ASR; ejecútalos desde el ejecutable directo, no desde un correo abierto
Scripts antiguos sin firmar🟡 Sí (registro)PowerShell sigue ejecutándolos pero ahora todos quedan registrados en el log
Tráfico entrante en redes WiFi públicas🔴 Sí (a propósito)El firewall bloquea cualquier conexión entrante no solicitada en perfil público
UAC en aplicaciones legítimas🔴 Más estrictoCada elevación exige confirmación con escritorio seguro: ralentiza un poco las tareas administrativas
Telemetría a Microsoft🔴 Reducida (a propósito)Solo se envían datos imprescindibles para parches de seguridad
Sesión inactiva🔴 Bloqueo a 5 minTras 5 minutos sin actividad la sesión se bloquea y exige contraseña
Carga de CPU (7 tareas)🟡 MínimaCada ejecución < 5 segundos; total < 2 min/día de CPU
🚨 Casos en los que NO debes ejecutar el script para endurecer Windows 11 sin precauciones:
  • Si tu equipo es gestionado por el departamento de IT de una empresa (puede entrar en conflicto con GPO corporativas y las políticas de Intune o ConfigMgr)
  • Si dependes de macros de Excel/Word que llaman a librerías externas, COM o ejecutan procesos hijos (ERP antiguos, plantillas heredadas)
  • Si usas software de virtualización o desarrollo que requiere UAC reducido (algunos IDEs y herramientas de testing antiguas)
  • Si usas servicios entrantes en red local sin reglas explícitas (servidores caseros tipo Plex, Home Assistant o Samba sin abrir puertos)
  • Si tienes scripts PowerShell muy ruidosos en logs (el ScriptBlockLogging genera muchos eventos en consolas con uso intensivo)
  • Si compartes el equipo con personas no técnicas que pueden verse desconcertadas por las preguntas adicionales de UAC
En estos casos, valora ejecutar primero el script en una máquina virtual correctamente aislada del sistema anfitrión endurecido, identificar qué reglas ASR generan falsos positivos en tu flujo de trabajo y desactivarlas selectivamente antes de aplicar el script en el equipo de producción — pasos en nuestra guía técnica de seguridad en máquinas virtuales.
⚠️ Verificar que las tareas funcionan: Abre el Programador de tareas (Win+R → taskschd.msc), busca las siete tareas Endurecer-Windows-* y revisa el campo "Último resultado" (debe ser 0x0). También desde PowerShell: Import-Csv C:\Logs\endurecer-windows-historico.csv | Select -Last 30.

🔐 ¿Qué consigue cada medida al endurecer Windows 11?

Las ocho medidas que aplica el script para endurecer Windows 11 no son aleatorias: cada una neutraliza una técnica concreta documentada en la matriz MITRE ATT&CK. La tabla siguiente conecta cada medida al endurecer Windows 11 con la amenaza que bloquea, la técnica MITRE asociada y la referencia oficial que respalda la configuración.

MedidaAmenaza bloqueadaTécnica MITREReferencia oficial
UAC en modo estrictoBypass de UAC mediante token impersonation o DLL hijackingT1548.002CIS Benchmark Windows 11 L1
SmartScreen en bloqueoDrive-by download y suplantación de instaladoresT1189Microsoft Defender SmartScreen
Firewall con bloqueo entranteExposición de servicios en redes públicasT1133CIS Benchmark L1 + Microsoft Learn
Microsoft Defender RTP + CloudMalware conocido y nuevo (heurística + nube)T1566 / T1204Microsoft Defender for Endpoint
8 reglas ASR críticasMacros maliciosas, scripts ofuscados, robo LSASS, persistencia WMIT1059 / T1003.001 / T1546Attack Surface Reduction Rules
Telemetría mínimaExposición innecesaria de información del sistemaT1592CIS Benchmark L1
PowerShell loggingAtaques sin archivo (fileless) y abuso de LOLBinsT1059.001 / T1562Microsoft Learn PowerShell Logging
Bloqueo de pantalla a 5 minAcceso físico no autorizado a la sesión activaT1078 / T1539CIS Benchmark L1
Referencias oficiales: Las medidas de este script para endurecer Windows 11 siguen los controles L1 del CIS Benchmark para Windows 11 y las reglas Attack Surface Reduction Rules de Microsoft Defender, con el respaldo de la matriz oficial de técnicas adversarias.

💡 ¿Cómo verificar que el hardening está activo tras endurecer Windows 11?

Ejecuta estos comandos en PowerShell como administrador para confirmar que las 8 medidas para endurecer Windows 11 están correctamente aplicadas:

# Las 7 tareas programadas
Get-ScheduledTask -TaskName "Endurecer-Windows-*" | `
  Select TaskName, State, LastRunTime, LastTaskResult

# UAC en modo estricto
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" |
  Select ConsentPromptBehaviorAdmin, PromptOnSecureDesktop, EnableLUA

# Firewall: 3 perfiles activos, entrada bloqueada
Get-NetFirewallProfile | Select Name, Enabled, DefaultInboundAction

# Microsoft Defender RTP
Get-MpPreference | Select DisableRealtimeMonitoring, MAPSReporting, CloudBlockLevel

# Reglas ASR (8 deben estar Enabled = 1)
(Get-MpPreference).AttackSurfaceReductionRules_Actions

# PowerShell logging
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" |
  Select EnableScriptBlockLogging

# Ver CSV historico (ultimas 30 ejecuciones)
Import-Csv C:\Logs\endurecer-windows-historico.csv | Select -Last 30

Las siete tareas deben aparecer en estado Ready con LastTaskResult = 0. Get-NetFirewallProfile debe mostrar los tres perfiles con Enabled = True y DefaultInboundAction = Block. (Get-MpPreference).AttackSurfaceReductionRules_Actions debe devolver 8 valores iguales a 1.

✅ Checklist de verificación tras endurecer Windows 11

Confirma cada punto tras ejecutar el script para endurecer Windows 11:

  • ConsentPromptBehaviorAdmin = 2 y PromptOnSecureDesktop = 1 (UAC estricto)
  • ShellSmartScreenLevel = "Block" (SmartScreen en bloqueo)
  • ☑ Los tres perfiles del firewall muestran Enabled = True y DefaultInboundAction = Block
  • ☑ Microsoft Defender muestra DisableRealtimeMonitoring = False y MAPSReporting = Advanced
  • AttackSurfaceReductionRules_Actions devuelve 8 valores iguales a 1
  • AllowTelemetry = 1 (Required/Security)
  • EnableScriptBlockLogging = 1 y EnableModuleLogging = 1
  • ScreenSaverIsSecure = 1 y ScreenSaveTimeOut = 300
  • ☑ Las siete tareas Endurecer-Windows-* aparecen en estado Ready
  • ☑ El log C:\Logs\endurecer-windows.log registra la ejecución sin errores
  • ☑ El CSV C:\Logs\endurecer-windows-historico.csv contiene la entrada de instalación inicial

🚀 Medidas avanzadas opcionales para complementar al endurecer Windows 11

🚀 Medidas avanzadas más allá de CIS L1: Tras endurecer Windows 11 con el script base, hay capas adicionales que elevan la seguridad al nivel CIS L2 y a entornos Zero Trust: cifrado de disco con BitLocker, protección de credenciales con Credential Guard, control de aplicaciones con AppLocker/WDAC, virtualización de la integridad del kernel con VBS (Virtualization Based Security), escudo del proceso LSASS con LSA Protection (RunAsPPL) y telemetría detallada con Sysmon. Estas medidas requieren hardware compatible (TPM 2.0, UEFI Secure Boot, SLAT) y planificación adicional, pero multiplican el coste para un atacante.
Medida avanzada¿Qué protege?RequisitosComplejidad
BitLockerCifrado del disco completo frente a robo físicoTPM 2.0, Windows Pro+🟢 Baja
Credential GuardAísla credenciales NTLM/Kerberos en VBSVBS, TPM 2.0, UEFI Secure Boot🟡 Media
LSA Protection (RunAsPPL)Convierte LSASS en proceso protegido (PPL)Windows 10 1607+ / 11🟢 Baja (registro)
AppLockerBloquea ejecución por allowlist (path/hash/publisher)Windows Enterprise / Pro🔴 Alta (definir reglas)
WDAC (Windows Defender App Control)Allowlist a nivel kernel mediante políticas XMLWindows 10/11 Pro+🔴 Alta (políticas XML)
VBS / HVCIAísla código del kernel mediante hipervisorVT-x/AMD-V, SLAT, TPM 2.0🟡 Media
SysmonTelemetría detallada de procesos, red, registroCualquier Windows🟡 Media (config XML)
AMSI integrationEscaneo de scripts en memoria por DefenderActivado por defecto en Win 10+🟢 N/A (verificar)

🛠️ Herramientas complementarias gratuitas para endurecer Windows 11

  • 🔬 Sysmon (Microsoft) – Registra creación de procesos, conexiones de red, modificaciones del registro y carga de DLLs con detalle imposible de obtener con el log nativo
  • 📊 Sysinternals Suite – Process Monitor, Process Explorer, Autoruns, TCPView: visibilidad profunda del sistema
  • 🛡️ Microsoft Safety Scanner (MSERT) – Análisis bajo demanda con motor de Defender, útil tras incidente
  • 🔍 EventLog Explorer / Chainsaw – Análisis avanzado del log de eventos con reglas Sigma
  • 🦠 HardeningKitty – Herramienta PowerShell de auditoría que compara la configuración actual con CIS, DISA STIG y BSI
  • 📋 Microsoft Security Compliance Toolkit (SCT) – Plantillas GPO oficiales de Microsoft para baselines de seguridad
  • 🔐 PowerShell Empire detection rules (Atomic Red Team) – Tests de penetración defensiva para validar el hardening
  • 📡 Wireshark – Análisis de tráfico de red local para detectar conexiones sospechosas
  • 🦠 OSSEC / Wazuh – HIDS open source para monitorización centralizada
🔍 ¿Qué es AMSI (Antimalware Scan Interface)? Es la interfaz que Windows expone para que cualquier antivirus (incluido Microsoft Defender) inspeccione contenido en memoria antes de su ejecución. PowerShell, Office VBA, JavaScript en mshta y .NET la usan obligatoriamente desde Windows 10. Cuando ejecutas un script ofuscado, AMSI lo "des-ofusca" en memoria y lo pasa a Defender para análisis: esta capa, combinada con PowerShell logging, es lo que convierte los ataques fileless en ataques visibles al endurecer Windows 11. Los atacantes intentan evadir AMSI mediante técnicas como AMSI bypass por patching de amsi.dll, motivo por el cual la integridad del proceso PowerShell debe vigilarse desde el log.

🧠 Buenas prácticas adicionales para complementar al endurecer Windows 11

Endurecer Windows 11 es una pieza fundamental de la defensa en profundidad, pero el endpoint es solo una capa. Las recomendaciones siguientes amplían la cobertura más allá del sistema operativo y multiplican el valor del trabajo de endurecer Windows 11 al cubrir cuentas, servicios de red, acceso remoto e identidad digital global.

Complementa el proceso de endurecer Windows 11 con estas medidas: aplica el hardening de cuentas Windows · endurece los servicios de compartición Windows · configura el acceso remoto Windows seguro · activa la monitorización de logins Windows · configura Microsoft Defender al máximo nivel · usa un gestor de contraseñas con 2FA en todas las cuentas online. Cada una de estas medidas tiene su artículo dedicado en el blog y se enlaza en los puntos siguientes.
  • 🔐 Aplica también el hardening de cuentas Windows, el script de este artículo se centra en endurecer Windows 11 a nivel de SO pero las cuentas y la política de contraseñas se configuran en su script específico — paso a paso en nuestro manual técnico de hardening de cuentas Windows
  • 📁 Endurece los servicios de compartición Windows, SMBv1, LLMNR, NetBIOS y Print Spooler son vectores de red que requieren su propio script para complementar al endurecer Windows 11 — desarrollado en nuestro análisis técnico de los servicios de compartición Windows
  • 🌐 Configura el acceso remoto Windows seguro si tienes RDP o software de control remoto, donde se cubre el cierre del puerto 3389 y la protección frente a fuerza bruta — paso a paso en nuestro compendio técnico de acceso remoto Windows seguro
  • 🧑‍💻 Usa cuentas estándar para el día a día, reservar la cuenta de administrador solo para tareas que la requieran bloquea de raíz los vectores técnicos de escalación de privilegios en Windows (UAC bypass, Print Spooler, DLL hijacking)
  • 📊 Activa la monitorización de logins, el PowerShell logging registra qué se ejecuta pero la monitorización de logins detecta quién entra y desde dónde
  • 🪪 Adopta una estrategia completa de identidad digital: endurecer Windows 11 cierra la puerta del equipo local pero tu correo, banca y redes viven fuera de él; la separación de cuentas críticas y un plan de recuperación son las capas que convierten este script en parte de una defensa global — desarrollado en nuestra referencia técnica completa de identidad digital
  • 🛡️ Configura Windows Defender al máximo nivel con todas las features de Microsoft Defender for Endpoint compatibles con tu edición de Windows — paso a paso en nuestra referencia técnica de Windows Defender

Windows 11 sin endurecer vs Windows 11 endurecido

🆚 Windows 11 sin endurecer vs Windows 11 endurecido

Esta comparativa muestra el antes y el después de endurecer Windows 11: cada fila refleja una configuración por defecto que endurecer Windows 11 con el script convierte en un control activo y verificable.

CaracterísticaSin endurecer (configuración por defecto)Endurecido (tras ejecutar el script)
UAC🔴 Notifica solo en cambios de programa🟢 Notifica siempre con escritorio seguro
SmartScreen🔴 Permite ejecutar archivos sin reputación con aviso🟢 Bloquea ejecutables sin reputación de internet
Firewall (perfil público)🔴 Activo pero con reglas permisivas🟢 Bloqueo entrante por defecto en los 3 perfiles
Reglas ASR de Defender🔴 Las 8 reglas críticas desactivadas🟢 8 reglas activas en modo bloqueo
PowerShell logging🔴 Sin registro de comandos ejecutados🟢 ScriptBlock + Module logging completos
Telemetría🔴 Optional (datos extendidos a Microsoft)🟢 Required (mínimo imprescindible)
Bloqueo de pantalla automático🔴 No configurado🟢 5 minutos con contraseña obligatoria
Detección de log borrado (1102)🔴 Ninguna; el atacante puede borrar evidencias🟢 Alerta inmediata en CSV histórico
Detección de firewall detenido (5025)🔴 Ninguna🟢 Reactivación automática y alerta
Persistencia tras Windows Update🔴 ASR y Defender pueden revertirse🟢 Las 7 tareas reaplican el hardening
Alineación con CIS Benchmark L1🔴 No🟢 Sí
Recomendado

❓ Preguntas frecuentes sobre endurecer Windows 11

¿Es seguro ejecutar este script para endurecer Windows 11?

👉 Sí, si se ejecuta como administrador siguiendo las recomendaciones previas. Todos los comandos para endurecer Windows 11 usan herramientas nativas del sistema documentadas oficialmente por Microsoft (Set-MpPreference, Set-NetFirewallProfile, auditpol, reg add) y son completamente reversibles mediante el script de reversión incluido.

El script crea automáticamente un punto de restauración del sistema en su primera ejecución manual.

¿Funciona en Windows 10 y Windows 11?

👉 Sí. Las reglas ASR, Microsoft Defender, el firewall y PowerShell logging están disponibles en Windows 10 (a partir de la versión 1709) y Windows 11. Algunas configuraciones de SmartScreen avanzadas son específicas de Windows 11, pero el script las aplica de forma compatible con ambas versiones.

¿Funciona el script en Windows 11 Home?

👉 La mayoría sí. UAC, SmartScreen, firewall, Defender RTP, reglas ASR (parcialmente) y bloqueo de pantalla funcionan en Windows 11 Home.

Sin embargo, las reglas ASR completas y el PowerShell logging a nivel GPO requieren Windows 11 Pro, Enterprise o Education, ya que Home no expone esas claves de Política de grupo.

En Home se pueden aplicar a nivel registro con HKLM:\SOFTWARE\Microsoft\... en lugar de HKLM:\SOFTWARE\Policies\..., pero el comportamiento es menos consistente. Para endurecer Windows 11 al nivel de esta guía, recomendamos Windows 11 Pro o superior.

¿Qué son exactamente las reglas ASR de Microsoft Defender?

👉 Las Attack Surface Reduction Rules son reglas heurísticas de Microsoft Defender que bloquean comportamientos típicos de malware: una macro de Word que llama a Win32 API, un script JavaScript ofuscado que descarga un ejecutable, un proceso de Outlook que crea un proceso hijo o un acceso a la memoria del proceso LSASS para robar credenciales.

Cada regla se identifica por un GUID y puede aplicarse en modo bloqueo, modo auditoría (registra pero no bloquea) o desactivada. Este script para endurecer Windows 11 activa las 8 reglas más críticas en modo bloqueo.

¿Las reglas ASR pueden romper aplicaciones legítimas?

👉 En equipos modernos con software actualizado, el impacto es prácticamente nulo. Las reglas ASR pueden generar falsos positivos en escenarios concretos: macros antiguas de Excel que llaman a librerías externas, instaladores que se ejecutan desde un correo de Outlook abierto, o scripts JavaScript ofuscados de páginas web internas.

Si encuentras un falso positivo tras endurecer Windows 11, identifica la regla concreta con Get-MpThreatDetection y desactívala selectivamente con Set-MpPreference -AttackSurfaceReductionRules_Ids GUID -AttackSurfaceReductionRules_Actions Disabled.

¿Por qué 7 tareas programadas y no solo una?

👉 Cada tarea cubre un vector distinto.

La de inicio reaplica el hardening tras cada reboot (Windows Update revierte ocasionalmente reglas ASR); la de logon verifica tras cada inicio de sesión; la horaria detecta cambios silenciosos por software de terceros.

La de LogBorrado (evento 1102) alerta al instante si alguien borra el log de seguridad; la de Firewall (evento 5025) reactiva el firewall si se detiene; la de PoliticaAuditoria (evento 4719) detecta intentos de evadir auditoría; y la semanal genera un snapshot completo del estado de las 8 medidas para endurecer Windows 11.

¿Qué son los eventos 1102, 5025 y 4719?

👉 Son identificadores de eventos del log Security de Windows: 1102 se registra cuando se borra manualmente el log de seguridad (acción casi siempre ofensiva); 5025 cuando se detiene el servicio del firewall de Windows; 4719 cuando se modifica la política de auditoría del sistema. Los tres son indicadores de alta confianza de actividad sospechosa: en operación normal de Windows 11 no se generan, así que su aparición indica intervención manual o malware.

¿Las 7 tareas ralentizan el equipo?

👉 No de forma perceptible. Cada ejecución dura menos de 5 segundos y se realiza en background como SYSTEM en modo oculto.

El script para endurecer Windows 11 es idempotente: comprueba el estado de cada configuración antes de modificarla y solo actúa si detecta desviación, por lo que las ejecuciones repetidas terminan en pocos segundos con cero cambios. Las tareas reactivas por evento (1102, 5025, 4719) solo se disparan cuando ocurren esas acciones específicas, no consumen recursos en reposo.

¿Reducir la telemetría afecta a las actualizaciones de Windows?

👉 No. El nivel Required (1) es el mínimo permitido para usuarios fuera del programa Windows Insider y envía exactamente la información necesaria para que Windows Update funcione correctamente: versión del SO, identificador del dispositivo y datos de error críticos. No envía contenido de aplicaciones, historial de navegación ni datos de uso. Las actualizaciones de seguridad y características siguen llegando con normalidad.

¿Endurecer Windows 11 sustituye a un antivirus de pago?

👉 No exactamente, pero combinado con Microsoft Defender bien configurado y las 8 reglas ASR activas, el resultado de endurecer Windows 11 es comparable a muchas soluciones de pago para uso doméstico y profesional. Las soluciones EDR empresariales aportan capacidades adicionales (telemetría centralizada, respuesta automatizada, threat hunting) que pueden ser necesarias en entornos corporativos grandes pero no para equipos individuales.

¿Debería combinar endurecer Windows 11 con BitLocker?

👉 Sí, absolutamente. Endurecer Windows 11 protege frente a ataques lógicos (malware, ejecución no autorizada), pero no frente al robo físico del equipo.

BitLocker cifra el disco completo con AES-256 y exige TPM 2.0 + PIN o llave USB en cada arranque. Sin BitLocker, un atacante con acceso físico puede extraer el disco, montarlo en otro equipo y leer todos los datos en texto plano, evadiendo por completo las protecciones del SO.

Para Windows 11 Pro+ se activa desde Configuración → Privacidad y seguridad → Cifrado de dispositivo. Para Home, está disponible el cifrado de dispositivo automático si el hardware lo soporta.

¿Qué es Credential Guard y debería activarlo?

👉 Credential Guard es una característica de Windows 11 Pro/Enterprise que aísla los secretos derivados de credenciales (hashes NTLM, tickets Kerberos TGT) dentro de un contenedor de máquina virtual seguro basado en VBS (Virtualization Based Security).

El proceso LSASS normal sigue funcionando, pero los secretos críticos se almacenan en un proceso aislado al que no se puede acceder ni con privilegios de SYSTEM. Esto neutraliza herramientas como Mimikatz para extracción de credenciales.

Requiere TPM 2.0, UEFI Secure Boot y CPU con SLAT (todas las modernas). Es altamente recomendable en entornos profesionales tras endurecer Windows 11 con este script base.

¿Cómo desactivo todo si quiero dejar de endurecer Windows 11?

👉 Ejecuta el script de reversión incluido en esta guía: elimina las siete tareas y revierte UAC, ASR, telemetría, PowerShell logging y bloqueo de pantalla en un solo paso. Microsoft Defender, SmartScreen y el firewall se mantienen activos por seguridad: revertirlos dejaría el sistema completamente desprotegido.

Si solo quieres desactivar una tarea concreta, abre el Programador de tareas (Win+R → taskschd.msc), localiza la tarea bajo Endurecer-Windows-* y pulsa Deshabilitar.

¿Con qué frecuencia debo revisar el CSV histórico?

👉 Las tareas programadas reaplican el hardening de forma continua, pero conviene revisar el CSV C:\Logs\endurecer-windows-historico.csv una vez por semana con Import-Csv. Presta atención a entradas con disparador LogBorrado, FirewallParado o AuditoriaCambio: cualquier aparición no justificada es señal de actividad sospechosa que merece investigación.

La tarea Endurecer-Windows-Auditoria genera automáticamente un snapshot cada domingo a las 3 AM como referencia.

¿Qué es AMSI y cómo se relaciona con PowerShell logging?

👉 AMSI (Antimalware Scan Interface) es la API de Windows que permite a cualquier antivirus inspeccionar contenido en memoria antes de su ejecución (scripts PowerShell, macros VBA, JavaScript en mshta).

PowerShell logging registra qué se ejecutó; AMSI permite que Defender analice qué contiene aunque venga ofuscado. Juntos forman una doble capa: si el atacante intenta usar técnicas de AMSI bypass (parchear amsi.dll en memoria), el comando para hacerlo queda registrado por ScriptBlockLogging y se convierte en un IOC inmediato.

Endurecer Windows 11 con ambas capas activas es lo que hace prácticamente imposibles los ataques fileless modernos.


🏁 Conclusión

Endurecer Windows 11 con PowerShell permite aplicar ocho medidas de hardening del sistema operativo en pocos minutos, reduciendo drásticamente la superficie de ataque frente a los vectores más usados en la actualidad: macros maliciosas de Office, scripts ofuscados, ejecutables sin reputación, ataques sin archivo y borrado de evidencias forenses.

Endurecer Windows 11 siguiendo los controles del CIS Benchmark nivel 1 y activando las reglas ASR de Microsoft Defender convierte un sistema con configuración por defecto, optimizado para usabilidad, en un endpoint significativamente más resistente sin renunciar a la experiencia de uso.

Lo más valioso del proceso para endurecer Windows 11 es que el script se copia y ejecuta en menos de tres minutos.

Las protecciones son inmediatas y verificables con Get-MpPreference y Get-NetFirewallProfile.

Las siete tareas programadas garantizan que el resultado de endurecer Windows 11 se mantenga aplicado automáticamente en cada arranque, logon, hora, borrado de log de seguridad, parada del firewall, modificación de la política de auditoría y revisión semanal.

Las tres tareas reactivas por eventos 1102, 5025 y 4719 convierten el script para endurecer Windows 11 en una solución de detección temprana de actividad ofensiva sobre el sistema, algo que hasta ahora solo ofrecían soluciones EDR de pago.

🛡️ Resumen de acciones recomendadas para endurecer Windows 11:

  • Crea un punto de restauración antes de ejecutar el script para endurecer Windows 11 por primera vez
  • Ejecuta el script como administrador y verifica que las 8 medidas se aplican sin errores en el log
  • Confirma las 7 tareas programadas con Get-ScheduledTask -TaskName "Endurecer-Windows-*"
  • Reinicia el equipo para que UAC y la tarea de inicio queden completamente activos
  • Revisa el CSV histórico una vez por semana buscando disparadores LogBorrado, FirewallParado o AuditoriaCambio
  • Complementa endurecer Windows 11 con el hardening de cuentas, los servicios de compartición y el acceso remoto
  • Activa BitLocker si tu hardware lo soporta para proteger los datos frente a robo físico
  • Considera Credential Guard y LSA Protection en equipos profesionales con TPM 2.0
  • Mantén Microsoft Defender actualizado para que las firmas y la heurística en nube estén al día
  • 🛡️ Las 8 reglas ASR son la medida con mayor impacto contra ransomware y malware bancario al endurecer Windows 11 frente a macros de Office
  • 🛡️ El PowerShell logging hace visibles los ataques sin archivo (fileless) que de otra forma serían indetectables tras endurecer Windows 11
  • 🛡️ La tarea de evento 1102 detecta el borrado del log de seguridad en el mismo instante en que ocurre, antes de que el atacante pueda cubrir más rastros
  • 🛡️ La tarea de evento 5025 reactiva el firewall automáticamente si malware o un usuario lo detiene
  • 🛡️ Combina endurecer Windows 11 con el hardening de cuentas y de servicios de compartición para una defensa en profundidad completa del endpoint
  • 🛡️ Si tienes acceso remoto activo, completa el blindaje con la guía de acceso remoto Windows seguro
  • 🛡️ Para nivel CIS L2, añade BitLocker, Credential Guard, AppLocker/WDAC y Sysmon como capas avanzadas tras endurecer Windows 11

¿Aún no has empezado a endurecer Windows 11? Crea un punto de restauración, copia el script de esta guía y ejecútalo como administrador. En menos de tres minutos tendrás las 8 medidas activas y las 7 tareas programadas vigilando el estado del sistema de forma continua.

Comparte este artículo con quien administre equipos Windows 11 sin reglas ASR ni PowerShell logging activos. Un sistema sin estas dos medidas es un objetivo trivial para cualquier campaña de ransomware moderna que llegue por macro de Office o ejecutable descargado de correo, y endurecer Windows 11 con este script lo convierte en un endpoint resistente.

Autor

Entusiasta de la seguridad informática con años de experiencia en protección de sistemas Windows y defensa contra amenazas digitales. Apasionado por la tecnología y la privacidad, comparto en este blog consejos prácticos, análisis detallados y guías paso a paso para que cualquier usuario pueda fortalecer la seguridad de su PC y su vida digital

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tu puntuación: Útil

Subir