Содержание
Всем привет! Сегодня мы рассмотрим одну очень любопытную на мой взгляд атаку, выполняемую на сетевую инфраструктуру предприятия, с целью захвата аутентификационных данных пользователей.
Примечательно, что атака выполняется в пассивном режиме, то есть злоумышленник практически никак себя не выдаёт, изредка подставляя себя различным сервисам (spoofing).
Этапы развития атаки
- Сбор хеш-свёрток паролей пользователей. На этом этапе запускается скрипт Responder.py, который начинает спуфить различные сетевые сервисы, обращения к которым идут широковещательно. Например запрос файла wpad, обнаружение топологии LLMNR, NetBIOS Name Service и другие. Иными словами, скрипт выманивает аутентификационные данные у пользователя под различными предлогами. Ну а что такого, пароль передаётся в захешированном виде – это считается нормальным.
- Подбор паролей различными способами; На данном этапе начинается перебор различных комбинаций с целью получить точно такой же хеш, это будет означать, что пароль найден. Здесь нам потребуется программа типа hashcat – один из лучших хеш-переборщиков.
Этап 1. Сбор хеш-свёрток
Запускаем Kali Linux, подключаем наш компьютер к сети предприятия и, если работает DHCP, получаем адрес 3-го уровня. Если не работает – назначаем адрес вручную.
Следующим шагом – запускаем скрипт Responder-а:
# responder -I eth0 -w -r -f
Здесь указывается интерфейс прослушивания, получение “отпечатков”, прокси с wpad и ответы на wredir NetBIOS. Есть и другие параметры, почитать о них можно через help.
На экран выводится достаточное количество отладочной информации о текущем процессе. Кстати, логи работы ведутся в каталоге /usr/share/responder/logs, куда скидываются и найденные хеши (группируются по станциям).
Если захвачен какой-либо хеш, увидите картинку вроде этой:
Оливковым цветом подсвечены захваченные хеши. Попутно, все найденные хеши отваливаются в каталог с логами, о котором я писал выше. Вот так они выглядят:
Эффективность данного метода сбора
Результат зависит от множества факторов. Наиболее значимые – правильная настройка групповых политик и сетевого обнаружения и размер самой сети с её сегментацией. То есть, если настройки по умолчанию разрешают сетевое обнаружение, автоматический поиск сетевых узлов, запрос файлов автонастройки Proxy и т.д, а сеть большая и не сегментирована на VLAN-ы – то за короткое время можно насобирать приличное количество хеш-свёрток.
В моём примере сеть на ~40-50 узлов без сегментации за 1,5 часа наловилось порядка 5 учёток. Ну и конечно зависит от времени суток – лучше всего такую атаку запускать утром и сразу после обеда, когда люди запускают рабочие станции и начинают пользоваться сетевыми сервисами.
Напротив, у нашего коллеги сеть грамотно разбита на сегменты и я за такой же промежуток времени не поймал ни одной :).
Этап 2. Подбор паролей по найденным хешам
На сайте уже была статья про утилиту hashcat и перебор паролей.
Я лишь продолжу. Собираем все найденные хеши в один файл (находясь в каталоге ./logs/):
# cat *.txt > hash.txt
И натравливаем на него hashcat. Тип хеша 5600 (NetNTLMv2). Хотя у нас там у XP-шки проскочили хеши NTLMv1, они просто проигнорируются. В качестве алфавита возьмём малые латинские и цифры. Хотя сперва я бы прошёлся словарём, а затем уже брутом. Но для эксперимента попробуем эту команду:
# hashcat -m 5600 -w 1 --force --status --status-timer=5 -a 3 -i --increment-min=1 --increment-max=8 -1 ?d?l -o \tmp\pass.txt hash.txt ?1?1?1?1?1?1?1?
Хешрейт у меня не очень высокий – порядка 220 kH/s, но если у вас есть неплохой графический ускоритель, то удастся увеличить производительность в десятки раз. Исходя из строки Recovered – у меня восстановились некоторые хеши… да, там оказался очень простой пароль.
Как защититься
Ну и конечно же, мы рассматриваем данную атаку с точки зрения системного администратора. А именно, как защититься от подобного рода атак:
- Использовать сложные пароли. Причём длина пароля важнее количества разнообразных наборов (лучше длинное слово только маленькими, чем короткое – маленькими, заглавными, цифрами и спецсимволами).
- Разделять сеть на сегменты. Таким образом злоумышленник “увидит” только свой небольшой фрагмент сети и не будет слушать совершенно все broadcast-запросы.
- Отключить (при помощи GPO или вручную сетевое обнаружение).
- Отключить многоадресные разрешения имён
- Отключить протокол NetBIOS через TCP/IP (если в нём нет необходимости!!). Отключение может негативно сказаться на работоспособности сети Microsoft, если нет корректно работающего DNS-сервера.
- Отключить (если это не используется) сценарии автоматической настройки Proxy в свойствах браузера.
Список шагов не исчерпывающий, если знаете ещё варианты – прошу в комментарии!
Хотите ещё подобные посты? Ставьте лайк, делайте репост друзьям! Всем хорошего дня.
Comments: