мониторинг wifi kali linux

Режим мониторинга в Kali Linux для Wi-Fi адаптера TP-LINK TL-WN722N V2 / V3

Для занятия пентестингом необходим внешний адаптер Wi-Fi, так как встроенные адаптеры в ноутбуках могут и не отвечать необходимым требованиям. Чаще всего, люди занимающиеся пентестингом стараются приобрести для этих целей адаптеры Alfa, но, в России они редкие гости, да и можно найти альтернативу дешевле, например Wi-Fi адаптер TP-LINK TL-WN722N V2 / V3. Данный адаптер вполне подойдет для сканирования Wi-Fi сетей, необходимо лишь включить в нем режим мониторинга, чем мы и займемся в данной статье. Все действия проделаны в Kali Linux версии 2020.3. Подробно о данном адаптере вы можете посмотреть перейдя по данной ссылке.

Подготовка Wi-Fi адаптера TP-LINK TL-WN722N

Для начала нам необходимо подготовиться и скачать с github необходимые драйвера для этого переходим в терминал и выполняем следующие команды:

Теперь собственно клонируем с github драйвера для Wi-Fi адаптера TP-LINK TL-WN722N V2 / V3, предварительно у вас должен быть установлен пакет “git”. Для клонирования репозитория возвращаемся в терминал и выполняем следующую последовательность команд:

Данной последовательностью команд мы не только клонировали репозиторий драйверов для Wi-Fi адаптера TP-LINK TL-WN722N V2 / V3, но так же перешли в директорию выполнив команду “cd”. Далее стали root пользователем и создали конфигурационный файл “realtek.conf”. Теперь осталось лишь скомпилировать драйвера для Wi-Fi адаптера TP-LINK TL-WN722N V2 / V3. Возвращаемся в терминал и приступим к компиляции драйверов:

Включаем режим мониторинга

После установки драйверов для Wi-Fi адаптера TP-LINK TL-WN722N V2 / V3 необходимо проверить, все ли прошло успешно, для этого выполним следующую последовательность команд:

P.S. Интерфейс “wlan0” у вас может называться по другому, узнать название вашего интерфейса вы можете выполнив команды “ip a” или “sudo ifconfig”.

Заключение

Wi-Fi адаптер TP-LINK TL-WN722N имеет на борту чип Realtek RTL8188EUS, собственно, он то (чип) и играет большую роль при выборе Wi-Fi адаптера для пентестинга. Профессионалы, которые зарабатывают данным промыслом себе на хлеб, вероятней всего приобретут Wi-Fi адаптер Alfa, для своих дел. Но, не факт что оно того стоит, так как уже говорилось, альтернатив хватает. И Wi-Fi адаптер TP-LINK TL-WN722N один из них, а с учетом того что он стоит не дорого и пригоден для сканирования сетей, его вполне хватит начинающим пентестерам.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Источник

Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

Airmon-ng

Описание Airmon-ng

Автор: Thomas d’Otreppe, Первоначальная работа: Christophe Devine

Справка по Airmon-ng

Руководство по Airmon-ng

start [канал]

Включает режим наблюдения на интерфейсе (и задаёт канал).

check [kill]

Примеры запуска Airmon-ng

Просматриваем доступные сетевые интерфейсы:

Проверяем процессы, которые могут нам помешать

Перед переводом в режим наблюдения, убиваем процессы, которые нам могут помешать:

Пытаемся перевести интерфейс wlan0 в режим наблюдения:

Проверяем, была ли беспроводная карта переведена в режим монитора:

Сетевая карта изменила название интерфейса и переведена в режим монитора, наблюдения (об этом свидетельствует строка Monitor).

Возврат в режим управляемости

Альтернативный способ перевода в режим монитора

Вы можете использовать альтернативный вариант перевода беспроводного интерфейса в режим наблюдения:

Всё прошло успешно — сетевая карта переведена в режим наблюдения (об этом говорит строка Mode:Monitor).

Возврат в управляемый режим:

Перевод в режим монитора с помощью команд ip и iw

Команды ifconfig и iwconfig признаны устаревшими. Поэтому хотя предыдущий способ попрежнему прекрасно работает, доступна альтернативная его реализация с помощью новых программ. Узнайте имя беспроводного интерфейса:

Далее выполните последовательность команд

заменив на действительное имя вашего беспроводного интерфейса (у меня это wlan0):

В BlackArch (имя интерфейса wlp2s0), последовательность команд выглядит так:

Команда в одну строку:

Следующая большая команда должна сама определять имя беспроводного интерфейса и переводить его в режим монитора:

Возврат в управляемый режим:

Для интерфейса wlan0 реальные команды выглядят так:

NetworkManager препятствует переводу беспроводной карты в режим наблюдения

