🔒Bloquear P2P en Windows con PowerShell: 3 métodos paso a paso 2026

Bloquear P2P en Windows con PowerShell: 3 métodos paso a paso 2026

Table of Contents

🔒 Cómo bloquear puertos P2P en Windows con PowerShell: 3 métodos paso a paso 2026

Bloquear P2P Windows con PowerShell es una medida de seguridad imprescindible: las redes peer-to-peer son uno de los principales vectores de distribución de malware y exposición involuntaria de datos, y la mayoría de usuarios no saben que sus equipos participan activamente en esas redes con puertos abiertos. En Seguridad en mi PC documentamos cómo tres métodos de PowerShell pueden cerrar esos vectores en minutos, aplicando reglas de firewall con nombre único que se pueden verificar y revertir en un solo comando. Todas las guías de protección de red están en nuestra sección de seguridad en Windows, y puedes explorar también el catálogo completo de guías de seguridad Windows paso a paso disponibles en el sitio.

💡 Resumen rápido

📂 Bloquear P2P Windows: 3 métodos con PowerShell para cerrar puertos peligrosos en 2026

Bloquear P2P Windows consiste en configurar reglas de firewall para impedir conexiones de redes peer-to-peer como BitTorrent, Syncthing o Plex. Las redes P2P exponen tu IP pública a miles de nodos desconocidos, distribuyen malware en archivos infectados y mantienen puertos no estándar abiertos que amplían la superficie de ataque del sistema.

  • ✅ Método 1: bloqueo de puertos P2P con New-NetFirewallRule (BitTorrent, qBittorrent, Syncthing, Plex)
  • ✅ Método 2: bloqueo por ejecutable (uTorrent, qBittorrent) independientemente del puerto dinámico usado
  • ✅ Método 3: bloqueo de rangos de IP asociados a trackers y nodos P2P conocidos
  • ✅ Script unificado con 3 tareas programadas: inicio, reinicio y cada 10 minutos
  • ✅ Cómo revertir todas las reglas y tareas en un comando si necesitas restaurar las conexiones P2P

📅 2026 · 🕐 7 minutos de lectura

💡 Definición rápida Bloquear P2P Windows: Proceso de configurar reglas de firewall de Windows para impedir conexiones en los puertos no estándar utilizados por redes peer-to-peer como BitTorrent, Syncthing o Plex. Se aplica mediante PowerShell con New-NetFirewallRule sin instalar software adicional, usando el prefijo BLOQUEO_P2P para identificar, auditar y gestionar las reglas de forma centralizada.

Esta guía complementa los artículos sobre servicios de compartición Windows y el hardening general de Windows 11 para una reducción completa de la superficie de ataque de red.


¿Qué significa bloquear puertos P2P en Windows?

📌 ¿Qué significa bloquear puertos P2P en Windows?

Para bloquear P2P Windows de forma eficaz, primero hay que identificar qué aplicaciones y protocolos de red peer-to-peer están activos en el equipo. Los nodos P2P son dispositivos conectados en redes de intercambio descentralizado que comparten archivos directamente entre sí sin un servidor central, lo que significa que tu equipo puede estar actuando como punto de distribución de contenido sin que seas consciente de ello.

  • 🔄 Torrents: BitTorrent, uTorrent, qBittorrent (puertos no estándar 6881-6889, 6969, 51413)
  • 🔁 Sincronización P2P: Syncthing (puertos 22000, 6121) para sincronización de archivos descentralizada
  • 🎬 Streaming P2P: Plex, Emby (puerto 32400) para servidor multimedia accesible desde la red
  • 🌐 Aplicaciones descentralizadas: redes de intercambio sin servidor central que usan puertos dinámicos

💡 ¿Qué son los puertos no estándar y por qué los usan las redes P2P?

Los puertos no estándar son aquellos fuera del rango 0-1023 reservado para servicios bien conocidos (HTTP, HTTPS, DNS). Las redes P2P utilizan intencionalmente puertos no estándar como el 6881 o el 51413 para evadir los filtros de firewall corporativos y domésticos que solo supervisan los puertos convencionales. Esta técnica está documentada en MITRE ATT&CK T1571 (Non-Standard Port) como vector habitual para evadir controles de seguridad perimetrales y establecer comunicaciones C2 con servidores maliciosos.


¿Por qué bloquear puertos P2P en Windows?

🚨 ¿Por qué bloquear puertos P2P en Windows?

🚨 Dato crítico: Las redes P2P exponen tu IP pública a miles de nodos desconocidos, distribuyen malware y ransomware en archivos infectados y mantienen puertos no estándar abiertos que amplían la superficie de ataque. Según la técnica MITRE ATT&CK T1571: Non-Standard Port, estos puertos son un vector habitual para evadir controles de seguridad perimetrales y establecer comunicaciones C2.
Riesgo sin bloquear puertos P2PDescripción técnicaConsecuenciaNivel
Malware en archivos descargadosPayloads maliciosos incrustados en torrents de software pirata y cracksInfección del sistema sin intervención adicional del atacante🔴 Crítico
Exposición de IP públicaTu dirección IP visible para miles de nodos P2P desconocidosVector para ataques dirigidos, DDoS o seguimiento del usuario🔴 Alto
Puertos no estándar abiertosPuertos 6881-6889, 51413, 22000 accesibles desde InternetSuperficie de ataque ampliada; vectores de explotación activos🟠 Alto
Uso como nodo proxy maliciosoEl equipo puede retransmitir tráfico cifrado de tercerosParticipación involuntaria en botnet o relay de tráfico C2 (MITRE T1090)🟠 Alto
Distribución de ransomwareArchivos con ransomware o RAT preinstalados circulando por BitTorrentCifrado de archivos o acceso remoto al sistema comprometido🔴 Crítico
Riesgos legalesDistribución involuntaria de contenido protegido por copyrightResponsabilidad civil o administrativa por infracción de derechos🟡 Medio
🦠 P2P y ransomware: la conexión que la mayoría de usuarios desconoceLas redes P2P son uno de los principales canales de distribución de ransomware y troyanos de acceso remoto (RAT) para usuarios domésticos: los atacantes incrustan payloads maliciosos en archivos de software pirata, cracks y contenido multimedia que circulan por redes BitTorrent. Una vez ejecutado el archivo infectado, el malware puede cifrar todos los archivos del equipo, instalar un keylogger que capture contraseñas en tiempo real o ceder el control total del dispositivo a un atacante remoto. El problema es que ningún antivirus puede garantizar la detección de estas amenazas si el usuario desactiva la protección para ejecutar el crack. Cerrar los puertos P2P en el firewall de Windows antes de que el archivo se descargue es la única capa que funciona con independencia de las decisiones del usuario. Consulta nuestra guía sobre cómo funciona el ransomware y qué hacer si cifran los archivos de tu vida digital para entender el ciclo completo de este tipo de ataque.

