Что такое captive portal

Captive Portal

Гостевая сеть по закону.
Или вообще по вашим правилам

На любой модели Keenetic всего в несколько кликов можно создать хотспот или публичную зону Wi-Fi c обязательной авторизацией пользователей.

Зачем нужен Captive Portal?

Существует несколько сценариев, где эта функция обязательна или востребована. Начнем с того, что, в, например, соответствии с законом «О связи» РФ, все выходы в интернет должны быть авторизованы. Это значит, что клиентам, подключенным по Wi-Fi и сетевому кабелю к хотспоту, нужно пройти обязательную аутентификацию. Кроме того, Captive Portal может служить для сбора открытых данных о клиентах заведения при авторизации через социальные сети. Еще один популярный вариант — размещение рекламы и опроса посетителей на оформленной под заведение стартовой странице авторизации.

Где обычно развертывают Captive portal?

Этой функцией пользуются гостиницы, автомойки, рестораны, торговые центры, общественный транспорт, вокзалы, фитнес-клубы, университеты, парковые зоны, музеи.

Как работает Captive Portal?

Интернет-центр перехватывает весь трафик http/https подключенных к нему пользователей как по проводным портам LAN так и по Wi-Fi. Далее трафик перенаправляется на выделенный веб-сервер и после авторизации (SMS или телефонный звонок) пользователю предоставляется доступ в Интернет. Авторизация привязывается к MAC-адресу абонентского устройства.

Что нужно для подключения Captive portal, к примеру, владельцу ресторана?

Требуется купить в магазине любую модель Keenetic, подключить интернет по любому каналу связи: Ethernet, xDSL или 4G. Выбрать поставщика сервиса Captive Portal (Мегафон, WiFi Systems, WiFly и др.) по подходящему тарифу и настроить интернет-центр. Captive Portal работает во всех моделях Keenetic, на которые можно установить версию операционной системы 2.10 и новее.

Чем Captive Portal в Keenetic лучше конкурентов?

Профили ведущих поставщиков сервиса добавлены в веб-интерфейс. Достаточно ввести параметры учетной записи из личного кабинета поставщика сервиса. Конкуренты либо не поддерживают профили, либо единичный пример профиля в каждом ПО. Как правило, на роутеры конкурентов устанавливают прошивки open-wrt или dd-wrt, и далее пользователь остаётся сам со своими проблемами, не получая поддержку ни от автора прошивки, ни от производителя роутера. Вас ждут многостраничные инструкции с десятками нетривиальных действий либо, в лучшем случае, подготовленные скрипты для упрощенной настройки, но только какого-то одного сервиса.

Интернет-центры Keenetic рекомендованы большинством поставщиков сервиса авторизации. Все профили интегрированы после успешных тестов.

Captive Portal поддерживается во всей текущей линейке Keenetic и по умолчанию будет поддерживаться в будущих моделях.

Достаточно одного интернет-центра Keenetic для развертывания хотспота, к примеру, в небольшом кафе. У ряда конкурентов приходится устанавливать контроллер с функцией хотспота и к нему дополнительно точки доступа.

Источник

Настройка Captive Portal для авторизации пользователей

Captive Portal – сетевой сервис авторизации и идентификации пользователей. Наиболее часто используемый при построении общественных Wi-Fi сетей, где необходимо ограничивать права доступа в сеть Интернет или взымать дополнительную плату за её использование. По сути своей представляет веб-портал где пользователю предлагается указать учетные данные для дальнейшей идентификации в сети.

С точки зрения информационной безопасности, Captive Portal необходимая мера при использовании корпоративной Wi-Fi сети. И с реализацией его прекрасно справляются межсетевые экраны нового поколения (NGFW) Palo Alto Networks.

Далее мы рассмотрим подробную инструкцию по установке и настройке Captive Portal для использования в корпоративной Wi-Fi сети. А так же наиболее часто возникающие проблемы, с которыми приходится сталкиваться системному администратору.

Настройка шаг за шагом.