При определённых условиях NetworkManager может не дасть Wi-Fi адаптеру перевестись в режим монитора. Более того, уже переведённую в режим монитора беспроводную карту он может вернуть в управляемый режим. Поэтому рекомендуется отключать NetworkManager при тестировании на проникновение беспроводных сетей.

В Kali Linux и BlackArch это делается так:

Примечание, после отключения NetworkManager пропадёт Интернет!

Установка Airmon-ng

Программа предустановлена в Kali Linux.

Установка в другие операционные системы

Эта программа из пакета Aircrack-ng. Т.е. для её установки нужно установить Aircrack-ng.

Источник

🕵 Как взломать Wi-Fi с помощью Kali Linux 2020.4 и Ubuntu 20.04

Текст статьи не является руководством к действию и публикуется для ознакомления с методами взлома и построения грамотной защиты. Напоминаем, что за преступления в сфере компьютерной информации предусмотрена ответственность по статье 274 УК РФ.

1. Установка Kali в VirtualBox

Рис. 1. Установка Kali Linux в VirtualBox

Рис. 2. Установка Kali Linux в VirtualBox

Рис. 3. Ввод логина и пароля в Kali Linux

2. Установка aircrack-ng

Aircrack-ng – набор инструментов для мониторинга, пентестинга Wi-Fi сетей и взлома WEP, WPA 1 и 2. В Kali утилита aircrack-ng предустановлена. В Ubuntu выполним следующую команду:

3. Установка bettercap

Перейдем в каталог с bettercap:

4. Мониторинг сети

Рис. 4. Включение беспроводного USB Wi-Fi адаптера в Kali Linux в VirtualBox Рис. 5. Wi-Fi адаптер из AliExpress за 150 руб., который использовался для мониторинга Wi-Fi

ifconfig » data-src=»https://media.proglib.io/posts/2020/12/09/148faef8aa19a7a8d8869b1b231dd4fd.png» > Рис. 6. Узнаем имя адаптера командой ifconfig

Сначала отключим ненужные процессы:

Затем переключим адаптер в режим мониторинга:

Запустим bettercap следующей командой:

Рис. 7. Запуск bettercap в Kali Linux

Рис. 8. Мониторинг Wi-Fi сетей с помощью bettercap в Kali Linux

Рис. 9. Просмотр обнаруженных W-Fi сетей с помощью bettercap в Kali Linux

5. Получение рукопожатий

Повторяем эту команду, пока не перехватим рукопожатия.

wifi.deauth * и wifi.deauth all отключают все устройства на всех точках доступа.

Рис. 10. Перехват рукопожатий с помощью bettercap в Kali Linux

Четырехстороннее рукопожатие

Четырехстороннее рукопожатие (англ. four-way handshake) – механизм создания парного переходного ключа PTK для защиты трафика.

Самое важное рукопожатие – второе . В дополнение к нему необходимо первое и/или третье рукопожатие. Лучший минимальный вариант – второе и третье рукопожатия.

Рис. 11. Схема четырехстороннего рукопожатия точки доступа (AP) и клиента (STA)

6. Выбор нужных рукопожатий

В Ubuntu установим WireShark:

Рис. 12. Просмотр рукопожатий в программе WireShark

Рис. 13. Экспорт рукопожатий в программе WireShark

Рис. 14. Сохранение рукопожатий в программе WireShark

7. Получаем пароль

Для начала, конвертируем файл hs.pcap в файл hs.hccapx (в команде новый файл пишется без расширения, только название):

Это нужно, чтобы программа по расшифровке хеша hashcat смогла прочесть файл. Она подбирает пароли с помощью ЦП и/или ГП.

8. Подбор по словарю

В Ubuntu установим hashcat командой:

Рис. 16. Пример словаря для атаки по словарю

Чтобы начать перебор по словарю введем команду:

Расшифруем значения опций:

—force – скрыть ошибки.

-m2500 – тип взламываемого хеша WPA-EAPOL-PBKDF2.

-a0 – атака по словарю. Можно без этого флага, так как он работает по умолчанию.

/home/kali/hs.hccapx – файл хеша.

В случае успеха статус взлома примет значение Cracked и мы получим пароль (рис. 17).

Рис. 17. Успешный взлом пароля атакой по словарю утилитой hashcat

9. Брутфорс и атака по маске

При брутфорсе (англ. brute force) перебираются все возможные символы. Используя маски, мы сужаем диапазон подбираемых символов, например, только числа или только числа и строчные символы. Таким образом на перебор требуется меньше времени. Этот подход удобен, если мы примерно знаем, как человек придумывает пароли. Из атаки по маске можно сделать брутфорс, включив в перебор все символы.

Для атаки по маске введем следующую команду:

-m2500 – тип взламываемого хеша, WPA-EAPOL-PBKDF2.

-a3 – атака по маске.

-1?l – маска по прописным латинскими буквам (прописная буква L ).

-2?d – маска по цифрам.

hs.hccapx – файл хеша.

?1werty?2?2 – предполагаемый пароль с неизвестными символами. В данном случае задача упрощена для экономии времени.

Рис. 18. Успешный взлом пароля атакой по маске утилитой hashcat

a ?l?u?d?s b 0x00 – 0xff

Команда для расчета через видеокарту:

10. Комбинаторная атака

В комбинаторной атаке используются два словаря. Слова из двух словарей конкатенируются. Если словари содержат следующие слова:

то после их соединения получим такой словарь:

Запустим комбинаторную атаку:

/home/kali/dic1.txt – первый словарь.

/home/kali/dic2.txt – второй словарь.

Рис. 19. Успешный взлом пароля комбинаторной атакой утилитой hashcat

11. Куда сохраняется пароль

После удачной расшифровки пароль выводится на экран и записывается в файл

Откроем его в текстовом редакторе, чтобы посмотреть результат:

12. Онлайн-сервисы по расшифровке хеша

Также хеш был отправлен в бесплатный онлайн-сервис по расшифровке хеша onlinehashcrack.com и через 12 часов 6 минут пришло письмо, что пароль получен (рис. 20).

Рис. 20. Результаты взлома пароля с помощью сервиса onlinehashcrack.com

Платформа passcrack.online получила пароль за 5 минут (рис. 21). С отправки в онлайн-сервисы лучше начинать расшифровку, так как вычислительных ресурсов у них больше, чем у домашнего компьютера.

Рис. 21. Результаты взлома пароля с помощью сервиса passcrack.online

13. Разница между WPA2 и WPA3

В июле 2018 года Wi-Fi Alliance выпустил протокол беспроводной безопасности WPA3. Посмотрим, чем он отличается от своего предшественника.

Преимущества WPA3 в сравнении с WPA2:

Общее уязвимое место у WPA 2 и 3 – WPS (Wi-Fi Protected Setup).

14. Дополнительные материалы

Словари

Онлайн-платформы для расшифровки хеша

Бесплатные

Платные

Чем открыть большой текстовой файл

Бесплатные программы для чтения и редактирования больших txt-файлов.

Чтение

Редактирование

Полезные ссылки

Законодательство

Саундтреки из сериала «Мистер Робот»

Мы научились мониторить Wi-Fi сети, проводить деаутентификацию подключенных к точке доступа устройств, перехватывать рукопожатия, получать пароли методом подбора по словарю и брутфорсом. Также узнали разницу между WPA2 и WPA3, и определили их общее уязвимое место.

Несколько рекомендаций, повышающих информационную безопасность:

Источники

[1] Самль, С. Д., Роуминг в защищенных беспроводных сетях с использованием IEEE 802.11i. «Научно-практический электронный журнал Аллея Науки» №6(22) 2018.

[2] Кухта А. И., Анализ методов защиты беспроводной сети Wi-Fi. «Молодой исследователь Дона» №2(23) 2020.

Источник

Невидимый гость: вскрываем беспроводную сеть компании с Kali Linux и Raspberry Pi

Сегодня рассмотрим, как относительно незаметно протестировать безопасность беспроводной сети компании. В качестве основы будет использоваться Raspberry Pi, который поддерживает установку Kali Linux. Установка дистрибутива довольно проста:

Статья носит информационный характер. Не нарушайте законодательство.

Теперь, когда система готова к работе, осталось только настроить запуск программ при старте системы, т.к. предполагается, что Raspberry Pi будет установлена непосредственно в радиусе действия нужной точки доступа для автономного сбора данных авторизации Wi-Fi. Для работы с WPA2-Personal есть множество инструментов с различной степенью интерактивности, но нестареющей классикой все же является набор aircrack-ng. В его состав входят различные вспомогательные модули, которые позволяют полноценно провести тестирование беспроводных сетей от переключения интерфейса в режим монитора до перебора пароля. В нашем случае необходимо только перехватить хендшейки Wi-Fi и сохранить их для последующего анализа.
Сделать это можно с помощью планировщика заданий crontab. Соответствующие строчки нужно добавить для запуска скриптов wifi.sh и eaphammer.sh:

Wifi.sh будет переводить беспроводной интерфейс в режим монитора и запускать инструмент airodump-ng с сохранением найденных хендшейков WPA2-Personal в файл для дальнейшего анализа.

В команде запуска airodump-ng необходимо обязательно указать параметры беспроводного интерфейса и файл, в который будут сохраняться полученные рукопожатия (данные, которые передаются во время подключения пользователя к точке доступа), используя ключ -w. Дополнительно рекомендуется указывать BSSID (MAC-адрес точки доступа) с помощью ключа —bssid и канал, на котором она работает, используя . Это не обязательно, но если указать, то перехватываться будут только нужные данные.