⚙️ Requisitos previos para bloquear puertos P2P en Windows

  • ✅ Windows 10 o Windows 11 (los tres métodos funcionan en ambas versiones)
  • ✅ PowerShell abierto como administrador (clic derecho → Ejecutar como administrador)
  • ✅ Firewall de Windows activo en todos los perfiles (dominio, privado y público)
  • Windows Defender activo como capa complementaria de detección de malware
Referencia oficial: Windows Firewall with Advanced Security — Microsoft Learn

⚙️ 3 métodos de firewall con PowerShell para bloquear P2P Windows sin software adicional

🛠️ Método 1: bloquear P2P Windows por número de puerto con PowerShell

La forma más directa de bloquear P2P Windows es especificar los puertos no estándar explícitamente en las reglas de firewall mediante PowerShell. Este método crea reglas de salida (Outbound) con el cmdlet New-NetFirewallRule que bloquean las conexiones en los puertos de red usados por los protocolos P2P más extendidos.

💡 Puertos P2P más usados y sus aplicaciones

PuertoProtocoloAplicación P2PAcción
6881-6889TCP + UDPBitTorrent (rango estándar)Bloquear
6969TCP + UDPBitTorrent trackerBloquear
51413TCP + UDPqBittorrent (puerto por defecto)Bloquear
22000TCP + UDPSyncthing (sincronización P2P)Bloquear
32400TCPPlex Media ServerBloquear
# ============================================================
# BLOQUEAR PUERTOS P2P EN WINDOWS - METODO 1: POR PUERTO
# Alineado con MITRE ATT&CK T1571 y recomendaciones CISA
# ============================================================

# BitTorrent - rango de puertos estandar (TCP y UDP)
New-NetFirewallRule -DisplayName "BLOQUEO_P2P TCP 6881-6889" -Direction Outbound -Protocol TCP -RemotePort 6881-6889 -Action Block
New-NetFirewallRule -DisplayName "BLOQUEO_P2P UDP 6881-6889" -Direction Outbound -Protocol UDP -RemotePort 6881-6889 -Action Block

# BitTorrent tracker
New-NetFirewallRule -DisplayName "BLOQUEO_P2P tracker 6969"  -Direction Outbound -Protocol TCP -RemotePort 6969 -Action Block

# qBittorrent (puerto por defecto)
New-NetFirewallRule -DisplayName "BLOQUEO_P2P qBittorrent 51413" -Direction Outbound -Protocol TCP -RemotePort 51413 -Action Block
New-NetFirewallRule -DisplayName "BLOQUEO_P2P qBittorrent UDP 51413" -Direction Outbound -Protocol UDP -RemotePort 51413 -Action Block

# Syncthing (sincronizacion P2P descentralizada)
New-NetFirewallRule -DisplayName "BLOQUEO_P2P Syncthing 22000" -Direction Outbound -Protocol TCP -RemotePort 22000 -Action Block

# Plex Media Server
New-NetFirewallRule -DisplayName "BLOQUEO_P2P Plex 32400" -Direction Outbound -Protocol TCP -RemotePort 32400 -Action Block

Write-Host "Bloqueo de puertos P2P en Windows aplicado correctamente." -ForegroundColor Green
🚨 Puertos abiertos: más allá del P2P, el problema es la superficie de ataque totalCerrar los puertos P2P es una parte del problema. Pero en un equipo Windows típico, otros puertos igualmente peligrosos pueden estar expuestos sin que el usuario lo sepa: el puerto 3389 del escritorio remoto (RDP) es uno de los vectores de entrada más explotados por atacantes que lanzan ataques de fuerza bruta automatizados buscando credenciales válidas. A diferencia de los puertos P2P, el RDP expuesto genera un rastro claro en el registro de eventos de seguridad de Windows: decenas de eventos 4625 (intentos fallidos de inicio de sesión) en pocos minutos son la señal inequívoca de que alguien está intentando entrar. Cerrar puertos innecesarios con reglas de firewall y monitorizar los intentos de acceso son dos capas de protección complementarias que deben aplicarse juntas. Aprende a detectar esos intentos en nuestra guía sobre monitorización de logins Windows con PowerShell.

🌐 Método 2: bloquear P2P Windows por ejecutable

Bloquear P2P Windows por ejecutable es más robusto que hacerlo por puerto: el cliente P2P queda bloqueado aunque cambie de puerto dinámicamente, una técnica habitual en clientes modernos como qBittorrent para evadir los filtros basados únicamente en números de puerto. Este método crea una regla de firewall que bloquea toda la actividad de red del proceso, independientemente del puerto utilizado.

# ============================================================
# BLOQUEAR P2P WINDOWS - METODO 2: POR EJECUTABLE
# Bloquea el proceso completo independientemente del puerto dinamico
# ============================================================

# Bloquear uTorrent por ejecutable
New-NetFirewallRule -DisplayName "BLOQUEO_P2P uTorrent" `
  -Direction Outbound `
  -Program "C:\Program Files\uTorrent\uTorrent.exe" `
  -Action Block

# Bloquear qBittorrent por ejecutable
New-NetFirewallRule -DisplayName "BLOQUEO_P2P qBittorrent" `
  -Direction Outbound `
  -Program "C:\Program Files\qBittorrent\qbittorrent.exe" `
  -Action Block

Write-Host "Bloqueo de clientes P2P por ejecutable aplicado correctamente." -ForegroundColor Green

💡 ¿Por qué el bloqueo por ejecutable es más efectivo que el bloqueo por puerto?

Los clientes P2P modernos implementan asignación de puertos dinámica: si el puerto por defecto (6881, 51413) está bloqueado, el cliente elige automáticamente otro puerto libre en el rango 1024-65535. El bloqueo por ejecutable con New-NetFirewallRule -Program aplica la regla de firewall al proceso completo, de forma que ninguna conexión de ese ejecutable puede establecerse independientemente del puerto elegido. Es el método recomendado cuando el cliente P2P ya está instalado en el sistema y su ruta es conocida.


🔐 Método 3: bloquear P2P Windows por rangos de IP

El tercer método para bloquear P2P Windows actúa a nivel de enrutamiento de red: elimina la comunicación con rangos de IP de trackers y nodos P2P conocidos, impidiendo que el equipo establezca conexiones con servidores de seguimiento (trackers) que coordinan la distribución de contenido en las redes de intercambio.

# ============================================================
# BLOQUEAR P2P WINDOWS - METODO 3: POR RANGOS DE IP
# Elimina comunicacion con trackers y nodos P2P conocidos
# ============================================================

# Bloquear rango de IP asociado a trackers P2P
New-NetFirewallRule -DisplayName "BLOQUEO_P2P IP_0.0.0.0/8" `
  -Direction Outbound `
  -RemoteAddress 0.0.0.0/8 `
  -Action Block

Write-Host "Bloqueo de rangos de IP P2P aplicado correctamente." -ForegroundColor Green
🚨 Referencia MITRE: La técnica MITRE ATT&CK T1090 (Proxy) documenta el uso de nodos P2P para ofuscar el origen del tráfico malicioso y retransmitir comunicaciones C2. Bloqueando los rangos de IP de trackers conocidos se elimina este vector de proxy malicioso.

⚙️ Script completo: Bloqueo P2P Windows con tareas programadas (inicio, reinicio y cada 10 minutos)

A continuación encontrarás un script PowerShell completo y unificado que aplica los tres métodos de bloqueo en una sola ejecución (puerto, ejecutable y rango de IP) y crea tres tareas programadas que reaplican el bloqueo en cada inicio, en cada reinicio o login y cada 10 minutos. Esta frecuencia tan corta tiene una justificación clara: las aplicaciones P2P se autoactualizan, se reinstalan o cambian sus puertos dinámicamente, y suelen recrear sus propias reglas de firewall para abrirse paso. Reaplicar el bloqueo cada 10 minutos garantiza que cualquier intento de la aplicación P2P de restablecer conectividad quede neutralizado en pocos minutos.

⚠️ Antes de ejecutar: Este script crea reglas de firewall que afectan a aplicaciones P2P legítimas (Plex, Syncthing). Si las usas, edita el script y comenta las líneas correspondientes antes de ejecutarlo. El bloqueo es completamente reversible mediante el script de reversión incluido. Se crea un log automático en C:\Logs\bloqueo-p2p.log. Lee siempre el código antes de pegarlo en PowerShell.

📅 Tareas programadas que crea este script

El script registra tres tareas independientes en el Programador de tareas de Windows. Cada una se ejecuta en un disparador distinto para garantizar la cobertura completa del bloqueo P2P:

Nombre de la tareaDisparadorFrecuenciaPropósito
Bloqueo-P2P-InicioAl iniciar Windows (-AtStartup)Cada arranque del equipoRestablece las reglas de firewall si una actualización de Windows o un reinicio limpio las ha eliminado
Bloqueo-P2P-LogonAl iniciar sesión cualquier usuario (-AtLogOn)Cada login (incluye reinicios desde sesión)Reaplica el bloqueo cuando un usuario inicia sesión, antes de que pueda abrir cualquier cliente P2P
Bloqueo-P2P-10minProgramado cada 10 minutos (-RepetitionInterval 10m)144 veces al díaVigilancia continua: si la app P2P se actualiza o intenta crear sus propias reglas para evadir el bloqueo, el script las anula en menos de 10 minutos
Cómo funcionan las tareas programadas: Las tres tareas se ejecutan como SYSTEM con privilegios elevados y en modo oculto (sin ventana visible). El script es idempotente: comprueba antes de crear cada regla si ya existe, así que no genera duplicados aunque se ejecute 144 veces al día. La carga sobre el sistema es mínima: cada ejecución consume menos de un segundo de CPU.

📥 Pasos para instalar y activar el bloqueo P2P automático

  1. Abre PowerShell como administrador: pulsa la tecla Windows, escribe PowerShell, haz clic derecho sobre Windows PowerShell y selecciona Ejecutar como administrador.
  2. Permite la ejecución de scripts en la sesión actual (no afecta a futuras sesiones):
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  3. Crea la carpeta de scripts del sistema: el script se instalará en C:\Scripts\ para que las tareas programadas lo encuentren siempre en la misma ruta:
    New-Item -ItemType Directory -Path "C:\Scripts" -Force
  4. Crea el archivo del script: abre el Bloc de notas, pega el código que verás más abajo y guárdalo como Bloqueo-P2P.ps1 directamente en C:\Scripts\. Asegúrate de que el tipo de archivo sea Todos los archivos, no .txt.
  5. Si usas Plex o Syncthing legítimamente, edita el script antes de ejecutarlo y comenta las líneas correspondientes (añade # al principio).
  6. Ejecuta el script por primera vez desde PowerShell (esto aplicará todos los bloqueos Y creará las tres tareas programadas):
    C:\Scripts\Bloqueo-P2P.ps1
  7. Verifica que las tres tareas programadas se crearon correctamente:
    Get-ScheduledTask -TaskName "Bloqueo-P2P-*"
  8. Verifica el resultado con:
    Get-NetFirewallRule | Where-Object {$_.DisplayName -like "BLOQUEO_P2P*"}
  9. Reinicia el equipo: la tarea de inicio se ejecutará automáticamente y el bloqueo quedará reaplicado.

💻 Script unificado de bloqueo P2P (copia y pega)

# ============================================================
# Script: Bloqueo P2P Windows + 3 tareas programadas
# Autor:  seguridadenmipc.com
# Compat: Windows 10 / 11 / Server 2019+
# Uso:    Ejecutar como administrador (1a vez)
#         Despues se reaplica solo: inicio, logon y cada 10 min
# Ruta:   C:\Scripts\Bloqueo-P2P.ps1
# Idempotente: no duplica reglas si ya existen
# ============================================================

# 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
$logDir = "C:\Logs"
if (-not (Test-Path $logDir)) { New-Item -ItemType Directory -Path $logDir | Out-Null }
$log = "$logDir\bloqueo-p2p.log"
Start-Transcript -Path $log -Append | Out-Null

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

# Funcion auxiliar idempotente: crea regla solo si no existe
function Add-P2PRule {
    param($Name, $Params)
    if (-not (Get-NetFirewallRule -DisplayName $Name -ErrorAction SilentlyContinue)) {
        try {
            New-NetFirewallRule -DisplayName $Name @Params | Out-Null
            Write-Host "[OK] Regla creada: $Name" -ForegroundColor Green
        } catch {
            Write-Host "[X] Error en regla $Name : $_" -ForegroundColor Red
        }
    }
}

# 3. METODO 1: bloqueo por puerto (BitTorrent, qBittorrent, Syncthing, Plex)
Write-Host "`n--- Metodo 1: bloqueo por puerto ---" -ForegroundColor Yellow

Add-P2PRule "BLOQUEO_P2P TCP 6881-6889" @{
    Direction='Outbound'; Protocol='TCP'; RemotePort='6881-6889'; Action='Block'
}
Add-P2PRule "BLOQUEO_P2P UDP 6881-6889" @{
    Direction='Outbound'; Protocol='UDP'; RemotePort='6881-6889'; Action='Block'
}
Add-P2PRule "BLOQUEO_P2P tracker 6969" @{
    Direction='Outbound'; Protocol='TCP'; RemotePort='6969'; Action='Block'
}
Add-P2PRule "BLOQUEO_P2P qBittorrent 51413" @{
    Direction='Outbound'; Protocol='TCP'; RemotePort='51413'; Action='Block'
}
Add-P2PRule "BLOQUEO_P2P qBittorrent UDP 51413" @{
    Direction='Outbound'; Protocol='UDP'; RemotePort='51413'; Action='Block'
}
# COMENTA la siguiente linea si usas Syncthing legitimamente:
Add-P2PRule "BLOQUEO_P2P Syncthing 22000" @{
    Direction='Outbound'; Protocol='TCP'; RemotePort='22000'; Action='Block'
}
# COMENTA la siguiente linea si usas Plex Media Server legitimamente:
Add-P2PRule "BLOQUEO_P2P Plex 32400" @{
    Direction='Outbound'; Protocol='TCP'; RemotePort='32400'; Action='Block'
}

# 4. METODO 2: bloqueo por ejecutable (solo si la app esta instalada)
Write-Host "`n--- Metodo 2: bloqueo por ejecutable ---" -ForegroundColor Yellow

$ejecutables = @(
    @{ Name = "BLOQUEO_P2P uTorrent";     Path = "C:\Program Files\uTorrent\uTorrent.exe" },
    @{ Name = "BLOQUEO_P2P qBittorrent";  Path = "C:\Program Files\qBittorrent\qbittorrent.exe" },
    @{ Name = "BLOQUEO_P2P BitTorrent";   Path = "C:\Program Files\BitTorrent\BitTorrent.exe" },
    @{ Name = "BLOQUEO_P2P Transmission"; Path = "C:\Program Files\Transmission\transmission-qt.exe" },
    @{ Name = "BLOQUEO_P2P Deluge";       Path = "C:\Program Files\Deluge\deluge.exe" }
)
foreach ($exe in $ejecutables) {
    if (Test-Path $exe.Path) {
        Add-P2PRule $exe.Name @{
            Direction='Outbound'; Program=$exe.Path; Action='Block'
        }
    }
}

# 5. METODO 3: bloqueo de rangos de IP de trackers conocidos
Write-Host "`n--- Metodo 3: bloqueo de rangos de IP ---" -ForegroundColor Yellow
Add-P2PRule "BLOQUEO_P2P IP_0.0.0.0/8" @{
    Direction='Outbound'; RemoteAddress='0.0.0.0/8'; Action='Block'
}