Шаг 1. Необходимо определить по какому из интерфейсов будут инициироваться запросы от пользователей на авторизацию и дать ему права на данную процедуру.
В нашем случае это ethernet1/5. Для того чтобы разрешить данному интерфейсу авторизацию Captive Portal, необходимо в Network – Network Profiles – Interface Mgmt создать или использовать уже имеющийся профиль, в котором разрешить сервисы Response Pages и User-ID.

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Далее на вкладке Network – Interfaces выбрать нужный нам интерфейс и в Advanced – Other Info указать ранее созданный профиль:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Шаг 2. Необходимо сгенерировать или использовать сертификат, подписанный третьей стороной, для идентификации самого Captive Portal и дальнейшего безопасного с ним соединения. В этой статье мы будем рассматривать первый вариант. На вкладке Device – Certificate Management – Certificates нажимаем кнопку Generate. В появившемся окне нам необходимо внести данные для генерации корневого сертификата.

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Certificate Name – произвольное имя сертификата
Common Name – IP или FQDN адрес интерфейса, который будет использоваться для Captive Portal
Certificate Authority – установить галку, для того чтобы сертификат был корневым

Теперь нам нужно сгенерировать сертификат непосредственно самого портала, подписанного корневым. Для этого еще раз нажимаем кнопку Generate и вводим следующие данные:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Certificate Name – произвольное имя сертификата
Common Name – IP или FQDN адрес Captive Portal
Signed By – указываем ранее созданный корневой сертификат
IP – добавляем IP атрибут Captive Portal
Host Name – в случае если у Captive Portal имеется FQDN адрес, то указываем и его

После нажатия на кнопку Generate в списке сертификатов у нас должен появится наш новый, подписанный корневым.

Шаг 3. Создаем SSL/TLS профиль, который будет использоваться для авторизации пользователей.
Переходим на вкладку Device – Certificate Management – SSL/TLS Service Profile и нажимаем Add.

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Name – произвольное имя профиля
Certificate – выбираем ранее созданный сертификат (подписанный корневым)
Min Version – рекомендуется использовать наиболее защищенный TLSv1.2

Шаг 4. Переходим к настройкам непосредственно самого CaptivePortal.

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Enable Captive Portal – включаем портал
Idle Timer (min) – таймер бездействия пользователя, по окончанию которого портал потребует повторного введения учетных данных
Timer (min) – общий таймер, по окончанию которого пользователю будет предложено заново ввести учетные данные
Mode – во избежание ошибки сертификата в браузере пользователей, рекомендуется использовать режим Redirect, таким образом будет происходить перенаправление на страницу Captive Portal. В случае же с Transparent, шлюз будет подменять запрашиваемый сайт пользователем на страницу Captive Portal, что может быть расценено браузером как попытка кражи конфиденциальных информации
SSL/TLS Service Profile – выбираем ранее созданный нами профиль шифрования
Authentication Profile – выбираем профиль, который указывает на список пользователей, для которых разрешена авторизация с помощью Captive Portal
Session Cookie (опционально) использовать куки вместо повторного ввода учетных данных
Redirect Host – IP или FQDN интерфейса шлюза Palo Alto, на который будет производиться перенаправление пользователей

Шаг 5. Далее настроим правило авторизации, которое бы перенаправляло все HTTP запросы от неизвестных пользователей на портал авторизации.
Для этого переходим на вкладку Policies – Authentication и нажимаем Add для добавления нового правила. Выбираем зону нашей Wi-Fi сети в качестве источника и зону INTERNET (Untrust) в качестве назначения. Т.к. пользователь нам еще неизвестен, то в качестве User выбираем Any. И наконец на вкладке Actions нужно указать действие default-web-form, в нашем случае это отправлять пользователей на Captive Portal.
В итоге должно получиться так:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Шаг 6. Завершающим шагом нам необходимо создать правило, которое бы разрешало всем авторизированным пользователям доступ в интернет. Следуя рекомендациям по безопасности мы выбираем web-browsing и ssl в качестве приложений для доступа в интернет, а также назначаем используемые по умолчанию порты (80 и 443).
Разрешающее правило создаем в Policies – Security и в итоге оно должно выглядеть следующим образом:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

На данном этапе вы можете создавать сколь угодно различные правила доступа для пользователей, так как после авторизации сетевой шлюз уже знает от кого конкретно исходит тот или иной трафик. Вы можете разрешить или запретить доступ к определенным сайтам, или же ограничить использование таких приложений как WhatsApp, Viber, Telegram для одних пользователей и дать разрешение другим. Все зависит лишь от ваших потребностей.
Главное придерживаться концепции, что чем более детально мы описываем условия правил, тем меньше возможностей для атак злоумышленников мы оставляем.