Второй скрипт будет запускать инструмент eaphammer, предназначенный для перехвата учетных данных при использовании протокола WPA2-Enterprise.

Инструмент работает по принципу «злого двойника», поэтому в параметрах запуска инструмента обязательно указывать:

Сохраняем настройки, и в дальнейшем скрипты будут запускаться вместе со стартом системы.

Тестирование

Для проведения тестирования необходимо любым удобным способом расположить Raspberry Pi в радиусе действия точки доступа так, чтобы его никто не заметил, пока будут собираться данные. Установке для работы необходимо обеспечить 5V и 2-2.5A питания. Исключив возможность использовать адаптер для подключения к розетке, необходимо подумать об аккумуляторе типа powerbank’а для обеспечения бесперебойной работы на весь срок тестирования.
В завершение остается только забрать установку и проанализировать полученные данные. При использовании eaphammer данные будут в виде хендшейка записываться в папку loot, которая находится там же, где и сам инструмент, но лучше перестраховаться и добавить в скрипте запуска инструмента перенаправление вывода для записи в какой-нибудь файл. Тогда анализ будет заключаться только в поиске учетных данных в выходном файле.

Если удалось перехватить данные для подключения к WPA2-Personal, то останется только попытаться подобрать пароль по словарю. Выполнить перебор можно разными инструментами:

Если же сравнивать производительность инструментов, позволяющих использовать мощности CPU и GPU при переборе, то разница между, например, Aircrack-ng и Hashсat будет довольно существенна. Даже если сравнивать режимы перебора с использованием мощностей CPU и GPU по отдельности при переборе через Hashсat, то в первом случае, используя, например, CPU Xeon E5450 скорость будет

3500 PMK/s, а при использовании GPU, например, GTX 1050Ti скорость возрастет до

Исходя из того, что перехвачено всего одно рукопожатие, то целесообразнее будет перебирать пароль с помощью Aircrack-ng. Так как изначально указывался только номер канала, для которого захватывались рукопожатия, то и при чтении дампа будет указан работающий на этом канале список точек доступа, а также информация о том, был ли для какой-то из них получен хендшейк.

Выбираем интересующую сеть «PTT», и начинается процесс перебора. В Интернете есть множество различных ресурсов, где можно подобрать интересующий словарь, например, тут или тут.

Помимо открытых ресурсов, есть и специализированные инструменты для генерации собственных словарей. Одним из таких является Crunch, который в использовании довольно прост:

Рекомендации для снижения возможности компрометации беспроводной сети

Источник

Wi-Fi сети: проникновение и защита. 2) Kali. Скрытие SSID. MAC-фильтрация. WPS

Первая часть цикла была очень живо встречена хабрасообществом, что вдохновило меня на ускоренное написание следующей части. К предыдущей статье было оставлено много дельных комментариев, за что я искренне благодарен. Как говорится, хочешь найти огрехи в своих знаниях — напиши статью на Хабр.

В этой статье мы поговорим о том, как можно обнаружить «скрытые» сети, обойти MAC-фильтрацию на точке доступа и почему же WPS (QSS в терминологии TP-LINK) — это «бэкдор в каждом доме». А перед этим разберёмся, как работает беспроводной адаптер и антенна и как Kali Linux (ex. Backtrack) поможет нам в тестах на проникновение в беспроводные сети.

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

Перед прочтением настоятельно советую ознакомиться с матчастью — она короткая, но на её основе базируются все наши дальнейшие действия и выводы.

Kali… Kali Linux

Узнав о существующих на сегодня механизмах защиты беспроводных сетей в первой части самое время использовать эти знания на практике и попытаться что-нибудь взломать (естественно, принадлежащее нам самим). Если получится — наша защита никуда не годится.

Все манипуляции будем проводить с использованием Kali Linux — kali.org. Это сборка на основе Debian, которая до этого была известна под именем Backtrack. Если вы впервые знакомитесь с этой системой, то советую начать сразу с Kali, так как там есть всё то, что было в Backtrack, но в более свежем виде.

(Читатели подсказывают, что есть и другие подобные сборки — например, wifiway.org. Однако я с ними не работал.)

Под Windows тоже можно делать многое из описанного, но основная проблема в отсутствии/плохой поддержке режима монитора беспроводных адаптеров, из-за чего ловить пакеты проблематично. Кому интересно — обратите внимание на CommView и утилиты Elcomsoft. Все они требуют специальных драйверов.

