24 января 2018 года на конференции безопасности Microsoft BlueHat исследователями Benjamin Delpy и Vincent Le Toux была продемонстрирована новая технология атаки против инфраструктуры Active Directory.

Название новой техники атаки — DCShadow. Такая атака позволяет злоумышленнику создать поддельный контроллер домена в среде Active Directory для репликации вредоносных объектов в рабочую инфраструктуру Active Directory.

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

В атаке DCShadow используется триггер DrsReplicaAdd (DRSR 4.11.19.2) для запуска репликации. Это позволяет изменить атрибут replTo контроллера домена и выполнить немедленную репликацию.

Основной вектор атаки DCShadow заключается в создании нового сервера и объектов nTDSDSA в разделе Configuration. Техника атаки хорошо представлена на следующей схеме:



С помощью DCShadow больше не нужно пытаться реплицировать данные, необходимо регистрировать новые контроллеры домена в целевой инфраструктуре для внедрения объектов Active Directory или изменения существующих (путем замены содержимого атрибутов). Идея подложного контроллера домена не является новой и уже использовалась для атак, но требовала инвазивных методов (например установки виртуальной машины с Windows Server).

Для того чтобы сервер являлся контролером домена, он должен выполнять следующие функции:

  • использовать хранилище данных, способное реплицировать свою информацию по протоколам LDAP, соответствовать спецификациям MS-DRSR и MS-ADTS;
  • быть источником аутентификации, доступным по протоколам Kerberos, NTLM, Netlogon или WDigest;
  • использовать систему управления групповыми политиками;
  • DNS-провайдер (необязательная роль).

В дополнение к размещению этих служб контроллер домена в процессе создания должен быть зарегистрирован в инфраструктуре каталога, который должен быть принят другим контроллером домена в качестве источника репликации. Репликация данных организована с помощью встроенного процесса службы NTD, называемого средством проверки согласованности знаний (Knowledge Consistency Checker — KCC). Основной функцией KCC является создание и поддержка топологии репликации. По умолчанию KCC инициирует репликации каждые 15 минут для обеспечения последовательного и регулярного обновления.

image

Авторами техники DCShadow был определен минимальный набора изменений, необходимых для внедрения нового сервера в топологию репликации. Для достижения этой цели атака DCShadow должна изменить целевую базу данных инфраструктуры Active Directory, чтобы разрешить подложному серверу быть частью процесса репликации.

Согласно спецификации MS-ADTS, контроллер домена представлен в базе данных Active Directory объектом класса nTDSDSA, который всегда находится в контексте именования конфигурации домена. Объекты NTDS-DSA могут быть созданы только как дочерние объекты сервера, которые, в свою очередь, могут быть только частью объектов организации или сервера. Таким образом, целью атаки DCShadow является создание нового сервера и объектов nTDSDSA в разделе «Конфигурация» схемы.

Однако недостаточно просто добавить объект чтобы позволить подложному серверу инициировать репликацию. Чтобы быть частью процесса репликации необходимо выполнить два требования:

  • доверять другим серверам;
  • предоставить поддержку аутентификации для подключения других серверов к подложному серверу чтобы реплицировать данные.

Используя действительную учетную запись, подложный сервер может рассматриваться как надежный сервер Active Directory. Атрибуты Kerberos SPN предоставят поддержку аутентификации для других контроллеров домена.

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

Авторы техники атаки выделили минимальный набор SPN, необходимых для прохождения процесса репликации. Результаты их исследований показывают, что двум SPN требуется, чтобы другой контроллер домена подключался к подложному серверу:


DCShadow позволяет установить эти два SPN на атакующий компьютер с помощью RPC-функции DRSAddEntryс. Теперь есть возможность зарегистрировать подложный контроллер домена для участия в процессе репликации и пройти аутентификацию другим контроллером домена.

Последним шагом атаки DCShadow является запуск процесса репликации. Для необходимо следующее:

  • подождать, пока процесс KCC другого контроллера домена начнет процесс репликации (15 минут);
  • внести репликацию, вызвав функцию DRSReplicaAdd RPC, которая изименит содержимое атрибута repsTo, который начнет немедленную репликацию данных.

Принудительная репликация с помощью IDL_DRSReplicaAdd RPC является последним шагом атаки DCShadow. Это позволит вводить произвольные данные в целевую инфраструктуру AD. При этом становится возможным добавлять новых пользователей в административную группу и т.д.

Следует отметить, что DCShadow не является уязвимостью, это скорее инновационный способом ввода нелегитимных данных в инфраструктуру Active Directory. Это может позволить злоумышленнику применить новые способы скрытного закрепления в успешно атакованных системах.

Комментарии (8)


  1. prundukevich
    30.01.2018 14:23

    1. Чтобы внедрить подложный доменный контроллер необходимо получить highly privileged account like domain or Enterprise admins.
    Вопрос. Если получить такие права — нельзя ли в АД вообще всё что угодно делать? Какова тогда цель атаки?


    1. LukaSafonov Автор
      30.01.2018 14:23

      Цель атаки пост-эксплуатация и скрытное закрепление в системе.


      1. amarao
        30.01.2018 17:55

        Очень узкая и специфичная атака.

        С учётом, что админ домена чаще всего может менять схему AD, вфигачить в схему объект нового типа, который может «логиниться» на компьютеры куда проще, чем изображать ценый контроллер домена.


        1. KoMePcAHT
          30.01.2018 20:07
          +1

          нормальный админ первым делом лишит себя возможности менять схему, создаст для этого отдельную учетку и будет использовать по мере надобности


          1. amarao
            31.01.2018 12:01

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

            Алсо, нормальные «Администратор»'ы не сидят с админскими правами на рабочих машинах.


    1. Aivendil
      31.01.2018 10:51

      Да, тоже начал читать и дойдя до схемы процесса, в которой первый шаг получить Enterprise Admin, был несколько удивлён.


  1. Aivendil
    31.01.2018 10:52

    Такое ощущение, что статья — перевод, хотя заявлена, вроде, как авторский материал. Сложно представить, что фраза «С помощью DCShadow больше не нужно пытаться реплицировать данные, необходимо регистрировать новые контроллеры домена в целевой инфраструктуре» была сразу насписана по русски.


  1. Visphord
    31.01.2018 12:14

    Enterprice admin — не самое большое, что можно получить из домена. С использованием тех-же техник автора утилитки можно получить золотой билетик, который скинуть уже не так просто как сменить пароль админу. А если копнуть еще глубже — я понял что можно засесть так, что без создания всего леса с 0 выкинуть хакера будет нереально.