На этом настройку Captive Portal можно считать оконченной!

Как быть с HTTPS?

После настройки Captive Portal вы возможно столкнетесь с проблемой, что в отличи от HTTP запросов, HTTPS не обрабатываются для перенаправления на страницу авторизации. И даже если явно указать в правиле авторизации на обработку таких запросов, то это все равно не решит проблему.

Дело в том в отличии от HTTP, HTTPS пакеты являются зашифрованными и шлюз просто не в состоянии определить какому сайту предназначен тот или иной пакет, и уж тем более изменить его для перенаправления на свою страницу авторизации.

Но межсетевые экраны (NGFW) Palo Alto Networks способны решить и эту проблему. Благодаря аппаратной функции дешифровки, шлюз способен проникать в зашифрованные пакеты и читать их содержимое. Данная возможность будет также полезна для мониторинга и отслеживания передачи конфиденциальной информации третьей стороне.

Для включения дешифрации нам необходимо на вкладке Policies – Decryption создать два правила. Первое включает эту функцию для всех неизвестных пользователей, которые еще не авторизовались на портале. Второе отключает дешифрацию, если авторизация пройдена.
В качестве Decryption Profile используем профиль встроенные по умолчанию:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

В итоге должно получиться так:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Незабываем указать HTTPS трафик для авторизации в ранее созданном нами правиле на вкладке Policies – Authentication:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

После всех описанных выше действий попытка зайти на любой сайт будет переадресована шлюзом на страницу авторизации Captive Portal.

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Быстрый, простой и рабочий способ обхода Captive Portal (hotspot с авторизацией на web-интерфейсе)

Что такое Captive Portal

С перехватывающим порталом (Captive Portal) вы можете столкнуться в аэропорту, гостинице, кондо, бизнес-центрах, также сейчас некоторые мобильные операторы организуют Wi-Fi точки доступа используя перехватывающие порталы – hotspot с авторизацией на web-интерфейсе.

Если вы не совсем понимаете, о чём идёт речь, то посмотрите на скриншот:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Имеется открытая сеть Wi-Fi, к которой можно подключиться без пароля (точка доступа без шифрования), но при попытке зайти на любой сайт, нас будет перебрасывать на страницу, где нужно ввести учётные данные, сделать оплату, подтвердить номер телефона с помощью СМС или что-то похожее.

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

Иногда для получения доступа достаточно ввести ПИН из бесплатного СМС сообщения, либо спросить на рисепшене логин и пароль. Но иногда доступ необходимо купить. Например, на скриншоте выше:

В этом сообщении сказано, что в данный момент я подключён к сети кондо i Space, чтобы использоваться службой Интернет-доступа, мне необходимо обратиться в офис i Space. Я не хочу туда обращаться, поскольку и без того знаю, что они мне скажут: «500 бат фо ван манс анлиметед». Не уверен, что мне нужен Интернет на таких условиях.

Быстрый взлом хот-спота с авторизацией на web-интерфейсе

Мы будем использовать hack-captive-portals – скрипт для взлома любых перехватывающих порталов (Captive Portal), использующий технику спуфинга MAC.

Если у вас Kali Linux, Ubuntu, Linux Mint, Debian или любые их производные, то установите пару пакетов:

Сам скрипт вы можете скачать следующим образом:

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

Чтобы использовать мою версию, создайте файл hack-captive-mial.sh:

Сделайте файл исполняемым:

Или (если используете оригинальную версию):

И дожидайтесь результата.

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Как только увидите строку

Значит для вас уже открыт интернет доступ!

Вновь проверяем пинг:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Пробуем открыть сайт (я захожу на SuIP.biz, чтобы заодно узнать «своего» Интернет-провайдера):

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Как сделать сигнал Перехватывающего Портала (Captive Portal) доступным для других устройств

Независимо от того, как вы получили доступ (легально или не совсем), можно расшарить ваше Интернет-соединение для нескольких устройств. Можно даже открыть интернет доступ из виртуальной машины реальному компьютеру…

В принципе, я использую метод описанный в статье «Усиление сигнала Wi-Fi».