Kali очень удобно использовать с флешки — у неё по наследству от Debian Wheezy (у меня одного закладывает нос от такого названия?) есть persistence mode, который позволяет загружаться в трёх режимах: работы без сохранения данных (read only), работы с их сохранением на отдельный раздел на флешке, так называемом persistence, или работы без сохранения в live/vanilla mode (то есть read only и без использования данных в persistence — изначальная чистая версия дистрибутива).

Но, естественно, кто хочет установить её на жёсткий диск может легко сделать это и из загрузчика, и из уже запущенной оболочки. ОС (LVM) поддерживает шифрованные разделы. Кроме этого, можно сделать собственную сборку Kali — добавить пакеты, настроить загрузчик и прочее. Всё это подробно описано в документации и проблем не вызывает, хотя сборка требует пары часов времени.

Режим persistence

Эта статья — не руководство по Linux, однако у меня самого были проблемы с запуском этого режима, поэтому решил специально описать его работу.

Пользоваться Kali вполне можно и в режиме Live CD, но если вы хотите иметь возможность сохранять состояние системы между перезагрузками (данные и настройки) — нужно создать отдельный ext2-раздел на флешке с именем persistence, для чего можно использовать GParted в составе самой Kali и разбить флешку прямо во время работы с неё. Когда раздел создан — смонтируйте его и запишите туда единственный файл с именем persistence.conf и таким содержимым:

Далее при каждой загрузке Kali нужно указать, в каком режиме запускать систему. Для этого в загрузчике при выделенном первом пункте Live (i686-pae) (аналогично с x64) нажимаем Tab — появляется строка загрузки ядра. Туда в конец добавляем пробел и тип загрузки:

Чтобы не вбивать эти режимы при каждой загрузке можно создать свою сборку Kali (см. инструкции на сайте) — там есть настройка загрузчика, куда можно вписать нужные режимы так, чтобы изначально загружаться в persistence persistence-read-only — на мой взгляд, это самое удобное, так как изначально настроил всё, что нужно, а затем каждая сессия начинается с чистого листа.

Use the tools, Luke

Собрание окончено, расходимся, расходимся.

Ну, вот и добрались до терминала. Посмотрим, кто вокруг нас светит ультраволнами.

Режимы работы Wi-Fi адаптера

Но для начала нужно перевести наш беспроводной адаптер (сетевую карту) в «хакерский режим» — monitor mode.

Дело в том, что каждый Wi-Fi адаптер, а точнее, антенна, на физическом уровне улавливает любые сигналы, пересылаемые устройствами в радиусе действия. Антенна не может «не принимать» посторонние пакеты. А вот драйвер может работать в трёх режимах (на самом деле 6, но это за рамками данной статьи):

На картинке выше жирные линии показывают пакеты, которые мы перехватываем в разных режимах, а прерывистые линии — это пакеты, улавливаемые нашей антенной, но отбрасываемые драйвером из-за выбранного режима.

Открываем терминал и выполняем:

wlan0 — идентификатор устройства-адаптера. В *nix это wlan + порядковый номер (wlan0, wlan1, wlan2 и т.д.). Номер адаптера можно узнать, выполнив ifconfig или iwconfig (эта выведет только устройства беспроводных адаптеров и специфичную для них информацию).

Если airmon-ng выведет сообщение (monitor mode enabled on mon0) — значит, адаптер успешно переведён в режим наблюдения.

Беспроводные каналы

Wi-Fi — технология передачи данных по радиоканалу, то есть даром с использованием того же механизма, что и в радиостанциях. И точно так же, как в радиостанциях, если передавать слишком много данных на одной частоте (обычно 2.4 ГГц), то нельзя будет разобрать, что к чему относится. Для этого существует разделение на каналы.

Всего каналов 13, хотя последний канал — тринадцатый — несчастливый и в некоторых странах запрещён, поэтому чаще всего используются 1-12. Однако 13-й можно включить, выбрав для беспроводного адаптера такую страну, как Боливия (BO) — или любую другую, где данная частота разрешена. Да, техническая возможность, как это часто бывает, есть в любом адаптере, но заблокирована по этическим предпочтениям.

Кроме этого есть и 14-й канал (японцы, как всегда, отличились) и частота 5 ГГц с ещё 23 каналами. Вообще, каналы 2.4 ГГц частично пересекаются, плюс их ширина может быть 20 и 40 МГц. Эта тема запутанная из-за наличия разных версий стандарта — кому интересно могут почитать в Википедии. Нам хватит и того, что уже сказано. Пока ещё 5 ГГц применяются реже, но описанные далее приёмы применимы и к этой частоте.

Некоторые используют 13-й канал для скрытия своих сетей, но этот способ здесь даже не рассматривается, так как достаточно перевести адаптер в нужный регион, как он сам их увидит. Например:

Любой беспроводной адаптер может принимать и передавать данные только на одном канале за раз. Однако текущий канал можно менять сколь угодно часто — для получения полной информации о беспроводных передачах вокруг airodump-ng (после рекламы ниже) переключает канал несколько раз в секунду и ловят всё, что попадается. Это называется channel hopping («прыжки по каналам»). Это делают и системные программы — например, NetworkManager для GNOME, который показывает список беспроводных сетей в правом верхнем углу.

Если канал не зафиксирован, то некоторые пакеты могут быть потеряны — адаптер переключился на соседний канал, а в это время по предыдущему каналу прошёл новый пакет, но его антенна уже не уловила. Это критично, когда вы пытаетесь перехватить handshake, поэтому для отключения всех программ, которые используют беспроводной адаптер и не дают зафиксировать канал, используется эта команда:

Без kill будет выведен список всех подозрительных процессов, а с kill они будут завершены. После этого адаптер останется целиком в вашем распоряжении. Команду выше рекомендуется выполнять перед любыми действиями, кроме простого обзора сети, так как беспроводной адаптер — общий ресурс; несколько программ могут использовать его одновременно (например, можно ловить список сетей в airodump-ng и одновременно подбирать WPS в reaver), но любая из них может переключить канал, поэтому важно зафиксировать его и при её запуске (обычно параметр называется -c или —channel).

Antenna overclock
Они среди нас

airodump-ng — команда для сбора пакетов в радиоэфире. Она выводит в консоль две таблицы. В верхней выводятся найденные беспроводные сети, в нижней — клиенты, подключенные к ним, или не подключенные, но с активным беспроводным адаптером, транслирующем какие-то пакеты (например, о поиске сети с определённым именем).

Последнее, кстати, особенно интересно, так как мы можем любезно предоставить им искомую сеть и посмотреть, что нынче модно в «Одноклассниках»? На эту тему на днях комрадом KarasikovSergey была опубликована статья с использованием Karma — но так как это уже на гране вредительского проникновения в этом цикле мы эту тему затрагивать не будем. Но это действительно проблема и стоит позаботиться о том, чтобы ваше устройство не цеплялось за все сети без вашего разрешения, в том числе за известные — аутентичность точек доступа не проверяется и вы вполне можете оказаться в сети злоумышленника. Во всех смыслах.

Однако вернёмся к нашим волнам. Ниже пример вывода airodump-ng:

Столбцы первой таблицы с доступными беспроводными сетями:

Столбцы второй таблицы с беспроводными клиентами:

Скрытые сети… такие скрытые

Часто в быту можно услышать, что скрытые сети очень сложно обнаружить/подключиться/взломать/унести (нужное подчеркнуть). Однако как уже было показано, «скрытая» сеть — не что иное, как сеть, не передающая маячки о своём существовании 10 раз в секунду, либо передающие их, но с пустым ESSID и другими полями. На этом разница заканчивается.

Как только к такой сети подключается клиент, он передаёт её ESSID и пароль, и если такая сеть существует в радиусе действия — точка доступа отвечает на запрос и проводит все обычные процедуры по авторизации и передаче данных. А если клиент уже был подключен ранее — его можно увидеть в списке активных адаптеров… и отключить.

Каждый подключенный клиент общается с базовой станцией по её BSSID — и это именно то, что мы видим в обеих таблицах airodump-ng. Мы можем «отключить» клиента от сети, после чего он должен будет подключиться вновь — и в этот момент airodump-ng перехватит рукопожатие со всеми идентификаторами и ключами. Либо мы можем просто оставить ноутбук включенным на пару часов с airodump-ng на нужном канале и подождать. Кстати, при успешном «вскрытии» в правом верхнем углу появится сообщение вида [ Decloak: 00:00:11:11:22:22 ] с BSSID точки доступа, конспирацию которой мы раскрыли.

Отключение клиентов предусмотрено во всех беспроводных стандартах и делается с помощью aireplay-ng (все три уже знакомые нам утилиты — часть проекта Aircrack-ng, который содержит в своём наборе всевозможные инструменты для работы с тонкими материями):

Внимание: эта команда — исключение и принимает идентификатор реального беспроводного адаптера, а не mon0, созданного с помощью airmon-ng.

Команда выше имитирует ситуацию, когда точка доступа сообщает клиенту, что старый ключ недействительный (и что его следует обновить, повторив handshake, то есть передав пароль и имя сети заново). На адрес клиента отправляются сообщения якобы от точки доступа о том, что следует отключиться от сети и обновить данные сессии. Так как этот тип пакетов не защищён шифрованием (то есть команда может быть выполнена ещё до аутентификации), то противодействовать ему невозможно по той простой причине, что невозможно установить «личность» того, кто это рассылает — MAC-адреса в пакетах поддельные и установлены в те значения, которые мы передали после -a и -c. Можно только отслеживать слишком частые отключения и принимать какие-то меры.

Итак, допустим во второй таблице airodump-ng мы видим следующую строчку:

Первый столбец — значение для -a (MAC базовой станции), второй — для -c (MAC клиента). Перезапустим airodump-ng и зафиксируем его на канале 5 (это канал нашей атакуемой станции), после чего выполним отключение клиента в соседнем окне терминала:

Как видим, данный трюк со скрытием маячков можно использовать для домашних сетей, к которой кто-то подключается пару раз в день, да и то не всегда — но для корпоративных сетей он точно не подходит, так как раскрывается буквально одной командой и защиты от неё нет. На мой взгляд даже для частных сетей это скорее неудобство, чем польза — вводить-то имя надо вручную, да и не понятно, активна ли вообще базовая станция или нет.

Также, -c (клиентский MAC) можно не указывать — тогда от имени точки доступа будут разосланы широковещательные (broadcast) пакеты об отключении всех клиентов. Однако сегодня это редко работает — драйвера игнорируют такие пакеты, так как правомерно считают, что дело нечисто — точка доступа всегда знает, кто к ней подключен, и рассылает направленные пакеты для конкретного клиента.

Фильтрация по MAC — ведь это так просто

Очень часто я слышу рекомендации, что первым делом после создания сети нужно ограничить список её клиентов определённым набором MAC-адресов, и тогда-де пароль вообще ни к чему. Однако это ограничение обходится так же легко, как и обнаруживаются скрытые сети.

В самом деле, каждый клиент — подключенный к сети или нет — раскрывает свой MAC-адрес при передаче любого пакета. В таблице airodump-ng эти адреса видны в столбце STATION. Соответственно, как только мы увидели сеть, куда нам почему-то не попасть (Linux обычно рапортует об Unspecified failure на этапе подключения, а Windows долго думает, после чего сообщает о неизвестной ошибке), и тут же в списке видим связанного с этой сетью клиента — мы можем взять его MAC-адрес и поменять свой на него. Последствия могут быть разными и может даже стукнуть. Если сделаем это при активном клиенте — в сети появится клон и клиента может «заглючить», так как он будет получать ответы на пакеты, которые он не отправлял. В итоге может отключиться, а может продолжать работать, предупредив о проблеме пользователя — или нет. Но вариант лучше — записать его MAC и подключится, когда он уйдёт.

В Linux изменить MAC своего адаптера можно следующим образом (работает как для проводных сетей, так и для беспроводных):

Предварительно нужно отключить любые mon-интерфейсы. Проверить, заработала ли подмена, можно вызвав ifconfig wlan0 — в строке Hwaddr должен быть указанный выше MAC.

Кроме того, в *nix есть macchanger — с его помощью можно выставить себе случайный MAC. Если поставить его в init.d, то неприятель будет совершенно сбит с толку, так как при каждой загрузке наш MAC будет другим (работает для любых проводных и беспроводных адаптеров, как и ifconfig).

В Windows нужно провести кое-какие манипуляции с реестром, но по этой теме лучше проконсультироваться с Google. (Читатели в лице alexeywolf подсказывают инструмент TMAC, который делает это в автоматическом режиме.)

WhooPS

Диаграмма выше описывает процесс подключения клиента к точке доступа с помощью PIN-кода. PIN — 8 цифр, которые обычно наклеены на самом роутере. Клиенты, поддерживающие WPS, могут подключиться к сети либо по обычному паролю WEP/WPA, либо с помощью PIN, причём введя последний клиент получает пароль сети в чистом виде.

По стандарту, последняя цифра в PIN — это контрольная сумма, то есть её можно вычислить исходя из остальных цифр. Таким образом, если бы мы хотели перебрать все возможные комбинации, то это потребовало бы 10 7 попыток (в основании — число возможных символов (0-9 — десять), в степени — длина строки) — 10 миллионов, что есть около 116 дней, если мы пробуем один код в секунду. Обычно скорость в несколько раз ниже, поэтому на подбор бы ушло больше года.

Однако в стандарте допущена ошибка. Процесс авторизации проходит в несколько этапов. Если переданный нами PIN — верный, то точка доступа сообщает об успехе. Если первые четыре цифры PIN — верные, а цифры 4-7 — нет, то точка доступа сообщит об этом после передачи нами пакета M6. В случае же ошибки в первых четырёх цифрах мы узнаем об этом раньше — после пакета M4. Эта проблема была найдена в конце 2011 и описана здесь. По горячим следам авторами исследования был создан reaver-wps, опубликованный затем на Google Code. Там же можно найти документ оригинального описания уязвимости.

Итак, допустим наш PIN — 99741624. Мы пытаемся подключиться, используя PIN 99740000 — получаем отказ в авторизации после передачи пакета M6 (так как первая половина кода верна). Если же мы подключимся с 00001624 — отказ будет после M4.

Как видим, основная проблема в том, что мы можем узнать о правильности одной части кода даже при том, что во второй содержится ошибка. Что это даёт? Теперь вместо 10 миллионов комбинаций нам нужно попробовать всего лишь 10 4 + 10 3 = 11 000. Это более чем реально сделать не то что за неделю — за 15 часов, а обычно быстрее.

Обратите внимание: цифр для подбора именно 7, а не 8, так как последняя — контрольная сумма и мы её рассчитываем сами, поэтому её подбирать не нужно. В примерах ниже это #.

Посмотрим ещё раз. Мы начинаем перебор с 0000000#. Отказ после M4 (ошибка в первых 4 цифрах). Меняем на 0001000#. Отказ после M4. 0002000#. M4. Доходим до 9974000#. О! Отказ после М6. Первые 4 цифры угаданы.

Дальше — точно так же. Имея половину кода постепенно увеличиваем вторую. 9974001#. Отказ. 9974002#. Отказ. 99741624. Принято.

Вот в этом и суть Wi-Fi Unprotected Setup «Защищённой настройки Wi-Fi».

Reaver

А вот теперь мы проверим, насколько добросовестно ваша точка доступа выполняет свои обязанности. Если у вас нет роутера с WPS — всегда можно протестировать соседский вам эта атака не грозит.

Для эксплуатации уязвимости в WPS у Kali есть несколько утилит, но на мой взгляд самая наглядная и гибкая — тот самый reaver. Синтаксис вызова:

Кроме этого мы можем указать:

Прервать reaver можно с помощью Ctrl+C, при этом он сохранит текущий прогресс для этой сети и при повторном запуске начнёт с прерванного PIN. Если вы работаете в live-режиме (read only), то данные сессии можно переписать с /etc/reaver/ на постоянный носитель и при следующей загрузке записать их обратно. В этой папке хранятся текстовые файлы с именами вида AP_MAC.wpc и списком всех номеров для перебора внутри (первая строка — номер строки с PIN, с которого начать перебор при повторном запуске).

Про WPS ещё два года назад писали на Хабре и не только, так что легко можно найти больше информации.

(mailbrush посоветовал также обратить внимание на bully, который тоже есть в Kali и выполняет аналогичную задачу.)

Что делать?

На сегодняшний день единственный вариант — отключить WPS. Если у вас или ваших знакомых сложности с «настройкой» сети (во что с трудом верится) — включайте WPS только в момент подключения нового устройства. Правда, не все роутеры/прошивки вообще дают эту возможность, но будь у меня такой не глядя пошёл бы менять на другой.

Однако же не всё так плохо. Более новые прошивки ограничивают возможность подбора с помощью rate limiting — после нескольких неудачных попыток авторизации WPS автоматически отключается. Некоторые модели увеличивают время отключения ещё больше, если за короткий интервал были сделаны ещё неудачные попытки войти. Тем не менее, полагаться на это можно только после тщательной проверки в вашем конкретном случае — может получиться, что время отключения короткое или оно увеличивается недостаточно — помните, что 11 000 комбинаций это очень мало и даже делая по одной попытке в минуту на весь диапазон уйдёт максимум 8 дней. И при этом PIN меняется отдельно от пароля сети, поэтому последний вы можете обновлять сколь угодно часто, никак не усложняя перебор PIN.

Кстати, в Сети можно найти эксперименты по обходу блокировки во времени с помощью эксплоитов, заставляющих роутер перезагружаться — при этом, естественно, таймаут WPS сбрасывается и можно вновь продолжать подбор. Так что рассчитывать на «защиту от WPS» не стоит.

Перечисление сетей

Напоследок несколько слов о вечном об альтернативах reaver.

reaver будет пытаться атаковать любую сеть, которую вы ему передадите в виде параметра BSSID, но она может не поддерживать WPS — в этом случае программа зависнет над Waiting for beacon. и через полминуты сообщит о том, что сеть не обнаружена.

Проверить, какие сети в округе поддерживают WPS, можно несколькими способами.

На этом с «читерскими» методами проникновения всё. В третьей части — о перехвате рукопожатий клиентов при подключении к сети и подборе паролей к WPA(2) с помощью CPU и GPU.

Отдельное спасибо товарищу chem_ua за полезные замечания при вычитке статьи.
Диаграммы были нарисованы на gliffy.com.

Как обычно, комментарии по делу — приветствуются.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • мониторинг ssd windows 10
  • мониторинг ssd mac os
  • мониторинг smart hdd zabbix windows
  • мониторинг grafana windows server
  • монитор температуры процессора и видеокарты windows 10

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии