Реинкарнация NTLM-relay или как стать администратором домена за 1 минуту

    Данный пост является логическим продолжением исследований, начатых в тыц и тыц.

    В первом посте я писал о старом добром SMB Relay в контексте современных условий эксплуатации.
    Второй пост затрагивал новую технику под названием SMB Hijacking с помощью которой можно выполнить код даже если исходящая SMB сессия использует Kerberos.

    В этот раз речь пойдет об очередной технике, в основе которой лежит классический NTLM Relay.

    Ничего принципиально нового в ней нет, она отличается от SMB Relay только сервисом на который проводится перенаправление данных, но по силе воздействия эта техника невообразимо превосходит своего прародителя.

    Как вы помните, в доменной сети контроллер защищен от SMB Relay достаточно простым и эффективным механизмом под названием SMB Signing, поэтому перенаправление на DC в качестве third-party host невозможно. Проблема в том, что одна из центральных систем домена Active Directory, которая снаружи выглядит как LDAP сервер, по-умолчанию не требует обязательной подписи пакетов при удаленном сетевом взаимодействии! Мягко говоря это довольно откровенный бекдор в системе, оставленный по непонятной причине. Либо это сделано намеренно для обратной совместимости, либо сотрудники Microsoft посчитали, что раз нет рабочих эксплойтов, то нет и повода для беспокойства.

    Отсутствие инструментов для проведения NTLM релея на LDAP (Active Directory) тоже не совсем понятно. Вектор достаточно очевидный, но освещен крайне скудно, возможно исследователи просто не могли подумать, что контроллер домена может быть настолько беззащитным в конфигурации по-умолчанию.

    В 2012 году на конференции Blackhat некий Zack Fasel представил свой инструмент под названием ZackAttack. Среди заявленного функционала значился и релей на LDAP. Несмотря на довольно сырую, но местами рабочую реализацию, главной заслугой Zack'а, лично для меня, стало не создание инструмента, а как раз упоминание об отсутствии обязательной подписи пакетов при работе с Active Directory. Прошло довольно много времени, прежде чем у меня дошли руки заняться этой темой, но это случилось и рабочая реализация атаки появилась в Intercepter-NG.

    Для проведения атаки требуется одно единственное условие: необходимо знать за каким компьютером в данный момент работает действующий администратор домена. Атакующему даже необязательно быть членом домена, достаточно просто подключиться к сети. Как и в случае других атак, для ускорения действий в трафик атакуемого инжектится ссылка на псевдо-веб службу Intercepter'а, которая затребует NTLM авторизацию. Во время web-серфа атакуемый автоматически и незаметно для себя отправит аутентификационные данные, которые затем будут перенаправлены на Active Directory. В результате атаки будет создан новый пользователь с правами Domain Admins.

    Атака успешно протестирована на серверных ОС Windows 2003 и 2008R2, но так же должна работать и на Windows 2012, т.к. политика «Domain controller: LDAP server signing requirements» аналогичным образом установлена в none по-умолчанию.



    Самостоятельно опробовать проведение атаки можно будет с выходом новой версии Intercepter-NG, который запланирован на осень.
    Pentestit
    69.48
    Информационная безопасность
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 16

      0
      Каким образом можно защититься от этой атаки?
      Установить Domain controller: LDAP server signing requirements в «Require signature»? Совместимость с чем в таком случае потеряется? Какие проблемы всплывут?
        +3
        Да. Обязательная подпись пакетов решает все проблемы. Совместимость может потеряться с софтом, который удаленно работает с Active Directory и не умеет подписывать пакеты, но это маловероятно, т.к. большинство ldap клиентов работают через соответствующие API и для них момент авторизации и подписи происходит прозрачно.
          0
          Это поломает LDAP-запросы с Linux? Например, с OTRS или Redmine?
            0
            Столь специфичные вопросы лучше задать гуглу или саппорту озвученных систем.
              +1
              В общем, проверил на тестовой машине. Да, Linux-клиенты обламываются.
                +1
                Это печально.
        +2
        Вот спасибо, полезная информация.
          0
          А вообще выключить NTLM возможно?
            +1
            Именно «вообще» нет, эта зараза сидит слишком глубоко во всей системе. Можно повысить максимальный уровень безопасности для интранета и отключить Integrated Windows Authentication.
              0
              Возможо — technet.microsoft.com/en-us/library/jj852241%28v=ws.10%29.aspx
              А еще можно совсем отказаться от паролей и перевести всех на smart card logon. Но такие меры скорее только на каких-то режимных обьектах применяются.
                0
                Я говорил об использовании ntlm на клиентах. Даже блокировку ntlm на домене нельзя назвать полным отключением.
                Выше уже всплыли проблемы совместимости при включении обязательной подписи LDAP, а уж блокировка NTLM на сервере может вызвать еще больше проблем.
            0
            Это ж до осени ждать такую красоту! Вычислить админа в сети зачастую не так уж сложно.
              0
              особенно если ты там работаешь :)
                0
                У меня интерес пентестера, лишняя утилита для проникновения, да еще такая многообещающая — это просто подарок и значительное увеличение шанса на премию ;)
                0
                как минимум оповещение об изменение группы доменных админов должно приходить на почту. Проблема в том, что если Вас ломают — вы можете не успеть отреагировать.
                0
                LDAPS хорошо от mitm помогает

                Only users with full accounts can post comments. Log in, please.