Само-собой, нам понадобится 2 Wi-Fi адаптера – один подключён к Перехватывающему Порталу, второй – раздаёт Интернет для «своих».

На предыдущем этапе – когда мы взламывали Перехватывающий Портал, вполне возможно, что мы использовали подключение с помощью Network Manager. Мы сократим количество непонятных зависаний и сбережём свои нервы, если будем выполнять последующие действия без использования NetworkManager.

Устанавливаем дополнительные пакеты, если у вас их ещё нет:

Теперь останавливаем NetworkManager:

Если вы работаете из виртуальной машины, то нужно отключить (виртуальное) проводное соединение, чтобы скрипт не запутался, когда будет искать дефолтный шлюз (если нужно, поменяйте eth0 на имя вашего ПРОВОДНОГО сетевого интерфейса):

Есть некоторые отличия от подключения к Точке Доступа из командной строки, описанного в статье «Усиление сигнала Wi-Fi», поскольку там мы подключались к точке доступа с шифрованием (с паролем), а теперь мы будем подключаться к открытой точке доступа (без пароля).

Создайте конфигурационный файл, к примеру, с именем wpa_sup.conf:

Скопируйте в него следующее (замените i_spac_5FL-2.4GHz на имя сети Перехватывающего Портала):

Подключаемся (замените wlan0 на имя вашего беспроводного интерфейса, используемого для подключения к перехватывающему порталу, если вы выбрали другое имя для конфигурационного файла, то напишите его вместо wpa_sup.conf):

Поскольку мы не перевели процесс в фон, то откройте новое окно консоли (предыдущее не закрывайте – иначе пропадёт подключение к Перехватывающему Порталу), в новом окне введите (это нужно, чтобы нашему беспроводному интерфейсу присвоился IP адрес):

В этом месте запустите скрипт для взлома Captive Portal:

Дождитесь успешного завершения.

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

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Запускается create_ap следующим образом:

Я хочу создать ТД с именем «HackWare» на интерфейсе wlan1, используя для Интернет-доступа интерфейс wlan0, тогда моя команда:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Если появилась строка

значит всё прошло успешно.

Командой выше создаётся ТД, подключение к которой не защищено паролем, если вы хотите создать защищённую паролем ТД, то используйте команду вида:

Например, чтобы моя ТД имела пароль MiAlrules я использую команду:

Если ваш беспроводной адаптер поддерживает IEEE 802.11n, то можно дополнительно использовать опцию —ieee80211n, которая включает IEEE 802.11n:

Поскольку все операции я выполнял в виртуальной машине, к которой подключены два USB Wi-Fi адаптера, то у виртуальной машины теперь Интернет есть, а у реального компьютера его нет. Но поскольку виртуальная машина запущена в ноутбуке со встроенной Wi-Fi картой, то мой реальный компьютер подключается к Точке Доступа, которую создаёт виртуальный компьютер:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Подключение произошло успешно и теперь на основном компьютере также есть Интернет:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Мне это кажется забавным: не существующий, виртуальный компьютер обеспечивает Интернетом реальный железный компьютер!

Также подключаю другие свои устройства (мобильные телефоны) к точке доступа из виртуальной машины:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Как работает Captive Portal (Перехватывающий Портал)

Чтобы понять, почему так легко обойти Перехватывающий Портал, а также увидеть другие способы обхода, нужно понять, как именно работает Captive Portal.

Сетевое оборудование настроено так, чтобы всех подключившихся перенаправлять на одну и туже веб-страницу, на которой размещены условия доступа к сети. На этой странице пользователь вводит ПИН из СМС или логин и пароль. Обычно для доступа к веб-странице перехватывающего портала используется протокол HTTP (а не HTTPS). Это связано с особенностями локальной сети – для локальных адресов невозможно получить валидные SSL сертификаты, а использование невалидных ничего не добавляет к безопасности, но при этом создаёт дополнительные проблемы.

Кстати, если вы подключились к Порталу и пытаетесь открыть что-то в веб-браузере, но у вас не происходит переадресация на веб-страницу Captive Portal, то вероятнее всего дело в том, что вы пытаетесь зайти на сайт с HTTPS протоколом – попробуйте открыть любой сайт на HTTP и вас всё-таки перебросит на страницу «входа»,

