Один з найбільш поширених типів атак, які використовуються під час пентестов, - несанкціонована експлуатація широковещательного дозволу імен.
Далі ми розглянемо метод несанкціоновану експлуатацію широковещательного дозволу імен під час пентестов внутрішніх систем і дамо рекомендації щодо того, як захиститися від даного виду загроз.
Системи, схильні до загрозу
Windows, MacOSX і Linux.
Загальна схема реалізації
Зловмисник може виконати атаку «Людина посередині» проти вразливих систем, якщо ці системи знаходяться в тій же локальній мережі, що і система жертви (внутрішня мережа, кафе, аеропорт).
Зловмисник може виконати атаку «Людина посередині» через інтернет в разі реєстрації gTLD домену, що конфліктує з внутрішньою схемою імен, і розгорнути підроблений WPAD-проксі.
Детальний опис схеми
Існує кілька варіантів атаки, але базова ідея не змінюється. Зловмисник конфигурирует систему жертви для відповіді на аутентифікаційні запити за допомогою спуфинга запитів, пов'язаних з дозволом імен. Як тільки клієнт намагається знайти систему, яка не має коректної записи DNS, відбувається перемикання на менш відомі протоколи, наприклад, на NBNS і LLMNR. Порядок пошуку систем виглядає наступним чином:
У деяких випадках можна перехопити облікові записи в чистому вигляді (в разі базового протоколу HTTP, FTP або MSSQL). Хоча в основному перехоплюються облікові дані по протоколам NetNTLMv1 або NetNTLMv2. Оскільки обидва ці формати містять challenge, зловмисникові доступний або злом хешу, або одноразове повторне відтворення.
Метою нової WPAD-атаки є клієнти, що знаходяться поза внутрішньої корпоративної мережі (домашня мережа, аеропорт або кави). Якщо зловмисник володіє доменом gTLD, використовуваним організацією для внутрішніх цілей, то стає можливим перехоплення WPAD (або схожих) запитів. Для пентестеров ця інформація не представляє особливої цінності, але організаціям слід розуміти потенційні ризики.
Далі ми продемонструємо наскільки просто можна зламати облікові записи і скомпрометувати Windows-домен.
WPAD - не єдине ім'я, які намагається знайти клієнт. Все залежить від конфігурації системи та мережі. Під час демонстрації атаки буде використовуватися ім'я CORP (домен нашої лабораторії).
Спочатку встановлюємо Gladius для моніторингу та автоматичного злому хешей. Після запуску Gladius стартуємо Responder і чекаємо того моменту, коли жертва спробує аутенціфіціроваться. На малюнку нижче видно, як жертва намагається скористатися ім'ям CORP, а система зловмисника відповідає і перехоплює облікові записи.
Малюнок 1: Відповідь зловмисника на запит користувача
На малюнку вище видно, що користувач з ім'ям Administrator відправив обліковий запис в форматі NetNTLMv2. Gladius автоматично перехоплює дані і починає злом хешу.
Малюнок 2: Злом перехопленої облікового запису
За результатами злому з'ясувалося, що пароль адміністратора - 'Password1 !!'. Знайдені облікові записи можуть бути використовуватися для доступу до сервера електронної пошти або VPN.
Але ми підемо іншим шляхом і скористаємося утилітою CrackMapExec.
Малюнок 3: Запуск командиwhoami
Малюнок 4: Вивантаження всіх хешів домену
В результаті ми повністю скомпрометували домен. Адміністраторам слід мати на увазі подібного роду атаки, які показали високу ефективність під час пентестов.
Щоб повністю захиститися від цієї загрози, рекомендується використовуватися комплексний підхід. Методи захисту, що стосуються нової схеми, позначені курсивом.
- Створіть запис WPAD, яка вказує на корпоративний проксі сервер або вимкніть автоматичне детектування проксі в Internet Explorer.
- Вимкніть NBNS і LLMNR (але перш протестуйте ці настройки перед викочування в усіх системах).
- Налаштуйте коректні DNS-записи для внутрішніх і зовнішніх ресурсів.
- Здійснюйте моніторинг мережі на предмет атак, пов'язаних зі зловживанням широкомовних запитів (broadcast poisoning attacks).
- Обмежте зовнішні з'єднання 53 / tcp і 445 / tcp для всіх внутрішніх систем.
Крім того, US-CERT дає користувачам і мережевим адміністраторам наступні рекомендації для підвищення рівня безпеки мережевої інфраструктури:
- Вимкніть пошук / конфігурацію автоматичного проксі сервера в браузерах і операційних системах під час установки нових пристроїв, якщо подібна можливість не потрібна для внутрішніх мереж.
- Використовуйте повністю певне ім'я домену (Fully Qualified Domain Name; FQDN) від глобального DNS-сервера як основу (root) для корпоративного та інших внутрішніх просторів імен.
- Конфігурують внутренніеDNS-сервера для вагомого відповіді на внутренніеTLD-запити.
- Налаштуйте фаєрволи і проксі для логування та блокування зовнішніх запитів до файлів wpad.dat.
- Визначте очікуваний мережевий трафік, пов'язаний з WPAD, здійснюйте моніторинг публічного простору імен або розгляньте превентивну реєстрацію доменів для уникнення майбутньої колізії імен.
- Надсилайте звіти в ICANN (https://forms.icann.org/en/help/name-collision/report-problems), якщо ваша система відчуває серйозні наслідки від колізії імен.