ActiveDirectory/Join/Capturing traffic

Материал из ALT Linux Wiki
< ActiveDirectory‎ | Join
Версия от 15:00, 11 декабря 2024; Olga kmv (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Захват трафика при вводе компьютера в домен

Захват трафика во время ввода компьютера в домен является важной процедурой для последующего анализа сетевых взаимодействий. Это позволяет:

  • Детально изучить процесс присоединения устройства к домену.
  • Определить выполняемые условия и шаги.
  • Проанализировать используемые сетевые протоколы (например, Kerberos, LDAP, SMB).
  • Исследовать запросы и ответы между рабочей станцией и контроллером домена.
  • Выявить возможные проблемы или ошибки конфигурации в процессе ввода в домен.

Подготовка машин для захвата трафика

Процесс захвата трафика может выполняться, как на стороне контроллера домена, так и на клиентской машине, которая вводится в домен. Методика одинакова для различных операционных систем (например, Windows и Linux).

Для выполнения захвата трафика необходимы:

  1. Контроллер домена - сервер, на котором работает Active Directory.
  2. Рабочая станция - машина, которая будет вводиться в домен.
  3. Программное обеспечение для захвата трафика - Wireshark.

Процесс захвата трафика

  1. Установка программы Wireshark
    На ALT Linux установите программу Wireshark, используя следующую команду:
     # apt-get install wireshark
    
  2. Запуск Wireshark
    Откройте Wireshark на рабочей станции. Альтернативно, можно выполнить захват трафика на контроллере домена, в зависимости от задач.
  3. Настройка фильтров для захвата трафика
    Для анализа, исключительно взаимодействия между контроллером домена и рабочей станцией, настройте фильтр в Wireshark:
    (ip.src == 192.168.1.1 && ip.dst == 192.168.1.2) || (ip.src == 192.168.1.2 && ip.dst == 192.168.1.1)
    
    Где:
    • 192.168.1.1 — IP-адрес контроллера домена
    • 192.168.1.2 — IP-адрес рабочей станции
  4. Выбор сетевого интерфейса
    В Wireshark выберите сетевой интерфейс, который будет использоваться для захвата трафика. На рабочей станции с ALT Linux это, например, интерфейс eth0. Для выбора интерфейса выполните двойной щелчок по нему.
  5. Ввод рабочей станции в домен
    Выполните ввод рабочей станции в домен, используя учетные данные с правами администратора домена или учетной записи, имеющей соответствующие права.
  6. Завершение захвата трафика
    После успешного ввода рабочей станции в домен, остановите процесс захвата трафика в Wireshark, нажав на кнопку Stop (красный квадрат) в верхней панели управления.
  7. Сохранение захваченных данных
    Сохраните файл с захваченным трафиком для последующего анализа. Используйте формат pcapng, который предлагается по умолчанию:
    • В меню Wireshark выберите File → Save As
    • Укажите имя файла и директорию для сохранения
    • Убедитесь, что формат файла установлен как pcapng

Создание keytab файла

Для дальнейшего анализа захваченного трафика и расшифровки аутентификационных пакетов (например, Kerberos), необходимо создать keytab файл. Этот файл содержит криптографические ключи, которые используются для аутентификации пользователей и машин в домене. Keytab файл позволит расшифровать пакеты, связанные с процессом ввода машины в домен, и анализировать их.

Создание keytab файла на машине ALT Linux, введённой в домен

После того как машина ALT Linux была успешно введена в домен Samba AD или MS AD, создание keytab файла удобно выполнить непосредственно на этой машине. Следующие шаги помогут вам создать и проверить содержимое keytab файла:

  1. Перезагрузка машины и вход с правами доменного пользователя
    После ввода машины в домен, необходимо перезагрузить рабочую станцию. Затем войдите в систему с учетной записью доменного пользователя. Это обеспечит доступ к ресурсам домена и позволит создать keytab файл, который будет содержать необходимые ключи для аутентификации в домене.
  2. Создание keytab файла с содержимым всех учетных записей в домене
    Для создания keytab файла с содержимым всех учетных записей в домене выполните следующую команду:
    net rpc vampire keytab /path/to/combined.keytab -I <ip_domain_controller> -U User@DOMAIN.EXAMPLE
    
    Например:
    net rpc vampire keytab /home/DOMAIN.TEST/admin/combined.keytab -I 192.168.1.1 -U Admin@DOMAIN.TEST
    
    Описание параметров:
    • /home/DOMAIN.TEST/admin/combined.keytab - путь, где будет сохранен созданный keytab файл.
    • 192.168.1.1 - IP-адрес контроллера домена.
    • Admin @DOMAIN.TEST - учетная запись администратора домена, которая будет использоваться для выполнения команды. Убедитесь, что у вас есть соответствующие права.
    Команда net rpc vampire keytab создаст keytab файл, который будет содержать все ключи аутентификации для всех учетных записей, доступных в домене.
  3. Установка пакета krb5-kadmin и утилиты ktutil
    Для работы с keytab файлами необходимо установить утилиту ktutil, которая является частью пакета krb5-kadmin. Для установки выполните команду:
    # apt-get install krb5-kadmin
    
  4. Проверка содержимого keytab файла
    После того как keytab файл был создан, вы можете проверить его содержимое с помощью утилиты ktutil. Для этого выполните следующие шаги:
    • Запустите ktutil:
      ktutil
      
    • Загрузите созданный keytab файл:
      ktutil:  read_kt /home/DOMAIN.TEST/admin/combined.keytab
      
    • Просмотрите содержимое файла:
      ktutil:  list
      
    • Завершите работу с утилитой:
      ktutil:  quit
      
    Это позволит вам убедиться, что ключи для нужных учетных записей корректно добавлены в файл.
  5. Просмотр информации о keytab файле и его шифрах
    Для просмотра содержимого keytab файла с дополнительной информацией о используемых шифрах, выполните команду:
    # klist -kte /home/DOMAIN.TEST/admin/combined.keytab
    
    Эта команда отобразит подробную информацию о содержимом файла, включая типы используемых шифров (например, AES256, RC4) и другие параметры.
    После выполнения вышеуказанных шагов вы получите keytab файл, который можно использовать для аутентификации в процессе анализа Kerberos-трафика или для дальнейших операций с учетными записями в домене. Этот файл будет содержать ключи для аутентификации машин и пользователей, что позволит расшифровывать данные, связанные с их действиями в сети.

Создание keytab файла на контроллере домена ALT Server

Если было выполнено присоединение Windows-машины к домену Samba AD, то целесообразно создать keytab файл на контроллере домена ALT Server. Это позволяет эффективно работать с ключами для аутентификации без необходимости генерации keytab файла на клиентской машине Windows. Можно использовать способ, описанный в предыдущей главе. В данном разделе рассмотрим процесс создания и объединения keytab файлов, для учетных записей, по отдельности. С помощью команд samba-tool и ktutil можно легко создать и объединить keytab файлы для различных учетных записей. После этого вы сможете использовать объединённый файл для аутентификации в процессе анализа Kerberos-трафика или других операций в домене.

  1. Создание keytab файла для учетной записи компьютера
    Для создания keytab файла для компьютера в домене выполните команду:
    # samba-tool domain exportkeytab --principal=PC@DOMAIN.TEST /srv/shared/test1_samba.keytab
    
    Описание параметров:
    • PC@DOMAIN.TEST - имя учетной записи компьютера в домене. Убедитесь, что указали правильное имя хоста, которое соответствует учетной записи машины в домене.
    • /srv/shared/test1_samba.keytab — путь, где будет сохранен созданный keytab файл для компьютера. Вы можете изменить этот путь на подходящий для вашего окружения.
  2. Создание keytab файла для учетной записи администратора
    Для создания keytab файла для учетной записи администратора домена выполните команду:
    # samba-tool domain exportkeytab --principal=Admin@DOMAIN.TEST /srv/shared/Admin_samba.keytab
    
    Описание параметров:
    • Admin@DOMAIN.TEST — имя учетной записи администратора в домене.
    • /srv/shared/Admin_samba.keytab — путь для сохранения keytab файла для администратора.
  3. Объединение keytab файлов с помощью утилиты ktutil
    После того как keytab файлы для различных учетных записей были созданы, их можно объединить в один файл. Для этого используйте утилиту ktutil:
    • Запустите ktutil:
      ktutil
      
    • Загрузите созданные keytab файлы:
      ktutil: rkt /srv/shared/test1_samba.keytab
      ktutil: rkt /srv/shared/Admin_samba.keytab
      
    • Сохраните объединенный keytab файл:
      ktutil: wkt /srv/shared/combined.keytab
      
    • Завершите работу с ktutil:
      ktutil: quit
      
    Теперь у вас есть объединённый keytab файл, который содержит ключи как для компьютера, так и для администратора.
  4. Проверка содержимого keytab файла
    Чтобы проверить содержимое созданного объединённого keytab файла, выполните команду с использованием ktutil:
    • Запустите ktutil:
      ktutil
      
    • Загрузите объединённый keytab файл:
      ktutil: read_kt /srv/shared/combined.keytab
      
    • Просмотрите содержимое файла:
      ktutil: list
      
    • Завершите работу с ktutil:
      ktutil: quit
      
    Это позволит вам убедиться, что объединённый файл содержит все необходимые ключи для аутентификации.

Создание keytab файла на контроллере домена Windows Server 2019

Если машина Windows была введена в домен MS AD, создание keytab файла целесообразно провести на контроллере домена. В отличие от Linux, в Windows для создания keytab файлов необходимо знать пароль учетной записи пользователя. В случае с учетными записями машин, пароль генерируется автоматически при создании учетной записи и не отображается, что затрудняет его использование. Однако, для создания keytab файла можно использовать ключ Kerberos для учетной записи машины, который можно извлечь с помощью программы Mimikatz. В этом разделе описан процесс создания keytab файла с использованием Kerberos-ключа для учетных записей машины и пользователя.

  1. Использование Mimikatz для извлечения Kerberos-ключа
    • Установите программу Mimikatz
      Для скачивания программы Mimikatz перейдите по следующей ссылке на GitHub. Выберите версию, соответствующую вашей архитектуре системы.
    • Запустите программу Mimikatz
      После скачивания и распаковки Mimikatz, выполните запуск:
      mimikatz.exe
      
    • Получение прав администратора
      В Mimikatz выполните команду для получения привилегий:
      # privilege::debug
      
      Эта команда обеспечит необходимые привилегии для извлечения Kerberos-ключей.
    • Извлечение Kerberos-ключа с помощью команды
      Для извлечения Kerberos-ключа учетной записи машины используйте команду:
      # lsadump::dcsync /user:PC$
      
      Замените PC$ на имя вашей машины, если оно отличается.
    • Найти необходимые строки в выводе
      В выводе команды найдите строку с заголовком Supplemental Credentials, которая будет содержать информацию о Kerberos-ключах, например:
      Supplemental Credentials:
      * Primary:Kerberos-Newer-Keys *
          Default Salt : DOMAIN.COPYhostpc.domain.copy
          Default Iterations : 4096
          Credentials
            aes256_hmac       (4096) : fb43b1fdcff70138044573e921d96fb5b1047d5863acc3144ff182f4f2241243
      
    • Извлечь Kerberos-ключ
      Из полученной информации скопируйте ключ пароля (например, fb43b1fdcff70138044573e921d96fb5b1047d5863acc3144ff182f4f2241243) и сохраните его для дальнейшего использования.
  2. Использование Kerberos-ключа для создания keytab файла
    • Установка Heimdal Kerberos
      Для создания keytab файла с использованием Kerberos-ключа, необходимо установить программу Heimdal Kerberos для использования ktutil. Скачайте версию Heimdal 7.4.0 (64-bit or 32-bit).
    • Добавление Heimdal в системную переменную PATH
      Чтобы упростить запуск утилиты ktutil, добавьте папку с программой в системную переменную PATH:
      • Нажмите Win + R, введите sysdm.cpl и нажмите Enter
      • Перейдите во вкладку Дополнительно → Переменные среды
      • В разделе Системные переменные найдите переменную Path и нажмите Изменить
      • Нажмите Создать и добавьте путь к папке, где находится ktutil.exe, например: C:\Program Files\Heimdal\bin.
  3. Создание keytab файла с использованием Kerberos-ключа
    • Открытие командной строки от имени администратора
      На контроллере домена откройте cmd от имени администратора.
    • Создание keytab файла для учетной записи машины
      Для создания keytab файла используйте следующую команду, указав извлечённый Kerberos-ключ:
      # ktutil -k combined.keytab add --principal=PC$@DOMAIN.TEST --kvno=1 --enctype=aes256-cts-hmac-sha1-96 -H -w fb43b1fdcff70138044573e921d96fb5b1047d5863acc3144ff182f4f2241243
      
      • Замените PC$@DOMAIN.TEST на имя вашей машины и домена
      • Убедитесь, что используете правильный Key Version Number (kvno)
    • Получение kvno
      Для того чтобы убедиться в правильности kvno (Key Version Number), выполните следующие команды в PowerShell от имени администратора:
      • Для машины PC:
        Get-ADComputer PC -Properties msDS-KeyVersionNumber
        
      • Для пользователя Admin:
        Get-ADUser Admin -Properties msDS-KeyVersionNumber
        
      • Для всех машин:
        Get-ADComputer -Filter * -Properties msDS-KeyVersionNumber | Select-Object Name, msDS-KeyVersionNumber
        
      • Для всех пользователей:
        Get-ADUser -Filter * -Properties msDS-KeyVersionNumber | Select-Object Name, msDS-KeyVersionNumber
        
    • Создание keytab файла для учетной записи пользователя
      Для создания keytab файла для пользователя Admin, можно использовать пароль учетной записи, без необходимости извлекать Kerberos-ключ. Выполните команду:
      ktutil -k combined.keytab add --principal=Admin@DOMAIN.TEST --kvno=2 --enctype=aes256-cts-hmac-sha1-96 -w <пароль учётной записи Admin>
      
  4. Проверка содержимого созданного keytab файла
    • Просмотр содержимого keytab файла
      Для проверки созданного keytab файла используйте команду:
      ktutil -k combined.keytab list
      
    • Расположение созданного файла
      Созданный keytab файл будет сохранён в указанной директории (например, C:\Users\Администратор\combined.keytab).

Анализ полученного трафика

  1. Запустите программу Wireshark
    Откройте программу Wireshark для анализа захваченного трафика
  2. Откройте файл, полученный при захвате трафика
    В меню Wireshark выберите файл с захваченным трафиком, который вы хотите проанализировать. Это может быть файл в формате pcapng или другом совместимом формате
  3. Примените фильтр для исключения несущественной информации
    Для удобства анализа и исключения лишней информации, используйте фильтр Wireshark. Примените следующий фильтр, чтобы исключить пакеты, не относящиеся к процессу ввода машины в домен:
    not arp and not dns and not tcp.len==0 and not igmp and not llmnr and not mdns
    
    Этот фильтр исключает следующие типы трафика:
    • arp (Address Resolution Protocol) — не относящиеся к процессу
    • dns (Domain Name System) — так как DNS-запросы могут быть не актуальны для анализа
    • tcp.len==0 — пакеты с нулевой длиной
    • igmp (Internet Group Management Protocol) — не относящиеся к процессу
    • llmnr (Link-Local Multicast Name Resolution) — не относящиеся к процессу
    • mdns (Multicast DNS) — тоже исключается как нерелевантный
    Это позволяет сосредоточиться только на тех пакетах, которые имеют значение для анализа процесса подключения машины к домену.
  4. Импортируйте ранее созданный keytab файл для расшифровки Kerberos-трафика
    Для более подробного анализа процесса подключения рабочей станции к домену и расшифровки Kerberos-трафика, вам нужно использовать keytab файл, который был создан ранее. Выполните следующие шаги в Wireshark:
    • Перейдите в меню Правка → Параметры (или Edit → Preferences)
    • В левой панели выберите раздел Protocols и найдите пункт KRB5
    • В настройках KRB5 выберите опцию Открыть необходимый keytab файл
    • Укажите путь к файлу combined.keytab, который вы создали
    • Отметьте опцию Try to decrypt Kerberos blobs (Попробовать расшифровать Kerberos-объекты)
    • Нажмите OK для применения настроек
  5. Анализ Kerberos-трафика
    После выполнения этих шагов, Wireshark будет использовать ваш keytab файл для расшифровки Kerberos-пакетов в трафике, что позволит вам более точно и детально изучить процесс аутентификации машины в домене
    Теперь вы можете исследовать захваченный трафик и анализировать взаимодействие между рабочей станцией и контроллером домена, включая Kerberos-обмен и другие ключевые моменты, связанные с процессом ввода машины в домен.