Материал просмотрен 562 раз(а)

Всем привет! Сегодня мы рассмотрим одну очень любопытную на мой взгляд атаку, выполняемую на сетевую инфраструктуру предприятия, с целью захвата аутентификационных данных пользователей.

Примечательно, что атака выполняется в пассивном режиме, то есть злоумышленник практически никак себя не выдаёт, изредка подставляя себя различным сервисам (spoofing).

Этапы развития атаки

  1. Сбор хеш-свёрток паролей пользователей. На этом этапе запускается скрипт Responder.py, который начинает спуфить различные сетевые сервисы, обращения к которым идут широковещательно. Например запрос файла wpad, обнаружение топологии LLMNR, NetBIOS Name Service и другие. Иными словами, скрипт выманивает аутентификационные данные у пользователя под различными предлогами. Ну а что такого, пароль передаётся в захешированном виде – это считается нормальным.
  2. Подбор паролей различными способами; На данном этапе начинается перебор различных комбинаций с целью получить точно такой же хеш, это будет означать, что пароль найден. Здесь нам потребуется программа типа 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 и перебор паролей.

Читать подробнее:   Работа с программой hashcat (hashcat gui и oclhashcat)

Я лишь продолжу. Собираем все найденные хеши в один файл (находясь в каталоге ./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 – у меня восстановились некоторые хеши… да, там оказался очень простой пароль. 🙂

Как защититься

Ну и конечно же, мы рассматриваем данную атаку с точки зрения системного администратора. А именно, как защититься от подобного рода атак:

  1. Использовать сложные пароли. Причём длина пароля важнее количества разнообразных наборов (лучше длинное слово только маленькими, чем короткое – маленькими, заглавными, цифрами и спецсимволами).
    Читать подробнее:   Как хранить пароли от разных сервисов
  2. Разделять сеть на сегменты. Таким образом злоумышленник “увидит” только свой небольшой фрагмент сети и не будет слушать совершенно все broadcast-запросы.
  3. Отключить (при помощи GPO или вручную сетевое обнаружение).
  4. Отключить многоадресные разрешения имён
  5. Отключить протокол NetBIOS через TCP/IP (если в нём нет необходимости!!). Отключение может негативно сказаться на работоспособности сети Microsoft, если нет корректно работающего DNS-сервера.
  6. Отключить (если это не используется) сценарии автоматической настройки Proxy в свойствах браузера.

Список шагов не исчерпывающий, если знаете ещё варианты – прошу в комментарии!

Хотите ещё подобные посты? Ставьте лайк, делайте репост друзьям! Всем хорошего дня.