IBCOURSES / СПРАВОЧНИК ИБ

Windows Security 4769 — запрос билета службы Kerberos

К ответу ↓

4769 описывает запрос TGS на DC. Status показывает результат выдачи билета; отдельные данные приложения нужны, чтобы установить фактический доступ.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Инструкция по проверке

Windows Security 4769 — запрос билета службы Kerberos

4769 описывает запрос TGS на DC. Status показывает результат выдачи билета; отдельные данные приложения нужны, чтобы установить фактический доступ.

1. Уточните целевую службу

Запишите URL/ресурс, адрес назначения, клиент и период отказа без секретов. Сравните ожидаемую службу с ServiceName и ServiceSid. Не подставляйте автоматически SPN из имени веб-сайта: событие может показывать учётную запись службы, а маршрут включать посредника. Для связи с историей приложения нужен его собственный контекст.

2. Проверьте аудит и XML

Отбор выполняется на DC при наличии Audit Kerberos Service Ticket Operations. Подкатегория отличается от выдачи TGT. В документации есть версии 0 и 2, обновлённая форма зависит от исправлений DC. Сохраните System/Version и полную запись; отсутствие SessionKeyEncryptionType в старом XML не означает нулевое или слабое шифрование.

3. Сохраните отбор

Используйте читающий запрос по копии EVTX и узкому UTC-окну. Сохраняйте Provider, Computer, RecordID, Status и доступные именованные поля. Запрос намеренно не меняет SPN, ключи, политики или пароль службы. Нулевой результат сначала проверяется как возможная ошибка выбора DC, периода и источника; это ещё не вывод о прохождении запроса.

4. Разделите результат и причину

Учебный Status 0x7 показывает проблему поиска principal службы. Далее проверяют запрошенное имя, область и зарегистрированную службу, не объявляя это доказательством атаки. Status 0x0 во втором примере означает успешный результат TGS, но ничего не говорит о чтении файла или успешном ответе приложения. Уточнение SPN и реального объекта выполняется по сохранённой конфигурации владельца.

5. Сопоставьте сеанс без ложного объединения

При доступном ненулевом LogonGuid сравните его с 4624 на соответствующем целевом компьютере. Нулевой GUID не является общим ключом для всех таких событий. Уточните учётную запись, ресурс, время и источник; близость по минуте либо одинаковое имя недостаточны. Затем сопоставьте запись приложения, которая показывает авторизацию и результат конкретного действия.

6. Если цепочка обрывается

Успешный 4769 может не сопровождаться ожидаемым действием приложения, а отсутствие свежего TGT не делает TGS недействительным. Проверьте уже имевшийся билет, другой DC, охват аудита, ротацию и доставку. Отдельно зафиксируйте отсутствие журнала целевого сервиса. Не обходите проверки доверия и не переключайте шифрование ради диагностического результата.

Поля и область применения

Исходное полеСмысл и ограничения
System/Provider/@NameТочный Provider; одно число EventID не устанавливает источник.
System/ChannelSecurity в исходном XML, включая события из сохранённого EVTX.
System/ComputerУзел регистрации; DC и клиент/сервер приложения выполняют разные роли.
System/VersionВерсия схемы; отсутствующие новые поля не заполнять догадкой.
System/TimeCreated/@SystemTimeUTC источника. Учитывать погрешность часов и отдельно время доставки.
System/EventRecordIDПозиция в журнале конкретного узла, не глобальный идентификатор обмена.
TargetUserName / TargetDomainNameЗапрошенная учётная запись и область Kerberos (realm); имя может быть нормализованным и отсутствовать.
ServiceName / ServiceSidУчётная запись/объект службы; не считать ServiceName полным SPN без проверки.
StatusРезультат Kerberos; например, 0x7 означает, что principal службы не найден.
LogonGuidВспомогательный ключ связи с 4624 на целевом узле, если доступен и ненулевой.
IpAddress / IpPortОтправитель запроса к DC; контекст устройства подтверждается отдельно.
TicketEncryptionType / SessionKeyEncryptionTypeШифрование билета и сеансового ключа; вторая величина зависит от версии.

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

4769 v0: principal службы не найден

Фрагмент журнала. Сокращённый фрагмент документированного XML. Все имена, SID, адреса и время вымышлены; это не полный экспорт. Необязательные/добавочные поля опущены, отсутствие поля не означает ноль.

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Security-Auditing"/>
    <EventID>4769</EventID><Version>0</Version>
    <TimeCreated SystemTime="2026-11-04T07:01:30.000Z"/><EventRecordID>7004</EventRecordID>
    <Channel>Security</Channel><Computer>dc-01.example.test</Computer>
  </System>
  <EventData>
    <Data Name="TargetUserName">demo.user@EXAMPLE.TEST</Data>
    <Data Name="TargetDomainName">EXAMPLE.TEST</Data>
    <Data Name="ServiceName">missing-service</Data>
    <Data Name="ServiceSid">S-1-0-0</Data>
    <Data Name="TicketOptions">0x40810000</Data>
    <Data Name="TicketEncryptionType">0xffffffff</Data>
    <Data Name="IpAddress">::ffff:192.0.2.30</Data>
    <Data Name="IpPort">52002</Data>
    <Data Name="Status">0x7</Data>
    <Data Name="LogonGuid">{00000000-0000-0000-0000-000000000000}</Data>
    <Data Name="TransmittedServices">-</Data>
  </EventData>
