Отличный вопрос
Перво-наперво - я считаю, что большинство «тестеров на проникновение» - это сценаристы. Моя предвзятость может быть не честной или точной, но я вставляю этот отказ от ответственности, чтобы, если вы обнаружите какой-либо цинизм в моем тоне, вы знаете, откуда он исходит. Я не говорю, что нет опытных пентестеров, но это моя широкая общность.
(Синяя команда на всю жизнь!)
Мой вопрос: 1) Есть ли способ заставить Active Directory регистрировать эти неудачные запросы имени пользователя в центральном месте, чтобы мы могли заметить их всплеск?
Вы не предоставили достаточно информации, чтобы кто-либо мог ответить на этот вопрос тщательно и с уверенностью. Вы сказали, что в вашем приложении обнаружена ошибка, позволяющая злоумышленникам перечислять учетные записи пользователей. Я пытаюсь понять, каким образом вы чувствуете, что AD должен выполнять ведение журнала для вашего приложения.
Очевидно, что сбои только когда-либо обнаруживались в локальном журнале событий сервера, на котором было установлено приложение.
Видимо сбои обнаружились в журнале событий на сервере? Или неудачи действительно появляются в журнале событий на сервере? Если это так, что именно сказали события? Кто их зарегистрировал? Ваше приложение? Или винда? Пойди выясни, и я смогу добавить дополнительные разъяснения к моему ответу.
Я собираюсь остановиться здесь на основе вашего предположения, что эти события должны были каким-то образом регистрироваться Active Directory ... что если ваши пентестеры на самом деле вообще не использовали изъян в вашем приложении, а вместо этого использовали очень известный недостаток в самом Kerberos для перечисления имен пользователей? Сам Kerberos содержит то, что я бы назвал недостатком проекта, в котором злоумышленник может предпринять тысячи и тысячи попыток «предварительной аутентификации» (то есть атаки методом «грубой силы»), и KDC будет реагировать по-разному в зависимости от того, существует учетная запись пользователя или нет. Это не специфичное для Active Directory поведение, но оно также применимо к MIT Kerberos, Heimdal и т. Д. KDC ответитKDC_ERR_PREAUTH_REQUIRED
если действительное имя пользователя было представлено без данных предварительной аутентификации, даже без попытки фактической аутентификации. Таким образом, вы можете перечислять имена пользователей из KDC. Но поскольку злоумышленнику (или инструменту, который использует злоумышленник, например KrbGuess - поскольку пентестеры в своих лучших проявлениях используют чужие инструменты), не нужно переходить к полной попытке аутентификации, ничего не регистрируется, потому что нет фактическая аутентификация была предпринята!
Теперь к вашему следующему вопросу:
2) Если нет, каков наилучший способ отслеживать и активно обнаруживать этот тип атаки в будущем (надеюсь, без необходимости покупать слишком много нового оборудования).
Пара вещей.
Во-первых, существуют платные продукты корпоративного уровня, предназначенные для обнаружения атак такого рода (среди многих других). Многие производители предлагают такие продукты, и рекомендации по продукту не относятся к теме Serverfault, но достаточно сказать, что они отсутствуют. там. Многие из этих продуктов работают, требуя от вас настройки зеркалирования портов между контроллерами домена и этими «сборщиками данных», чтобы они видели и анализировали буквально каждый пакет, который входит или выходит из контроллеров домена.
(Извините, это как бы относится к вашему предложению «не покупать слишком много нового».)
Еще одна вещь, которая может вам помочь, это запись в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
LogLevel = 1
Документировано здесь .
Если включить этот параметр реестра, вы должны получить затопленных с событиями в журнале событий безопасности об ошибках Kerberos , в которых упоминается , что Kerberos предварительно требуется аутентификация. Пример такого события:
A Kerberos Error Message was received:
on logon session DOMAIN\serviceaccount
Client Time:
Server Time: 12:44:21.0000 10/9/2012 Z
Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
Extended Error:
Client Realm:
Client Name:
Server Realm: DOMAIN
Server Name: krbtgt/DOMAIN
Target Name: krbtgt/DOMAIN@DOMAIN
Error Text:
File: e
Line: 9fe
Error Data is in record data.
Но это может помочь, а может и не помочь, если не будет указано, откуда именно поступает запрос цунами Kerberos. Это возвращает нас к тем продуктам для обнаружения вторжений на предприятиях, о которых я упоминал ранее.
И не забывайте о пересылке событий Windows, которая позволяет вашим серверам пересылать события в централизованное место для анализа любым инструментом, который у вас есть.
Весь этот ответ до сих пор основывался на протоколе Kerberos, который я даже не могу принять как должное, потому что вы дали так мало подробностей в своем посте. Тем не менее, я надеюсь, что это поможет хоть немного.
Это интересный вопрос, на который я бы хотел услышать правильный ответ. Я натолкнулся на некоторую информацию, которая может оказаться полезной для Дуга, однако я чувствую, что она может быть немного неадекватной. Кто-то еще может дать расширенный ответ:
Войдите на сервер, на котором вы хотите сохранить данные аудита, запустите -> RSOP.MSC -> Конфигурация компьютера -> Параметры Windows -> Параметры безопасности -> Локальные политики -> Политика аудита -> «Аудит событий входа в учетную запись» & » Аудит входа в систему событий »
Объяснение для «событий входа в систему» гласит:
Объяснение для «событий входа в систему» гласит:
По сути, вам необходимо включить эти политики, определить параметры политики и выбрать «сбой», если вы просто хотите отслеживать неудачные попытки. Если вы хотите, вы также можете отслеживать успехи, но это может затруднить анализ, если вы беспокоитесь только о поиске такого рода атак.
Если вас беспокоят аналогичные конфигурации, в которых ваши системы могут быть уязвимы, я бы порекомендовал изучить параметры STIG ( ссылка ), если они используются вместе со сканером SCAP, это может реально помочь выделить некоторые риски, которые могут быть связаны с вашей организацией. облицовка. STIG Viewer имеет тенденцию вызывать несколько ложных срабатываний, но если вы прочитаете специфику каждой проблемы, вы можете обнаружить, что она не является началом.
источник