Чтобы пользователи не догадались использовать нестандартные порты (например, для подключения к VPN, использовать браузер Tor или прокси), то весь трафик на всех портах блокируется. Кроме трафика UDP на 53 порту – это необходимо чтобы пропускать запросы к DNS-серверу.

После того, как пользователь ввёл верные учётные данные, для его MAC-адреса и IP адреса открывается неограниченный доступ. Привязка идёт именно к MAC-адресу (либо к паре MAC-адрес и IP адрес), поскольку по-другому проблематично реализовать доступ для всего устройства. Современным компьютерам, а особенно мобильным устройствам, недостаточно браузера: телефоны используют разнообразные мессенджеры, многие программы пользуются сетью: онлайн игры, антивирусы для обновления баз, почтовый клиенты и т.д. Т.е. невозможно ограничится кукиз в веб-браузере или чем-то подобным: необходимо открывать полный доступ для сетевого интерфейса клиента, какой бы трафик и на каком бы порту ему не понадобился. Сетевые интерфейсы обладают уникальным идентификатором – MAC-адресом. Именно на основе него и «запоминается» устройство, которому разрешён доступ. Перехватывающий Портал может оставлять кукиз в веб-браузере, но они носят вспомогательный характер: например, для ускорения повторной аутентификации.

Здесь описана «сильная» конфигурация перехватывающего портала – с защитой «по полной». Конкретные реализации могут быть ещё слабее: например, для перенаправления на страницу Портала может использоваться DNS сервер, который на все запросы будет отвечать IP адресом Captive Portal, и при этом не будет должной фильтрации трафика. Как результат, такой Портал можно обойти просто использованием обычного VPN соединения, либо установкой в настройках DNS сервера в паре с браузером Tor и т.п.

Как обойти Captive Portal (Перехватывающий Портал)

Теперь, когда мы понимаем, на каких принципах основывается работа Captive Portal, очень хорошо видны его слабые места.

Первый метод обхода Captive Portal: кража MAC и IP адреса

Именно этот метод использует скрипт hack-captive-portals: он перехватывает IP и MAC от кого-либо, кто уже подключён и авторизован в перехватывающем портале.

Принцип работы очень простой – скрипт находит все «живые» хосты в локальной сети и по очереди «примеряет» их MAC и IP – сразу после примерки делается проверка – доступна ли глобальная сеть. Если доступна – скрипт останавливает работу, а мы можем наслаждаться чудесами сети Интернет. Если внешняя сеть недоступна – просто пробуются следующие MAC и IP и т.д.

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Тем не менее, это очень эффективный и самый универсальный метод.

Вы также можете взломать Перехватывающий Портал даже без скрипта: с помощью arp-scan исследуйте локальную сеть Портала, смену MAC делайте как описано в этой статье, а подменять IP можно прямо в графическом интерфейсе Network Manager. В нём же установите DNS сервер 8.8.8.8.

Второй метод обхода Captive Portal: использование UDP VPN на 53 порту

Обычно в перехватывающих порталах для пользователей, не прошедших аутентификацию, заблокированы все TCP и UDP порты. Все кроме одного – 53 UDP порта. При «обычной» работе сети, этот порт необходим для запроса к DNS серверам, чтобы преобразовать имена хостов в IP. Нужно начать с проверки, не выполняется ли спуфинг DNS запросов (обычно нет). Для этого выполните несколько раз команду dig для разных хостов, например, для получения IP хоста ya.ru:

Для получения IP хоста google.com

И т.д. – если результаты различные (а не, например, каждый раз 192.168.88.1 или другой локальный IP адрес), значит DNS запросы свободно проходят – порт 53 UDP открыт.

Через этот 53 порт можно настроить UDP прокси, VPN или другой туннель. Бесплатные UDP VPN на 53 порту можно найти прямо в Гугле.

Правда, у меня этот способ не получился на находящимся в непосредственной близости ко мне перехватывающем портале – возможно, я что-то не совсем верно делал, возможно, проблема в конкретном поставщике услуг VPN, или, всё-таки, мой Перехватывающий Портал каким-то образом ограничивал/блокировал трафик и на 53 UDP порту. У кого есть успешный опыт или свои мысли по этому поводу (UDP VPN на 53 порту, туннелизация через порт UDP 53) – пишите в комментариях, будет интересно узнать и мне и другим читателям.

