Назад к обновлениям
UpdatedAug 1, 2026

no-gdid — Updated!

Прочитайте, поймите и заглушите идентификатор устройства Windows GDID (идентификатор, который отслеживал хакера через VPN). Проверено на реальной виртуальной машине с Windows 11. Честно: он подавляет отправку данных, но не делает вас анонимным.

Поделиться

no-gdid

Прочитайте, поймите и заглушите Windows Global Device Identifier (GDID) — скрытый идентификатор устройства, привязанный к учётной записи, который помог ФБР найти подозреваемого, использовавшего VPN.

⚠️ Честный дисклеймер сразу: этот инструмент не стирает ваш GDID и не делает вас анонимным. GDID живёт на серверах Microsoft, привязанный к вашей учётной записи Microsoft, с момента входа в систему. no-gdid не даёт вашей машине повторно регистрировать и передавать его — он не может отменить то, что Microsoft уже имеет. Для настоящей конфиденциальности при чувствительной работе единственный надёжный ответ — не полагаться на Windows.

Каждый вывод здесь был воспроизведён на реальной виртуальной машине Windows 11 Pro (сборка 26200) перед тем, как был записан. Ничего теоретического. Смотрите docs/technical-writeup.md для доказательств, помеченных по уровню уверенности — и Как это было создано для того, что эта проверка на самом деле включала.


История

В 2026 году ФБР отследило подозреваемого из Scattered Spider, который менял IP-адреса через VPN в трёх странах. Его выдал GDID — идентификатор устройства, который Microsoft привязывает к установке Windows и передаёт правоохранительным органам по повестке. Он не меняется при смене IP-адреса. Этот репозиторий разбирает этот идентификатор по частям и показывает, что вы можете реально с ним сделать.

Что такое GDID на самом деле

Не аппаратный хэш — 64-битный MSA Device PUID, сгенерированный login.live.com, кэшируемый локально в реестре, зарегистрированный в графе Device Directory Service от Microsoft и передаваемый через 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)

Значение LID в реестре (hex) соответствует серверному значению g:<decimal>. Все PUID устройств Windows находятся в пространстве имён 0x0018… (проверено: наше тестовое значение и значение из судебных документов попадают в него).

Быстрый старт

Все скрипты написаны на PowerShell, содержат только ASCII и работают в любой кодовой странице. Откройте PowerShell с повышенными правами.

# 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

Сначала протестируйте в виртуальной машине со снимком. Мера защиты отключает системные службы.

Что делает каждая часть

ПутьНазначениеВносит изменения?
audit/Get-GDID-Audit.ps1Читает ваш GDID + состояние цепочки из 5 службНет
audit/Get-GDID-Traffic.ps1Определяет реальные сетевые конечные точки цепочкиНет
mitigate/Block-GDID-Endpoints.ps1Блокирует конечные точки DDS/DO в hosts (сохраняет login.live.com)С -Apply
mitigate/Disable-GDID-Services.ps1Отключает CDPSvc/DoSvc/CDPUserSvc (сохраняет wlidsvc)С -Apply
mitigate/Revert-GDID.ps1Восстанавливает службы + очищает hostsДа
experiments/Проверки, требующие снимка, для подтверждения выводовРазрушительные, требуют снимка
docs/Техническое описание с источниками + FAQ

Что мы доказали (а что не работает)

  • Чтение вашего GDID работает. Он прямо там, в реестре.
  • Удаление — косметическая мера. Удалите ключ, перезапустите wlidsvc, запустите любое приложение Microsoft — он вернётся идентичным с сервера. Он привязан к вашей учётной записи.
  • Отключение «телеметрии» (DiagTrack) ничего не даёт. GDID передаётся через CDP/Delivery Optimization, а не через классическую телеметрию. Этот распространённый совет ошибочен.
  • Вы можете заглушить передачу данных без выхода из системы. Отключите службы CDP/DO и заблокируйте их конечные точки; цепочка замолчит, а ваша учётная запись Microsoft продолжит работать. Предупреждение: DoSvc отказывается от Set-Service, даже если вы администратор — он отключается через реестр Start=4 (см. описание).
  • Прошлого не вернуть. PUID уже существует на стороне сервера. Блокировка уменьшает будущую корреляцию; она не отменяет того, что было отправлено.

Компромиссы

Отключение этих служб нарушает одноранговое кэширование Delivery Optimization, Phone Link / «Continue on PC» и общий доступ поблизости. wlidsvc и login.live.com не затрагиваются, поэтому вход в учётную запись Microsoft продолжает работать.

Документация

  • docs/technical-writeup.md — полная цепочка, пути в реестре, конечные точки и каждое утверждение, помеченное по уровню уверенности ([COURT], [OBSERVED], [STATIC], [NO-GDID VÉRIFIÉ]).
  • docs/FAQ.md — краткие ответы на очевидные вопросы.

Как это было создано

Этот проект был исследован и написан с серьёзной помощью ИИ (Claude). История коммитов говорит об этом, и этот раздел тоже — вам не придётся копаться в поисках этой информации.

Что это значит на практике, честно:

  • ИИ управлял исследованием. Он читал материалы обратной разработки, выстраивал карту цепочки служб, предлагал гипотезы для проверки и написал большую часть PowerShell и текста, который вы читаете.
  • Я сам запускал каждый тест на своей собственной виртуальной машине. Windows 11 Pro, сборка 26200, в VMware, вход в реальную учётную запись Microsoft, снимок перед каждым разрушительным шагом. GDID на скриншотах принадлежит этой виртуальной машине, поэтому я спокойно его показываю.
  • Важные утверждения проверялись вручную, а не принимались на веру. Удаление ключа LID и перезапуск wlidsvc действительно возвращает тот же самый идентификатор, как только любое приложение Microsoft запрашивает его — я видел это своими глазами. DiagTrack был уже остановлен на этой виртуальной машине, а GDID всё ещё был там, что и похоронило совет «просто отключите телеметрию». DoSvc действительно отказывается от Set-Service даже от имени администратора, поэтому скрипт действует через реестр. Каждое из этих утверждений начиналось как гипотеза ИИ, и несколько из них были ошибочными, пока не были проверены.
  • Что не моё, я не приписываю себе. Моё тестирование было на Windows 11 Pro с учётной записью Microsoft. Случай с локальной учётной записью оставался открытым вопросом, пока @Berbe не добавил наблюдение на Windows 10 LTSC 19044.7417 (LID/GDID существует с момента установки даже с локальной учётной записью). В описании записано, с какой сборки взято каждое наблюдение — если утверждение не содержит номера сборки, считайте его менее надёжным.

Если вы найдёте здесь утверждение, которое не подтверждается на вашей машине, откройте issue с вашим номером сборки — это ценнее для репозитория, чем простое согласие.

Благодарности

  • Основная обратная разработка: SmtimesIWndr/gdid-reversal.
  • Наблюдение о локальной учётной записи на Windows 10 LTSC: @Berbe (PR #3).
  • Факты дела: United States v. Peter Stokes, N.D. Ill., июль 2026 г.

Лицензия

MIT. Защитный инструментарий, ориентированный на приватность. Используйте его на машинах, которыми владеете.

Категории