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

Windows Security 4740 — заблокирована учётная запись

К ответу ↓

4740 подтверждает блокировку целевой учётной записи. Subject часто системный; он не устанавливает пользователя или программу, из-за которых накопились отказы.

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

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

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

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

Windows Security 4740 — заблокирована учётная запись

4740 подтверждает блокировку целевой учётной записи. Subject часто системный; он не устанавливает пользователя или программу, из-за которых накопились отказы.

1. Установите владельца учётной записи

Уточните, локальная это учётная запись, AD или другой IdP. 4740 нужно искать в соответствующей Windows-области; блокировка Keycloak имеет отдельный источник. Сохраните TargetSid и узел регистрации. При доменном случае соберите нужные DC и временной интервал. Текущая разблокировка не отменяет историческую запись и не заменяет объяснения первоначального отказа.

2. Проверьте аудит и сохранность

Для записи блокировки требуется соответствующий аудит управления учётными записями и сохранившийся Security. Пример использует XML-схему версии 0. Читающий запрос работает по разрешённому EVTX, точному Provider и UTC. Проверяйте доступ, ротацию и доставку отдельно; пустая SIEM-выборка не равнозначна отсутствию события на источнике.

3. Разделите Subject и Target

В примере SID S-1-5-18 и имя DC-01$ в полях Subject описывают системную операцию, а TargetSid — заблокированного пользователя. Нельзя объявлять DC-01$ человеком, который вводил неверный пароль. SubjectLogonId относится к системному субъекту на этом узле. Для поиска первоначальных попыток потребуется отдельный журнал отказов, а не переименование ролей внутри 4740.

4. Не выдумывайте caller-поле

Страница Microsoft описывает Caller Computer Name, однако её XML-пример не даёт Data Name="CallerComputerName". Поэтому пример сохраняет подтверждённые поля, а запрос оставляет caller пустым при его отсутствии. Сверьте фактический XML/манифест и экспортёр. Не превращайте TargetDomainName или имя DC в адрес отправителя по предположению; это создаёт ложную атрибуцию.

5. Найдите повторяющийся источник

Постройте ограниченный UTC-интервал перед 4740 и сопоставьте 4771/4625 с той же identity, сохраняя роли узлов. Проверьте службы, задания, VPN, мобильный клиент и другие известные пути через владельцев. Учтите переименование, посредников, дубли и повторные события. Запись рядом по времени не становится причиной блокировки без совпадающего контекста.

6. Зафиксируйте проверяемый итог

Отделите факт блокировки от гипотезы об устаревшем секрете, ошибке человека или атаке. Не разблокируйте пользователя и не повторяйте входы в рамках этого читающего маршрута. Если первоначальные отказы недоступны, укажите отсутствующий DC/журнал/период. Завершённым результатом может быть установленная identity и интервал блокировки при ещё неизвестном источнике повторений.

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

Исходное полеСмысл и ограничения
System/Provider/@NameТочный Provider; одно число EventID не устанавливает источник.
System/ChannelSecurity в исходном XML, включая события из сохранённого EVTX.
System/ComputerУзел регистрации; DC и клиент/сервер приложения выполняют разные роли.
System/VersionВерсия схемы; отсутствующие новые поля не заполнять догадкой.
System/TimeCreated/@SystemTimeUTC источника. Учитывать погрешность часов и отдельно время доставки.
System/EventRecordIDПозиция в журнале конкретного узла, не глобальный идентификатор обмена.
TargetUserName / TargetSidЗаблокированная учётная запись. SID сохраняет связь при переименовании.
TargetDomainNameСохранять буквально из XML; семантику поля сверять с манифестом установленной сборки.
SubjectUserSid / SubjectUserNameСубъект операции блокировки, часто SYSTEM. Это не доказанный источник ошибочного пароля.
SubjectLogonIdСеанс Subject на узле регистрации; не сеанс виновного пользователя.
CallerComputerName при наличииТекст Microsoft описывает Caller Computer, но XML-пример страницы не содержит Data с этим именем. Применимость проверить по исходному XML/манифесту, не синтезировать значение.

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

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

4740 v0: системный субъект и заблокированный Target

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

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Security-Auditing"/>
    <EventID>4740</EventID><Version>0</Version>
    <TimeCreated SystemTime="2026-11-04T07:03:00.000Z"/><EventRecordID>7006</EventRecordID>
    <Channel>Security</Channel><Computer>dc-01.example.test</Computer>
  </System>
  <EventData>
    <Data Name="TargetUserName">demo.user</Data>
    <Data Name="TargetDomainName">EXAMPLE</Data>
    <Data Name="TargetSid">S-1-5-21-111-222-333-1101</Data>
    <Data Name="SubjectUserSid">S-1-5-18</Data>
    <Data Name="SubjectUserName">DC-01$</Data>
    <Data Name="SubjectDomainName">EXAMPLE</Data>
    <Data Name="SubjectLogonId">0x3e7</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=4740
  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']
  }
}

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

Subject блокировки, caller-компьютер и человек — разные роли. Не всякая блокировка является атакой; текущий статус не восстанавливает полную историю.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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