Огромный плюс данного метода – нам не нужен клиент, который успешно аутентифицирован в Портале. Мы можем выполнять этот обход даже если мы подключены к Captive Portal в полном одиночестве. При первом методе, наш трафик учитывается и засчитывается в качестве израсходованного легитимным пользователем. Если трафик безлимитный – то никаких проблем нет. Если же трафик оплачивается по мегабайтам – то наши действия перестают быть простой шалостью и причиняют вполне конкретный имущественный вред конкретному человеку…

При использовании порта 53 UDP, прокаченный трафик не «вешается» ни на какого пользователя.

Третий метод обхода Captive Portal: кража учётных данных легитимных пользователей

Поскольку в Captive Portal мы находимся с другими пользователями в одной локальной сети, и данные для авторизации на Портале пересылаются по протоколу HTTP (а не HTTPS), то кажется вполне рабочей следующая схема:

На практике, из-за особенностей построения сети Порталов (он может быть «заполнен» фейковыми пользователями, и эти фантомы сводят с ума такие программы как Bettercap) атака не всегда проходит успешно.

Менее инвазивный (и намного более удобный) метод предложен человеком с ником user100 на форуме Античат (соответствующая тема – авторский кейс в первом посту).

Мы воспользуемся фактом, что в открытых сетях трафик передаётся без шифрования. Т.е. мы не будем подключаться к сети, а будем использовать Airodump-ng для прослушивания трафика.

Останавливаем Network Manager и убиваем процессы, которые могут нам помешать:

Далее в командах, если нужно, замените имя wlan0 на имя вашего беспроводного интерфейса.

Переводим карту в режим монитора

Запускаем airodump-ng, чтобы узнать, на каком канале работает интересующая нас Точка Доступа:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Как можно увидеть на скриншоте имеется сразу несколько открытых ТД на разных частотах. Я выбираю ту, у которой сильнее сигнал (поскольку она и её клиенты должны быть ближе ко мне).

Теперь, когда мы увидели нужную информацию, запускаем airodump-ng ещё раз со следующими опциями:

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

Обращайте внимание на поле #Data. Если оно совсем не меняется, значит к точке доступа никто не подключён. Если оно меняется вяло – значит кто-то подключён, но не серфит по Инету.

Для анализа полученных данных, открываем файл захвата (у меня он называется /root/cap-01.cap) в программе Wireshark:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Для ускорения поиска используйте фильтры Wireshark.

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Там различная полезная информация, но главной является строка:

К сожалению, вместо пароля там хеш 15b4c47a3e0e44b9e40db20ac1225023. Причём не просто хеш, в исходном коде видно, что к паролю перед преобразованием добавляется соль:

Что такое captive portal. Смотреть фото Что такое captive portal. Смотреть картинку Что такое captive portal. Картинка про Что такое captive portal. Фото Что такое captive portal

Адрес JavaScript файла: http://portal.cloud-hotspot.com/md5.js, в нём есть та самая функция hexMD5:

Т.е., видимо, пароль сначала преобразовывается в бинарную строку, затем считается его MD5 хеш, затем бинарная строка преобразовывается в шестнадцатеричную.

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

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

Более того, чтобы каждый раз не использовать curl, можно создать простой HTML файл с правильной формой, которая будет отправлять все нужные данные, в том числе хеш. Этот файлик можно закинуть на телефон и выполнять вход в Портал и с него.

В любом случае необходимо будет правильно определить все передаваемые поля (удобно делать с помощью Burp Suite), в том числе скрытые, указывать правильного реферера, в случае необходимости, и т.д. Все эти проблемы являются решаемыми.

Минус данного метода:

Плюсы данного метода:

Заключение

Рассмотрены самые часто встречающиеся конфигурации Captive Portal – хот-спотов с авторизацией через веб-интерфейс. В заметке собраны самые эффективные методы их обхода. Тем не менее, имеются и другие варианты Перехватывающих Порталов, использующих для идентификации пользователей больше данных – для таких случаев описанные здесь методы взлома открытых хот-спотов могут не сработать.

Отлично во взломе хот-спотов с веб-входом себя показал скрипт hack-captive-portals: полная автоматизация и хорошие результаты.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *