![]() |
https://forum.antichat.xyz/attachmen...0668903651.png
Снова. Опять. До боли знакомый сценарий, который повторяется из проекта в проект, как заезженная пластинка из 90-х. Вот как это обычно выглядит. Рисуем сказку. Прихожу к заказчику - солидная контора, логотип блестит, на стенах плакаты про «кибербезопасность - наш приоритет». Начинается вводный брифинг. Передо мной сидит вся их ИБ-команда: сетевик с умным видом, который рассказывает про микросегментацию, админ Windows, хвастающийся последними патчами от Microsoft, и какой-нибудь архитектор, сыплющий терминами вроде «Zero Trust» и «EDR с поведенческим анализом». Мне показывают диаграммы инфраструктуры: Windows Server 2022, Windows 11 на клиентах, все службы обновлены, Defender с кучей допов, ATP, бла-бла-бла. Финальный аккорд: «Мы провели харденинг по всем чек-листам CIS Benchmarks. У нас тут всё запечатано. Попробуй, поищи уязвимости». И в их глазах читается смесь вызова и уверенности - мол, мы не лыком шиты, сейчас этому выскочке-хакеру покажем. А через два часа, иногда через четыре (если сети действительно большие), я уже сижу в их же конференц-зале, сдвинув свой ноут в сторону, и на большом экране через проектор медленно, как в триллере, ползут строки. Дампы хэшей. Десятки, иногда сотни. DOMAIN\j.smith, DOMAIN\svc_sql, DOMAIN\backup_admin… Привилегированные аккаунты, сервисные учётки, учетки менеджеров. А в углу терминала - безобидная строчка, которая стала началом конца: [LLMNR] Poisoned answer sent to 192.168.1.15 for name sharepoint. И знаете, что самое смешное и печальное одновременно? Первоначальным вектором в 90% этих «непробиваемых» сред был не какой-нибудь свежий zero-day на Exchange, за который на черном рынке дают сотни тысяч. Не фишинг с гиперреалистичными письмами, написанными нейросетью и вскрывающими двухфакторную аутентификацию через утомление. Даже не скучный, но надёжный Kerberoasting с первого шага. Это был он. Скромный, старый, всеми забытый, похороненный в сотнях гайдов «по харденингу» и тысячах статей на Хабре про «базовую гигиену» протокол. Труп под именем LLMNR/NBT-NS. Вернее, целых два трупа, которые держатся друг за дружку и продолжают шагать по сетям, пугая своей живучестью. И этот труп, друзья мои, не просто дышит. Он активно разлагается, отравляя атмосферу доверия в, казалось бы, самых защищённых и современных доменах Active Directory. Прямо сейчас. Пока вы это читаете, в какой-нибудь «запечатанной» корпоративной сети рабочая станция бухгалтера Марии Ивановны пытается найти несуществующий принтер \\print05-fin и в отчаянии кричит об этом на весь сегмент. И там нет никого, кроме молчаливого сниффера, который тут же любезно отзывается: «Я print05-fin! Добро пожаловать, Мария. Можешь передать мне свой пароль?». Все эти умники с Medium и корпоративных блогов, которые пишут «Отключайте LLMNR - это базовая гигиена!», живут в идеальном, стерильном мире PowerPoint 2016. В мире, где политики применяются мгновенно и на 100%, где нет легаси-оборудования, где сисадмины никогда не ошибаются, а бизнес-приложения не ломаются от отключения NetBIOS. В реальном мире эти протоколы не просто живут - они процветают. Их забывают. Их сознательно не отключают на всех устройствах, потому что «вдруг перестанет работать учётная система 1С 7-й версии». Их боятся тронуть, как боятся тронуть старую проводку в стене. Они включены где-то в глубине, на каком-нибудь стареньком промышленном принтере, МФУ, IoT-хламе от камер наблюдения, в скрипте входа, написанном в 2008 году, или просто в ветке групповых политик, которую завели при создании домена и благополучно забили на неё. Мы пойдём от обратного. Мы признаем суровую, грязную, но правдивую реальность: LLMNR/NBT-NS есть. Везде. Даже там, где их вроде бы нет. И это - наша дверь. Не потайная, не взломанная, а распахнутая настежь самими защитниками, которые просто не догуляли до ручки. Это детальный и беспощадный разбор эксплуатации этого вектора в среде, которая считает себя неуязвимой. Мы разберём не только старые добрые Responder и Inveigh, но и современные, тихие, почти изящные техники, которые работают даже тогда, когда кажется, что все классические пути перекрыты. Мы поговорим про скрытый мир IPv6, который все игнорируют. Про кастомные сценарии, про обход новых «защит» вроде SMB Signing и LDAP Channel Binding, про тонкую настройку под конкретную сеть, про то, как не светиться, и, конечно, про полный арсенал практических инструментов - от проверенной классики до самописных скриптов на коленке, которые не детектит ни один антивирус. Мы будем смотреть правде в глаза: админы ленивы, сети сложны, обратная совместимость - священная корова, а политики безопасности - это идеальная картинка, которая почти никогда не совпадает с суровой реальностью развёрнутой инфраструктуры. И в этих трещинах между идеалом и реальностью мы и будем жить. Часть 1: Протоколы-призраки. Глубокое погружение в механику доверия, которой не должно существовать. Прежде чем мы начнём стрелять, нужно не просто увидеть мишень, а понять, из какого она материала, кто её сделал, почему она стоит именно здесь и почему её до сих пор не убрали. Это не сухая теория. Это - вскрытие трупа, чтобы понять причину смерти всей сети. Давайте забудем на секунду про аббревиатуры. Представьте себе открытый офисное пространство, опенспейс. Сотни людей сидят за столами. И вот кто-то встаёт и кричит во весь голос: «Эй! Кто здесь Василий из бухгалтерии? Мне срочно нужно передать ему конфиденциальный пакет документов!». Что происходит? Люди поднимают головы. И если Василий здесь, он откликается: «Я здесь! Кидай сюда!». А если Василия нет, или он не слышит, любой другой человек в этом зале может встать и сказать: «Я Василий! Давай сюда свои документы, я передам». И ему, с высокой долей вероятности, эти документы отдадут. Без паспорта, без вопросов. NBT-NS (NetBIOS Name Service) - это и есть тот самый крик в опенспейс. Технология из каменного века сетей, из конца 80-х. Ей не просто 30 лет - она ровесница пейджеров и дискет. NetBIOS - это интерфейс для сетевого взаимодействия, а NBT (NetBIOS over TCP/IP) - это его адаптация для современных (относительно) стеков TCP/IP. Как это работает технически: Когда ваша Windows-машина хочет найти соседа по имени, например, FILESERVER, она не всегда бежит к DNS-серверу. Сначала она проверяет свой локальный кэш. Потом, если не нашла, она отправляет широковещательный (broadcast) запрос на UDP-порт 137. Это как тот крик в опенспейс. Запрос летит не конкретному адресату, а всем в вашем сетевом сегменте (broadcast-домене, обычно ограниченном VLAN или физической сетью). Этот запрос прост до безобразия: «Ребята, кто тут FILESERVER? IP-то какой?». Легитимный FILESERVER, услышав своё имя, должен ответить: «Эй, это я! Мой IP - 192.168.1.10!». Ключевые проблемы NBT-NS, вшитые в его ДНК:
К середине 2000-х даже Microsoft поняла, что NetBIOS - это позор. С появлением Vista и Server 2008 они представили «современную» замену - LLMNR (RFC 4795). Он должен был работать в мире IPv6 и быть чуть лучше. Он лучше? Чуть-чуть. Но суть та же.
Вот тут начинается политика и реальность. Отключите их глобально, и вы получите тонну заявок в службу поддержки:
А теперь смотрите, как это превращается в бомбу. Допустим, пользователь пытается открыть сетевую папку \\sharpoint (с опечаткой, sharepoint забыл e). Система делает:
Клиентская машина, получив ответ, радуется: «Ура, нашёл!». Она теперь уверена, что 192.168.1.666 - это нужный ей файловый сервер. Она инициирует с ним соединение по SMB (протокол обмена файлами). И вот здесь - кульминация. Windows пытается аутентифицироваться на сервере. По умолчанию, она предлагает протокол NTLM (ещё один старичок, который тоже никуда не делся). Запускается так называемый NTLM Challenge-Response handshake:
LLMNR/NBT-NS - это не просто «устаревшие протоколы». Это системный сбой в модели доверия локальной сети Windows. Они реализуют наивный, деревенский принцип соседства, абсолютно неприемлемый в современном враждебном мире. Они существуют не из-за технической необходимости, а из-за человеческой лени, страха и тирании обратной совместимости. Они превращают безобидную опечатку пользователя в компрометацию учётных данных домена. Они переводят проблему уровня «DNS не ответил» в плоскость «злоумышленник получил хэш». И самое главное: они включены по умолчанию. И пока вы не доказали обратное для КАЖДОГО устройства в вашей сети, вы должны исходить из того, что они работают. Всегда. Везде. Это фундамент, на котором строится всё остальное. Понимая эту хрупкую, гнилую основу, вы начинаете видеть сеть не как набор машин, а как поле, где постоянно звучат эти крики. А наше дело - научиться на них отвечать. Первыми. Часть 2: Классика жанра. Инструменты и базовая эксплуатация. Давайте перейдём к практике. Если вы хоть раз гуглили эту тему, то видели эти два имени. 1. Responder (by Laurent Gaffié) Это альфа и омега. Легенда. Инструмент, который заставил весь мир заговорить о poisoning-атаках. Написан на Python. Что он делает?
Качаем с GitHub. Запускаем на своей машине (Kali Linux, естественно) в целевой сети. Bash: Код:
git
\\sharepoint\ (с ошибкой) или \\fileserver01\ (если такого нет). Смотрите в консоль Responder. Увидите магию: Код: Код:
[LLMNR] Poisoned answer sent to 192.168.1.15 for name sharepoint2. Inveigh (by Kevin Robertson) Powershell-версия Responder от бога PowerShell-пентеста. Её главное преимущество -она работает на Windows, прямо внутри домена. Не нужно тащить Linux-машину. Один скрипт - и вы уже слушаете и отравляете трафик. Код: Код:
## powershellЧто дальше с хэшами?
Bash: Код:
pth-winexe -U DOMAIN/j.smith%aad3b435b51404eeaad3b435b51404ee:2CEC3BПроблема классики: Админы стали умнее. Мало того что они (иногда) отключают LLMNR/NBT-NS, так ещё и:
А вот тут начинается то, о чём не пишут в коротких гайдах. Ваш домен «обновлён»? Отлично. Значит, скорее всего:
Факт 1: Политики применяются неидеально. Всегда найдётся:
Bash: Код:
crackmapexec smbФакт 3: Отключение LLMNR/NBT-NS на клиентах не отменяет их работу в сети! Если на каком-то устройстве (тот же принтер) они включены, оно будет кричать в сеть. И ваш инструмент может отвечать ему. Но главный козырь 2020-х - это IPv6. Часть 4: IPv6 - троянский конь в современном домене. Большинство «обновлённых» доменов Windows включили поддержку IPv6. Но не используют её активно. Сети часто dual-stack (IPv4 + IPv6). И вот тут таится красота. Протокол ICMPv6 Router Advertisement (RA) используется для автоматической настройки сети (SLAAC). Злоумышленник может объявить себя главным маршрутизатором (Default Gateway) для IPv6. И что тогда? Клиенты начнут направлять часть своего трафика (включая запросы на аутентификацию) через него. Инструмент: mitm6 (by Fox-IT) Гениальный инструмент, который использует эту слабость. Он:
Сценарий атаки в «обновлённом» домене:
Bash: Код:
# Терминал 1: Запускаем mitm6, отравляем DNS
1. Кастомные LLMNR/NBT-NS серверы. Responder и Inveigh - отличны, но их «отпечатки» известны системам защиты (EDR, Network Sensors). Можно написать свой простой сервер на Python (с использованием библиотек scapy или socket), который будет вести себя менее агрессивно, имитировать задержки, чтобы быть похожим на легитимный ответ. Иногда тишина - лучшая маскировка. Пример заготовки на Python (очень упрощённо): Python: Код:
fromWindows по умолчанию ищет прокси-сервер с именем WPAD. Этот запрос идёт через LLMNR/NBT-NS/DNS. Если вы ответите, что вы - WPAD, и предложите прокси-скрипт (wpad.dat), то браузер (а иногда и системные процессы) направят через вас трафик, включая аутентификационные запросы. Responder и mitm6 умеют это делать автоматически. 3. Relay на другие протоколы. Не только SMB. Современный ntlmrelayx.py умеет ретранслировать на:
Bash: Код:
python3 ntlmrelayx.py -t ldaps://dc.domain.local -wh attacker-wpad.domain.local --add-computer --delegate-access
EDR / Антивирусы: Они часто детектят известные скрипты (Responder, Inveigh) по сигнатурам в памяти или по сетевой активности. Решения:
Часть 7: Практическая лаборатория. Полный сценарий. Давайте смоделируем атаку на «обновлённый» домен с нуля. Цель: Получить футхолд в домене MODERNDOMAIN.LOCAL. Исходные данные: У вас есть физический доступ к сети (или вы проложили туннель через компрометированную VPN-сессию). У вас нет учётных данных домена. Шаг 0: Разведка. Bash: Код:
# Сканируем сеть, находим живые хосты, определяем ОС и SMB SigningBash: Код:
# Вариант A (если есть подозрение, что LLMNR/NBT-NS включены)Bash: Код:
# Терминал 1 - Запускаем mitm6Допустим, мы перехватили сессию пользователя MODERNDOMAIN\svc_backup. В терминале ntlmrelayx появится сообщение: Код: Код:
[*] SMBD-Thread-5: Received connection from 192.168.15.20, attacking target smb://192.168.15.75[*] Authenticating against smb://192.168.15.75 as MODERNDOMAIN\svc_backup SUCCEED[*] SOCKS: Adding user MODERNDOMAIN\svc_backup (192.168.15.20) for target 192.168.15.75Шаг 4: Перемещение и эскалация. Bash: Код:
# Используем crackmapexec через наш SOCKS для дальнейшей разведки с учётными даннымиШаг 5: До Domain Admin. С помощью перехваченных или взломанных хэшей мы продолжаем движение, используя те же техники или другие (например, Kerberoasting, если получили обычный аккаунт домена). Цель - найти учётную запись с привилегиями на контроллере домена. Часть 8: Защита. Как по-настоящему закрыть эту дверь (что мы, как атакующие, не хотим видеть). Да, мы должны быть честными. Если вы сисадмин, читающий это, вот ваш чек-лист. Реальный, без воды.
Мы прошли долгий путь от теоретических основ до сложных сценариев с IPv6 и SOCKS-прокси. Давайте теперь отойдём от терминалов и роутеров и посмотрим на картину целиком. Это - патологоанатомическое исследование хронической болезни экосистемы Windows. Болезни под названием «Слепое доверие в локальном сегменте». 1. Фундаментальный, а не поверхностный изъян. Большинство уязвимостей -это ошибки в коде: переполнение буфера, race condition, ошибка логики. Их можно исправить патчем. LLMNR/NBT-NS poisoning -это не уязвимость в классическом понимании. Это ожидаемое поведение устаревших, но функциональных протоколов. Microsoft не может их «запатчить», не сломав миллионы бизнес-процессов, которые тихо и незаметно полагаются на то, что \\старый-сервер как-нибудь да найдётся. Поэтому все «защиты» - это костыли вокруг костыля. Отключить через GPO. Включить SMB Signing. Запретить NTLM. Это не лечение болезни, а попытка наложить гипс на треснувшую фундаментную балку. И, как мы увидели, в реальном мире эти гипсы кривые, поставленные не везде и часто трескаются сами. Потому что ИТ - это про то, чтобы работало «здесь и сейчас». А совместимость всегда побеждает безопасность в бою за бюджет и время админа, у которого горят двадцать других задач. 2. Парадокс «обновлённого» домена. В этом вся ирония. Чем более «современным» и «обновлённым» становится домен, тем более он уязвим для продвинутых вариаций этой атаки. Раньше это был шумный и грубый Responder во всему broadcast-домену. Теперь это - тихая, хитрая, пассивная атака через IPv6, которую даже не все средства мониторинга понимают. Администраторы, гордо отключающие LLMNR и NBT-NS, часто даже не смотрят в сторону IPv6. Они думают: «У нас же нет IPv6-сети!». Но он есть. Он включён по умолчанию. И он создаёт идеальную, тихую тень, в которой можно вести отравление, пока все следят за IPv4. Современная защита порождает современные векторы атаки. Мы просто мигрируем вместе с инфраструктурой, находя новые щели в старых стенах. 3. Это - атака на человеческий фактор и сложность. Давайте будем откровенны: даже если в головном офисе гениальный архитектор прописал и внедрил все меры защиты, в филиале в другом городе этим будет заниматься уставший сисадмин, который также отвечает за принтеры и Wi-Fi. Он не отключит NetBIOS на том самом древнем сканере, потому что «вдруг перестанет работать», а разбираться некогда. Он пропустит политику на ноутбук директора филиала, потому что тот вечно в разъездах. Он не станет включать SMB Signing на всех рабочих станциях, боясь звонков от бухгалтерии. Эта атака эксплуатирует не слабость железа или софта, а слабость управления сложной распределённой системой. Она нацелена на разрыв между политикой центра и реальностью на местах. И этот разрыв всегда будет. Всегда. 4. Философия «тихого канала». Что нам, как тестировщикам (или, кашель, как другим заинтересованным сторонам), даёт этот вектор? Это не просто способ получить хэш. Это - философия минимального шума. В отличие от громкого эксплойта, который кричит в логи, или фишинга, который требует взаимодействия человека, атака на LLMNR/NBT-NS/mDNS/mitm6 - это подслушивание. Вы не ломаете дверь. Вы не обманываете охраника. Вы сидите в вентиляции и слушаете, как люди в комнате сами громко называют свои пароли, пытаясь докричаться до кого-то. Вы не атакуете. Вы предлагаете услугу (разрешение имени), и система с благодарностью отдаёт вам свои секреты. Это делает атаку невероятно устойчивой к детекту. Вы не посылаете пакеты, вы на них отвечаете. Вы становитесь частью фонового шума сети. 5. Бесконечная игра «кошки-мышки» (где мы - чаще мыши, но умные). Защита не стоит на месте. Появляются:
Если вы защищаетесь: Перестаньте думать, что это «базовая гигиена, которую все сделали». Отнеситесь к этому как к постоянному процессу охоты за призраками.
Это ваш штемпель, ваш скальпель для вскрытия сети.
LLMNR/NBT-NS - это больше чем протоколы. Это - архетип. Архетип уязвимости, рождённой из конфликта между безопасностью и совместимостью, между централизованным управлением и распределённым хаосом реального мира, между желанием создать идеальную крепость и необходимостью оставить в стене дверь для мусоровоза. Пока существуют компьютерные сети, в них будут такие «двери» - легаси-функции, доверчивые протоколы, неявно доверяющие сегменты. Наша работа - как охотников, так и стражей - понимать эти архетипы. Не просто зазубривать команды для Responder, а видеть принцип: где в этой системе есть слепое доверие? Где она кричит в пустоту, надеясь на честность любого, кто ответит? Этот конкретный «труп» может со временем окончательно разложиться. Но принцип, который он олицетворяет, будет перевоплощаться снова и снова: в облачных конфигурациях, в микросервисных шинах, в IoT-протоколах. Принцип слепого доверия в локальном сегменте вечен. Поэтому сохраняйте хакерскую эмпатию: умение думать как система, чтобы найти в ней слабину. И сохраняйте иронию: осознавать, что самые неприступные стены часто имеют потайную калитку, которую забыли закрыть просто потому, что её рисовали на чертеже десять лет назад. Держите свои инструменты острыми, а ум - гибким. И помните: самая громкая тишина - это эфир, в котором никто не слушает, пока кто-то другой не начнёт отвечать. |
| Время: 12:34 |