# 6. Resumen del estado actual
$totalReglas = (Get-NetFirewallRule | Where-Object { $_.DisplayName -like "BLOQUEO_P2P*" }).Count
Write-Host "`n[i] Total de reglas BLOQUEO_P2P activas: $totalReglas" -ForegroundColor Cyan

# 7. CREAR LAS 3 TAREAS PROGRAMADAS (solo si no existen)
$scriptPath = "C:\Scripts\Bloqueo-P2P.ps1"

# 7a. Tarea: ejecutar al inicio de Windows
try {
    if (-not (Get-ScheduledTask -TaskName "Bloqueo-P2P-Inicio" -ErrorAction SilentlyContinue)) {
        $action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
            -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`" Inicio"
        $trigger = New-ScheduledTaskTrigger -AtStartup
        $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" `
            -LogonType ServiceAccount -RunLevel Highest
        $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
            -DontStopIfGoingOnBatteries -StartWhenAvailable `
            -ExecutionTimeLimit (New-TimeSpan -Minutes 3)
        Register-ScheduledTask -TaskName "Bloqueo-P2P-Inicio" `
            -Action $action -Trigger $trigger -Principal $principal -Settings $settings `
            -Description "Reaplica bloqueo P2P al iniciar Windows - seguridadenmipc.com" | Out-Null
        Write-Host "[OK] Tarea 'Bloqueo-P2P-Inicio' creada (al arrancar)." -ForegroundColor Green
    } else {
        Write-Host "[i] Tarea 'Bloqueo-P2P-Inicio' ya existe." -ForegroundColor Cyan
    }
} catch { Write-Host "[X] Error en tarea Inicio: $_" -ForegroundColor Red }

# 7b. Tarea: ejecutar al iniciar sesion (logon / reinicio desde sesion)
try {
    if (-not (Get-ScheduledTask -TaskName "Bloqueo-P2P-Logon" -ErrorAction SilentlyContinue)) {
        $action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
            -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`" Logon"
        $trigger = New-ScheduledTaskTrigger -AtLogOn
        $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" `
            -LogonType ServiceAccount -RunLevel Highest
        $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
            -DontStopIfGoingOnBatteries -StartWhenAvailable `
            -ExecutionTimeLimit (New-TimeSpan -Minutes 3)
        Register-ScheduledTask -TaskName "Bloqueo-P2P-Logon" `
            -Action $action -Trigger $trigger -Principal $principal -Settings $settings `
            -Description "Reaplica bloqueo P2P al iniciar sesion - seguridadenmipc.com" | Out-Null
        Write-Host "[OK] Tarea 'Bloqueo-P2P-Logon' creada (al iniciar sesion)." -ForegroundColor Green
    } else {
        Write-Host "[i] Tarea 'Bloqueo-P2P-Logon' ya existe." -ForegroundColor Cyan
    }
} catch { Write-Host "[X] Error en tarea Logon: $_" -ForegroundColor Red }

# 7c. Tarea: ejecutar cada 10 minutos
try {
    if (-not (Get-ScheduledTask -TaskName "Bloqueo-P2P-10min" -ErrorAction SilentlyContinue)) {
        $action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
            -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`" Repeticion10min"
        $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(2) `
            -RepetitionInterval (New-TimeSpan -Minutes 10)
        $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" `
            -LogonType ServiceAccount -RunLevel Highest
        $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
            -DontStopIfGoingOnBatteries -StartWhenAvailable `
            -ExecutionTimeLimit (New-TimeSpan -Minutes 3)
        Register-ScheduledTask -TaskName "Bloqueo-P2P-10min" `
            -Action $action -Trigger $trigger -Principal $principal -Settings $settings `
            -Description "Reaplica bloqueo P2P cada 10 minutos - seguridadenmipc.com" | Out-Null
        Write-Host "[OK] Tarea 'Bloqueo-P2P-10min' creada (cada 10 min)." -ForegroundColor Green
    } else {
        Write-Host "[i] Tarea 'Bloqueo-P2P-10min' ya existe." -ForegroundColor Cyan
    }
} catch { Write-Host "[X] Error en tarea 10min: $_" -ForegroundColor Red }

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

↩️ Script de reversión (elimina las 3 tareas + todas las reglas BLOQUEO_P2P)

Si necesitas restaurar las conexiones P2P (por ejemplo, para usar Plex o Syncthing legítimamente, o para diagnosticar un problema de red), ejecuta este script. Importante: elimina primero las tres tareas programadas, porque si no, el bloqueo volverá a aplicarse automáticamente al cabo de 10 minutos como mucho.

# ============================================================
# Revertir bloqueo P2P Windows
# ============================================================

# 1. ELIMINAR PRIMERO las 3 tareas programadas
# (sino se reaplicaran las reglas en max. 10 minutos)
$tareas = @("Bloqueo-P2P-Inicio", "Bloqueo-P2P-Logon", "Bloqueo-P2P-10min")
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. Eliminar todas las reglas de firewall con prefijo BLOQUEO_P2P
$reglas = Get-NetFirewallRule | Where-Object { $_.DisplayName -like "BLOQUEO_P2P*" }
$total = $reglas.Count
if ($total -gt 0) {
    $reglas | Remove-NetFirewallRule
    Write-Host "[OK] $total reglas BLOQUEO_P2P eliminadas." -ForegroundColor Green
} else {
    Write-Host "[i] No habia reglas BLOQUEO_P2P activas." -ForegroundColor Cyan
}

Write-Host ""
Write-Host "[OK] Bloqueo P2P revertido por completo." -ForegroundColor Green
Write-Host "    Logs preservados en C:\Logs\bloqueo-p2p.log" -ForegroundColor Yellow

⚠️ Riesgos y efectos reales del script

Antes de ejecutar este script conviene entender exactamente qué cambios aplica y qué funciones de Windows pueden verse afectadas. Es un script de filtrado de red: no toca cuentas, contraseñas, autenticación ni el arranque del sistema. Solo afecta a las conexiones de red salientes en los puertos y ejecutables específicos del bloque P2P.

Función del sistema¿Se ve afectada?Detalle técnico
Inicio de sesión local🟢 NoEl script no toca cuentas, contraseñas ni políticas de autenticación
Inicio de Windows🟢 NoLa tarea de inicio se ejecuta en background tras el arranque, sin bloquearlo
Reinicio / apagado🟢 NoNo modifica el subsistema de apagado ni BCD
UEFI / arranque seguro🟢 NoNo afecta BCD, Secure Boot ni particiones EFI
Banca, Gmail y plataformas web🟢 NoHTTPS (443) y HTTP (80) no están entre los puertos bloqueados
Visualización de sitios web🟢 NoEl navegador no usa puertos P2P; tráfico HTTP/HTTPS intacto
Clientes torrent (uTorrent, qBittorrent)🔴 Sí (a propósito)Quedan completamente bloqueados por puerto y por ejecutable
Plex Media Server🔴 Sí (configurable)Bloqueado por defecto; comenta la línea correspondiente si lo usas legítimamente
Syncthing🔴 Sí (configurable)Bloqueado por defecto; comenta la línea correspondiente si lo usas legítimamente
Streaming Netflix / Disney+ / etc.🟢 NoEl streaming comercial usa HTTPS/HLS sobre 443, no puertos P2P
Videojuegos online🟡 PosibleAlgunos juegos usan UDP en rangos altos; revisa la lista de puertos del juego antes de ejecutar
Carga de CPU🟡 MínimaCada ejecución dura menos de 1 segundo; 144 ejecuciones diarias = unos 2 min/día
🚨 Casos en los que NO debes ejecutar el script sin precauciones:
  • Si usas Plex Media Server o Emby en el puerto 32400 para tu mediateca doméstica (comenta la línea de Plex antes de ejecutar)
  • Si usas Syncthing para sincronización descentralizada de archivos entre tus equipos (comenta la línea de Syncthing)
  • Si juegas a videojuegos online que usan UDP en rangos altos (revisa los puertos del juego en su documentación oficial)
  • Si tu equipo es gestionado por el departamento de IT de una empresa (puede entrar en conflicto con reglas de firewall corporativas)
  • Si dependes de aplicaciones empresariales de transferencia de archivos sobre puertos no estándar (Signiant, Aspera, etc.)
En todos estos casos, edita el script comentando con # las líneas de las aplicaciones que quieres preservar antes de ejecutarlo.
⚠️ Por qué cada 10 minutos y no cada hora: Las aplicaciones P2P modernas (qBittorrent, uTorrent) crean automáticamente sus propias reglas de firewall durante la instalación, las actualizaciones automáticas y a veces incluso al iniciarse. También cambian de puerto dinámicamente. Una frecuencia de revisión de cada hora dejaría una ventana demasiado amplia para que la app restableciera la conectividad. Cada 10 minutos es el equilibrio adecuado entre eficacia y consumo de recursos: 144 ejecuciones diarias de menos de 1 segundo cada una suman unos 2 minutos de CPU al día. Si te parece excesivo, puedes ajustar la frecuencia editando la tarea en taskschd.msc.

En equipos domésticos donde no se usan aplicaciones P2P legítimas, este script es seguro y proporciona el bloqueo más robusto y persistente posible mediante reglas de firewall nativas, sin instalar software adicional ni modificar configuraciones del sistema fuera del firewall.


🔎 ¿Cómo verificar que el bloqueo de puertos P2P está activo?

💡 ¿Cómo comprobar si las reglas de firewall P2P están aplicadas?

Ejecuta estos comandos en PowerShell como administrador para verificar el estado de las reglas de firewall y de las tareas programadas:

# Verificar conexiones activas en puertos P2P
netstat -an | findstr "6881 6969 51413 22000 32400"

# Listar todas las reglas de firewall con prefijo BLOQUEO_P2P
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "BLOQUEO_P2P*"} | `
  Select-Object DisplayName, Enabled, Action, Direction

# Verificar que las 3 tareas programadas existen y están activas
Get-ScheduledTask -TaskName "Bloqueo-P2P-*" | `
  Select-Object TaskName, State, LastRunTime, LastTaskResult

✔ Si netstat no devuelve conexiones ESTABLISHED en esos puertos, el bloqueo está activo. El listado de reglas en wf.msc filtrado por BLOQUEO_P2P confirma visualmente que las reglas de firewall están habilitadas, y las tres tareas deben aparecer en estado Ready con LastTaskResult = 0.

✅ Checklist de verificación tras aplicar el bloqueo P2P

Confirma cada punto tras ejecutar el script de bloqueo:

  • netstat -an | findstr "6881 6969 51413 22000 32400" no devuelve resultados ESTABLISHED
  • Get-NetFirewallRule | Where-Object {$_.DisplayName -like "BLOQUEO_P2P*"} lista todas las reglas creadas
  • ☐ En wf.msc (Firewall de Windows con seguridad avanzada) las reglas BLOQUEO_P2P aparecen en color verde (activas)
  • ☐ El firewall de Windows está activo en los tres perfiles: dominio, privado y público
  • ☐ Las tres tareas Bloqueo-P2P-* aparecen en estado Ready: Get-ScheduledTask -TaskName "Bloqueo-P2P-*"
  • ☐ El campo LastTaskResult de cada tarea devuelve 0 (éxito)
  • ☐ Si apliqué el Método 2, verifico que la ruta del ejecutable del cliente P2P es correcta
  • ☐ Si tengo Plex o Syncthing y los necesito, comenté las líneas correspondientes antes de ejecutar el script
  • ☐ El log C:\Logs\bloqueo-p2p.log registra las ejecuciones sin errores
  • ☐ Windows Defender está activo como capa complementaria de detección de malware

🧠 Buenas prácticas adicionales para reducir la superficie de ataque de red

Además de bloquear los puertos P2P con PowerShell, estas medidas complementarias de hardening de red refuerzan la protección del equipo frente a vectores de distribución de malware y accesos no autorizados:

  • 🚫 No descargues archivos de fuentes no verificadas; los payloads maliciosos en torrents de software pirata son el principal vector de ransomware doméstico
  • 🔄 Mantén Windows y las reglas de firewall actualizadas; las tareas programadas de este script ya se encargan de reaplicar el bloqueo si una actualización lo modifica
  • 🔌 Desactiva los servicios de compartición Windows innecesarios (SMBv1, LLMNR, NetBIOS) para cerrar la superficie de ataque de red completa
  • 🔑 Combina con el hardening de cuentas Windows y el principio de mínimo privilegio
  • 📱 Activa el 2FA en todas tus cuentas para proteger las credenciales en caso de credential stuffing
  • 🌐 Evita redes WiFi públicas sin VPN; los puertos P2P expuestos en redes públicas amplifican el riesgo de exposición de IP
  • 📊 Monitoriza el firewall periódicamente con Get-NetFirewallRule para detectar reglas que puedan haber sido añadidas o modificadas
Recomendación oficial CISA: CISA — Malware and Ransomware Protection Guidance establece el bloqueo de puertos no estándar como control preventivo prioritario para reducir la superficie de ataque de red y limitar la distribución de malware.
🌐 El firewall no protege lo que ya salió: la seguridad online empieza antesBloquear los puertos P2P en el firewall de Windows cierra una vía de entrada de malware, pero no protege los datos que ya circulan fuera del equipo. Las credenciales que introduces en sitios de descarga directa, los registros en plataformas de streaming no oficial o los formularios de servicios de dudosa reputación pueden terminar en bases de datos filtradas en la dark web, alimentando campañas de credential stuffing que usan esas combinaciones de usuario y contraseña para intentar acceder a tus cuentas bancarias, correo y redes sociales. El hardening de red en Windows y la protección de la identidad digital online son dos capas de la misma estrategia: una protege el sistema, la otra protege al usuario. Para ver cómo encajan todas las medidas de protección en una sola guía práctica, accede a nuestro plan completo de seguridad online para proteger tu vida digital en 2026.

Bloquear P2P Windows: antes y después de aplicar las reglas

🆚 Bloquear P2P Windows: antes y después de aplicar las reglas

CaracterísticaSin bloquear puertos P2PCon bloqueo de puertos P2P
Riesgo de malware P2P🔴 Alto; payloads en torrents sin filtro de firewall🟢 Muy bajo; conexiones bloqueadas antes de establecerse
Exposición de IP pública🔴 Alta; miles de nodos P2P conocen tu dirección IP🟢 Eliminada; sin conexiones de salida a trackers
Puertos no estándar abiertos🔴 Múltiples puertos innecesarios activos🟢 Solo los puertos necesarios para la actividad legítima
Uso como nodo proxy malicioso🟠 Posible según MITRE T1090🟢 Bloqueado por reglas de firewall de salida
Bloqueo por puerto dinámico🔴 Los clientes evaden el bloqueo cambiando de puerto🟢 Método 2 bloquea el ejecutable completo independientemente del puerto
Persistencia tras actualizaciones🔴 Las apps P2P recrean sus reglas y se autoactualizan🟢 Tareas programadas reaplican el bloqueo cada 10 min
Auditoría y reversibilidad🔴 Sin trazabilidad de las reglas activas🟢 Prefijo BLOQUEO_P2P permite auditar y revertir en un comando
Alineación con CIS Benchmark🔴 Incumple controles de puertos no estándar🟢 Alineado con MITRE T1571 y recomendaciones CISA
Recomendado

🏁 Conclusión

Bloquear P2P Windows con PowerShell es una medida de hardening de red eficaz para reducir la superficie de ataque y eliminar vectores de distribución de malware sin necesidad de software adicional. Aplicar las tres capas de bloqueo —por puertos no estándar, por ejecutable y por rangos de IP de trackers— ofrece la protección más completa frente a los riesgos de las redes peer-to-peer, incluyendo los intentos de evasión mediante asignación de puertos dinámica.

Lo más valioso del enfoque de esta guía es la combinación del prefijo BLOQUEO_P2P con las tres tareas programadas (inicio, logon y cada 10 minutos): todas las reglas de firewall quedan identificadas de forma centralizada en wf.msc, se pueden auditar o revertir con un único comando, y se reaplican automáticamente con frecuencia suficiente para anular cualquier intento de las apps P2P de restablecer conectividad. Es una implementación limpia, auditable, completamente reversible y alineada con las recomendaciones de MITRE ATT&CK y CISA.

  • 🔒 Aplica los tres métodos en orden: puertos no estándar primero, luego ejecutable, luego rangos de IP de trackers
  • 🔒 Verifica con netstat inmediatamente tras aplicar; sin resultados ESTABLISHED en los puertos bloqueados confirma que las reglas de firewall están activas
  • 🔒 El prefijo BLOQUEO_P2P es clave para la auditoría: permite revisar, modificar y revertir todas las reglas en un comando sin errores
  • 🔒 Las tres tareas programadas garantizan que el bloqueo persista frente a actualizaciones de las apps P2P, reinstalaciones y cambios de puerto dinámico
  • 🔒 Combina con el hardening de Windows 11 para cerrar también otros vectores de red como NetBIOS, SMBv1 y RDP expuesto

Comparte este artículo con quien tenga clientes torrent instalados en Windows. Un cliente P2P activo con puertos no estándar abiertos es un vector de distribución de malware y un nodo proxy potencial para tráfico C2 malicioso según MITRE T1090.


❓ Preguntas frecuentes sobre bloquear P2P Windows

¿Cómo bloquear P2P Windows con PowerShell?

👉 Se usa el cmdlet New-NetFirewallRule en PowerShell ejecutado como administrador, especificando los puertos no estándar P2P más comunes (6881-6889, 51413, 22000, 32400) con el parámetro -Action Block. El proceso no requiere software adicional, es completamente reversible mediante el prefijo BLOQUEO_P2P y está alineado con las recomendaciones MITRE ATT&CK T1571 y CISA.

¿Es legal bloquear puertos P2P en Windows?

👉 Sí, es completamente legal. Bloquear P2P Windows es una medida de hardening de red recomendada por organismos como CISA para reducir la superficie de ataque y limitar los vectores de distribución de malware.

¿Bloquear P2P Windows afecta a la navegación normal?

👉 No. Las reglas de firewall solo cierran los puertos no estándar específicos de redes peer-to-peer. La navegación web (puertos 80/443), el correo electrónico y otros servicios de red no se ven afectados porque usan puertos completamente distintos.

¿Se puede revertir el bloqueo de puertos P2P en Windows?

👉 Sí. Ejecuta el script de reversión incluido en esta guía para eliminar las tres tareas programadas y todas las reglas con prefijo BLOQUEO_P2P en un único paso. Es importante eliminar primero las tareas programadas, porque si no, el bloqueo volverá a aplicarse en menos de 10 minutos.

¿Es necesario bloquear P2P Windows en casa?

👉 Sí si quieres reducir el riesgo de infección por malware. Las redes P2P son uno de los principales vectores de distribución de ransomware y troyanos de acceso remoto (RAT), especialmente en archivos de software pirata o cracks donde los payloads maliciosos están incrustados.

¿El bloqueo de puertos P2P afecta a aplicaciones legítimas?

👉 Puede afectar a Plex o Syncthing si usan los puertos bloqueados. En ese caso, edita el script y comenta con # las líneas correspondientes antes de ejecutarlo. Para un control aún más preciso, usa solo el Método 2 (bloqueo por ejecutable) sobre los clientes torrent que quieras bloquear, dejando intactos los puertos de Plex y Syncthing.

¿Qué es MITRE T1571 y por qué justifica bloquear P2P Windows?

👉 La técnica MITRE ATT&CK T1571 (Non-Standard Port) documenta el uso de puertos no estándar para evadir controles de seguridad perimetrales y establecer comunicaciones C2 con servidores de comando y control. Los puertos P2P (6881-6889, 51413) son exactamente este tipo de puertos no estándar que los atacantes aprovechan para distribuir payloads maliciosos y mantener canales de comunicación ocultos.

¿Qué diferencia hay entre bloquear por puerto y bloquear por ejecutable?

👉 El bloqueo por puerto solo actúa sobre un número de puerto concreto; los clientes P2P modernos evaden este bloqueo usando asignación de puertos dinámica. El bloqueo por ejecutable con -Program aplica la regla de firewall al proceso completo: ninguna conexión de ese ejecutable puede establecerse independientemente del puerto elegido. Para máxima protección, aplica ambos métodos en combinación.

¿Las tres tareas programadas ralentizan el equipo?

👉 No de forma perceptible. Cada ejecución dura menos de 1 segundo, se realiza en background como SYSTEM y en modo oculto (sin ventana visible). La carga combinada de las tres tareas (inicio + logon + 144 ejecuciones diarias cada 10 minutos) suma unos 2 minutos de CPU al día en un equipo doméstico. El script es idempotente: comprueba si cada regla ya existe antes de crearla, así que las ejecuciones repetidas no generan duplicados ni operaciones innecesarias.

¿Cómo desactivo las tareas programadas si quiero parar el bloqueo P2P?

👉 Tienes dos opciones. La rápida: ejecuta el script de reversión incluido en esta guía, que elimina las tres tareas (Bloqueo-P2P-Inicio, Bloqueo-P2P-Logon y Bloqueo-P2P-10min) y todas las reglas de firewall en un solo paso. La manual: abre el Programador de tareas (Win+R → taskschd.msc), localiza las tres tareas en la Biblioteca y pulsa Eliminar en cada una. Si solo eliminas las tareas pero dejas las reglas, el bloqueo seguirá activo pero no se reaplicará automáticamente.

¿Puedo cambiar la frecuencia de la tarea de cada 10 minutos si me parece excesiva?

👉 Sí. Abre el Programador de tareas, localiza Bloqueo-P2P-10min, ve a la pestaña Desencadenadores, edita el desencadenador y cambia el campo "Repetir cada" a 30 minutos, 1 hora o el intervalo que prefieras. Ten en cuenta que cuanto mayor sea el intervalo, más tiempo tendrá una app P2P recién instalada o actualizada para restablecer su conectividad antes de que el script vuelva a bloquearla. Cada 10 minutos es el equilibrio recomendado entre eficacia y consumo de recursos.

 

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