
Lee, comprende y silencia el identificador de dispositivo GDID de Windows (el ID que rastreó a un hacker a través de una VPN). Verificado en una VM real con Win11. Honesto: silencia los reportes, no te hace anónimo.
Lee, comprende y silencia el Identificador Global de Dispositivo (GDID) de Windows: el ID de dispositivo oculto por cuenta que ayudó al FBI a localizar a un sospechoso que usaba una VPN.
⚠️ Aviso honesto desde el principio: esta herramienta no borra tu GDID y no te hace anónimo. El GDID vive en los servidores de Microsoft, vinculado a tu cuenta de Microsoft, en el momento en que inicias sesión.
no-gdidevita que tu máquina lo vuelva a registrar y reportar; no puede deshacer lo que Microsoft ya tiene. Para una privacidad real en trabajos sensibles, la única respuesta fiable es no depender de Windows.
Cada hallazgo de aquí se reprodujo en una VM real de Windows 11 Pro (build 26200) antes de escribirse. Nada es teórico. Consulta docs/technical-writeup.md para ver las evidencias, etiquetadas por nivel de confianza — y Cómo se construyó esto para saber qué implicó realmente esa verificación.
En 2026, el FBI rastreó a un sospechoso de Scattered Spider que rotaba IPs a través de una VPN en tres países. Lo que lo delató fue un GDID, un identificador de dispositivo que Microsoft vincula a una instalación de Windows y comparte con las autoridades mediante una citación. No cambia cuando cambias tu IP. Este repositorio desmonta ese identificador y muestra qué puedes hacer realmente al respecto.
No es un hash de hardware, sino un PUID de dispositivo MSA de 64 bits emitido por login.live.com, almacenado en caché localmente en el registro, registrado en el grafo del Device Directory Service de Microsoft y reportado a través de Delivery Optimization.
wlidsvc ── mint ──► PUID from login.live.com
│ cached at HKCU\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties\LID
CDPSvc / CDPUserSvc ── register ──► Device Directory Service (dds.microsoft.com)
│
DoSvc ── report ──► UCDOStatus.GlobalDeviceId (Azure Monitor)
El LID del registro (hex) se corresponde con el valor del servidor g:<decimal>. Todos los PUID de dispositivos Windows se encuentran en el espacio de nombres 0x0018… (verificado: nuestro valor de prueba y el de la presentación judicial comparten ese espacio).
Todos los scripts son de PowerShell, solo ASCII, y funcionan con cualquier página de códigos. Abre un PowerShell elevado.
# 1. See your own GDID and which parts of the chain are active (read-only, safe)
powershell -ExecutionPolicy Bypass -File .\audit\Get-GDID-Audit.ps1
# 2. Preview what the mitigation would change (no changes yet)
powershell -ExecutionPolicy Bypass -File .\mitigate\Disable-GDID-Services.ps1
powershell -ExecutionPolicy Bypass -File .\mitigate\Block-GDID-Endpoints.ps1
# 3. Apply it: stop the report chain + blackhole its endpoints, keep MSA working
powershell -ExecutionPolicy Bypass -File .\mitigate\Disable-GDID-Services.ps1 -Apply
powershell -ExecutionPolicy Bypass -File .\mitigate\Block-GDID-Endpoints.ps1 -Apply
# Undo everything
powershell -ExecutionPolicy Bypass -File .\mitigate\Revert-GDID.ps1
Prueba primero en una VM con una instantánea. La mitigación deshabilita servicios del sistema.
wlidsvc, toca cualquier aplicación de Microsoft — vuelve idéntico desde el servidor. Está anclado a tu cuenta.DoSvc rechaza Set-Service incluso como administrador — se deshabilita mediante el registro Start=4 (consulta el informe).Deshabilitar estos servicios rompe el caché de pares de Delivery Optimization, Phone Link / "Continuar en el PC" y el uso compartido cercano. wlidsvc y login.live.com se dejan intactos para que el inicio de sesión de la cuenta de Microsoft siga funcionando.
docs/technical-writeup.md — la cadena completa, las rutas del registro, los endpoints y cada afirmación etiquetada por nivel de confianza ([COURT], [OBSERVED], [STATIC], [NO-GDID VÉRIFIÉ]).docs/FAQ.md — respuestas breves a las preguntas obvias.Este proyecto se investigó y se escribió con una fuerte asistencia de IA (Claude). El historial de commits lo dice, y esta sección también — no deberías tener que rebuscar para encontrarlo.
Qué significa eso en la práctica, con honestidad:
LID y reiniciar wlidsvc realmente hace que vuelva el mismo identificador en cuanto cualquier aplicación de Microsoft lo solicita — lo vi ocurrir. DiagTrack ya estaba detenido en esa VM y el GDID seguía allí, que es lo que desmontó el consejo de "solo desactiva la telemetría". DoSvc realmente rechaza Set-Service como administrador, por eso el script usa el registro en su lugar. Cada una de estas comenzó como una hipótesis de IA y varias eran erróneas hasta que se probaron.LID/GDID desde la instalación incluso con solo una cuenta local). El informe registra de qué build proviene cada hallazgo — si una afirmación no lleva número de build, trátala como más débil.Si encuentras aquí una afirmación que no se cumple en tu máquina, abre un issue con tu número de build — eso vale más para este repositorio que el acuerdo.
SmtimesIWndr/gdid-reversal.MIT. Herramienta defensiva y orientada a la privacidad. Úsala en máquinas que sean tuyas.
| Ruta | Propósito | ¿Escribe? |
|---|
audit/Get-GDID-Audit.ps1 | Lee tu GDID + el estado de la cadena de 5 servicios | No |
audit/Get-GDID-Traffic.ps1 | Mapea los endpoints de red reales de la cadena | No |
mitigate/Block-GDID-Endpoints.ps1 | Bloquea (blackhole) los endpoints DDS/DO en hosts (mantiene login.live.com) | Con -Apply |
mitigate/Disable-GDID-Services.ps1 | Deshabilita CDPSvc/DoSvc/CDPUserSvc (mantiene wlidsvc) | Con -Apply |
mitigate/Revert-GDID.ps1 | Restaura los servicios + limpia hosts | Sí |
experiments/ | Sondas controladas por instantánea usadas para demostrar los hallazgos | Destructivas, controladas |
docs/ | Informe técnico con fuentes + FAQ | — |