</Event>

4769 v2: успешная выдача, возможный ключ связи

Фрагмент журнала. Сокращённый фрагмент документированного XML. Все имена, SID, адреса и время вымышлены; это не полный экспорт. Необязательные/добавочные поля опущены, отсутствие поля не означает ноль.

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Security-Auditing"/>
    <EventID>4769</EventID><Version>2</Version>
    <TimeCreated SystemTime="2026-11-04T07:02:00.000Z"/><EventRecordID>7005</EventRecordID>
    <Channel>Security</Channel><Computer>dc-01.example.test</Computer>
  </System>
  <EventData>
    <Data Name="TargetUserName">demo.user@EXAMPLE.TEST</Data>
    <Data Name="TargetDomainName">EXAMPLE.TEST</Data>
    <Data Name="ServiceName">app-svc</Data>
    <Data Name="ServiceSid">S-1-5-21-111-222-333-2101</Data>
    <Data Name="TicketOptions">0x40810000</Data>
    <Data Name="TicketEncryptionType">0x12</Data>
    <Data Name="IpAddress">::ffff:192.0.2.30</Data>
    <Data Name="IpPort">52003</Data>
    <Data Name="Status">0x0</Data>
    <Data Name="LogonGuid">{11111111-2222-4333-8444-555555555555}</Data>
    <Data Name="SessionKeyEncryptionType">0x12</Data>
  </EventData>
</Event>

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

PowerShell 7.5 / Windows: чтение разрешённой локальной копии EVTX. Заменить путь и учебное UTC-окно.

$referenceStartUtc = [DateTimeOffset]::Parse('2026-11-04T06:55:00Z').UtcDateTime
$referenceEndUtc = [DateTimeOffset]::Parse('2026-11-04T07:10:00Z').UtcDateTime
Get-WinEvent -FilterHashtable @{
  Path='C:\Evidence\Security.evtx'
  ProviderName='Microsoft-Windows-Security-Auditing'
  Id=4769
  StartTime=$referenceStartUtc
  EndTime=$referenceEndUtc
} | ForEach-Object {
  $referenceEvent = $_
  [xml]$referenceXml = $referenceEvent.ToXml()
  $referenceNs = [System.Xml.XmlNamespaceManager]::new($referenceXml.NameTable)
  $referenceNs.AddNamespace('e','http://schemas.microsoft.com/win/2004/08/events/event')
  $referenceData = @{}
  foreach ($referenceNode in $referenceXml.SelectNodes('/e:Event/e:EventData/e:Data',$referenceNs)) {
    $referenceData[$referenceNode.GetAttribute('Name')] = $referenceNode.InnerText
  }
  [pscustomobject]@{
    TimeCreatedUtc = $referenceEvent.TimeCreated.ToUniversalTime().ToString('o')
    Computer = $referenceEvent.MachineName
    Provider = $referenceEvent.ProviderName
    EventId = $referenceEvent.Id
    RecordId = $referenceEvent.RecordId
    Version = $referenceXml.SelectSingleNode('/e:Event/e:System/e:Version',$referenceNs).InnerText
    TargetUserName = $referenceData['TargetUserName']
    TargetDomainName = $referenceData['TargetDomainName']
    TargetSid = $referenceData['TargetSid']
    ServiceName = $referenceData['ServiceName']
    Status = $referenceData['Status']
    IpAddress = $referenceData['IpAddress']
    PreAuthType = $referenceData['PreAuthType']
    LogonGuid = $referenceData['LogonGuid']
    TicketEncryptionType = $referenceData['TicketEncryptionType']
    SessionKeyEncryptionType = $referenceData['SessionKeyEncryptionType']
    SubjectUserSid = $referenceData['SubjectUserSid']
    SubjectUserName = $referenceData['SubjectUserName']
    SubjectLogonId = $referenceData['SubjectLogonId']
    CallerComputerName = $referenceData['CallerComputerName']
  }
}

Первоисточники

ServiceName не обязательно полный SPN; LogonGuid бывает отсутствующим/нулевым. Полученный билет не доказывает использование сервиса.

Связанные материалы

Как пользоваться техническим справочником

Найдите порт, код ошибки, событие или источник журнала. Уточните протокол и систему, затем сверяйте значение, поля, примеры и первоисточники. Назначение порта не определяет фактическую службу, а одна запись не доказывает инцидент.

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

Назначения портов и коды приведены по официальным реестрам. Версии, условия регистрации и ссылки на документацию указаны в карточках.

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.