You are here: Home » Беспроводные атаки » wifiphisher

wifiphisher

Описание wifiphisher

Wifiphisher предназначена для фишинговой атаки на WiFi сети в целях получения паролей от ТД и другой персональной информации. Этот инструмент основан на атаке социальной инженерии. Т.е. эта программа не содержит каких-либо инструментов для брутфорсинга. Это простой способ получить учётные данные от сайтов или пароли от WPA/WPA2.

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

Если смотреть глазами жертвы, то атака включает три фазы:

  1. Жертва деаутентифицируется от её точки доступа. Wifiphisher постоянно глушит все устройства с точками доступа wifi в пределах досягаемости посредством отправки деаутентифицирующих (deauth) пакетов клиенту от точки доступа и точке доступа от клиента, а также широковещательному адресу.
  2. Жертва подсоединяется к подменной точке доступа. Wifiphisher сканирует пространство и копирует настройки целевых точек доступа. Затем она создаёт подменную ТД, которая настроена особым образом. Она также устанавливает NAT/DHCP сервер и перенаправляет порты. Следовательно, из-за помех клиенты начнут подсоединяться к подменной точке доступа. После этого жертва подвергается атаке человек-посередине.
  3. Для жертвы будет отображена реалистично выглядящая страница конфигурации роутера. wifiphisher поднимает минимальный веб-сервер и отвечает на HTTP & HTTPS запросы. Как только жертва запросит страницу из Интернета, wifiphisher в ответ отправит реалистичную поддельную страницу, которая спросит пароль. Примером задачи, которая требуют подтверждение WPA пароля, является обновления прошивки.

Домашняя страница: https://github.com/sophron/wifiphisher

Автор: sophron

Лицензия: GPLv3

Справка по wifiphisher

Использование:

wifiphisher [-h] [-jI JAMMINGINTERFACE] [-aI APINTERFACE]
                   [-iI INTERNETINTERFACE] [-dP DEAUTHPACKETS] [-nJ]
                   [-e ESSID] [-p PHISHINGSCENARIO] [-pK PRESHAREDKEY] [-qS]

опциональные аргументы:

  -h, --help            показать справку и выйти
  -jI JAMMINGINTERFACE, --jamminginterface JAMMINGINTERFACE
                        Вручную выбрать интерфейс, который поддерживает режим
                        монитора для деаутентификации жертв. Пример: -jI
                        wlan1
  -aI APINTERFACE, --apinterface APINTERFACE
                        Вручную выбрать интерфейс, который поддерживает режим ТД
                       для создания ТД. Пример: -aI wlan0
  -iI INTERNETINTERFACE, --internetinterface INTERNETINTERFACE
                        Выбор интерфейса для доступа в Интернет
                        Пример: -iI ppp0
  -dP DEAUTHPACKETS, --deauthpackets DEAUTHPACKETS
                        Выбрать количество пакетов для отправки в каждой
                        вспышке деаутентификации. Значение по умолчанию 1; 1 пакет клиенту
                        и 1 пакет ТД. Для отправки 2 деаутентификации клиенту
                        и 2 двух пакетов деаутентификации ТД: -dP 2
  -nJ, --nojamming      Пропустить фазу деаутентификации. Когда используется эта опция,
                        требуется только один беспроводной интерфейс
  -e ESSID, --essid ESSID
                        Ввод ESSID мошеннической точки доступа. Эта опция
                        пропустит фазу выбора точки доступа. Пример:
                        --essid 'Free WiFi'
  -p PHISHINGSCENARIO, --phishingscenario PHISHINGSCENARIO
                        Выбор обманного сценария для запуска. Эта опция
                        пропустит фазу выбора сценария. Пример: -p
                        firmware_upgrade
  -pK PRESHAREDKEY, --presharedkey PRESHAREDKEY
                        Добавление WPA/WPA2 защиты на мошенническую точку доступа.
                        Пример: -pK s3cr3tp4ssw0rd
  -qS, --quitonsuccess  Остановить скрипт после успешного получения
                        одной пары учётных данных 

Руководство по wifiphisher

Страница man отсутствует.

Примеры запуска wifiphisher

Запустите инструмент набрав

wifiphisher

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

wifiphisher -aI wlan0 -jI wlan4 -p firmware-upgrade

Использовать wlan0 для поднятия мошеннической точки доступа и wlan4 для DoS атак. Выбрать целевую сеть вручную из списка и выполнить сценарий "Firmware Upgrade".

Полезно для ручного выбора беспроводных адаптеров. Сценарий "Firware Upgrade" — это очень простой способ получить PSK из защищённой паролем сети.

wifiphisher --essid CONFERENCE_WIFI -p plugin_update -pK s3cr3tp4ssw0rd

Автоматически выбрать правильные интерфейсы. Установить в качестве цели Wi-Fi с ESSID "CONFERENCE_WIFI" и выполнить сценарий "Plugin Update". Злой Двойник будет защищён паролем PSK "s3cr3tp4ssw0rd".

Полезно в отношении сетей с раскрытыми PSK (например, на конференциях). Сценарий "Plugin Update" заключается в том, что жертва скачивает вредоносный исполнимый файл (например, зловред, содержащий полезную нагрузку обратного шелла).

wifiphisher --nojamming --essid "FREE WI-FI" -p oauth-login

Не выбирать в качестве цели какую-либо сеть. Просто создать открытую Wi-Fi сеть с ESSID "FREE WI-FI" и выполнить сценарий "OAuth Login".

Полезно в отношении жертв в публичных местах. Сценарий "OAuth Login" обеспечивает простой способ захвата учётных данных из социальных сетей вроде Facebook.

Фишинговые сценарии

Wifiphisher поддерживает созданные сообществом шаблоны для различных фишинговых сценариев, таких как:

  • Страницы конфигурации роутера
  • Сторонние страницы входа
  • Перехватывающие порталы
  • Сообщения браузера

Название встроенных фишинговых сценариев для использования с опцией -p:

  • firmware-upgrade
  • oauth-login
  • plugin_update
  • wifi_connect

Создание пользовательского фишингового сценария

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

Создание фишингового сценария очень просто и состоит из двух шагов:

1) Создайте config.ini

Файл config.ini размещается в корневой директории шаблон и его содержимое может быть разделено на две секции:

i) info: Эта секция содержит характеристику сценария.

  • Name (обязательно): Имя фишингого сценария
  • Description (обязательно): Короткое описание (<50 слов) сценария
  • PayloadPath (опционально): Если сценарий фишинга отправляет жертве вредоносные файлы, пользователи могут здесь вставить абсолютный путь до вредоносных исполнимых файлов

ii) context: Эта секция опционально и содержит заданные пользователем переменные, которые позднее могут быть внедрены в шаблон.

Пример

Это пример файла config.ini:

    > # Это комментарий
    > [info]
    > Name: Страница с предупреждением от Интернет-провайдера
    > Description: Страница предупреждения, спрашивающего у жертвы от имени Интернет-провайдера учётные данные DSL
    >
    > [context]
    > victim_name: John Phisher
    > victim_ISP: Interwebz

2) Создание файлов шаблона

Шаблон содержит статичные части желаемого HTML вывода и может содержать состоять из нескольких статичных HTML файлов, изображений, CSS или JavaScript файлов. Динамичные языки (например, PHP) не поддерживаются.

Заполнители

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

i) Маячковые фреймы (Beacon). Маячковые фреймы содержат всю информацию о целевой сети и могут использоваться для сбора информации. Во время выполнения главный процесс собирает всю интересную информацию и передаёт её в выбранный шаблон.

На время написания, главный процесс передаёт следующие данные:

    target_ap_essid <строка>: ESSID целевой точки доступа
    target_ap_bssid <строка>: BSSID (MAC) адрес целевой точки доступа
    target_ap_channel <строка>: Канал целевой точки доступа
    target_ap_vendor <строка>: Имя производителя целевой точки доступа
    target_ap_logo_path <строка>: Относительный путь до логотипа целевой точки доступа в файловой системе
    APs <список>: Список, содержащий словари точек доступа, захваченных во время фазы выбора ТД
        AP <dict>: Словарь содержит следующую информацию в отношении точки доступа:
            channel <строка>: Канал точки доступа
            essid <строка> ESSID точки доступа
            bssid <строка> BSSID (MAC) адрес точки доступа
            vendor <строка> Имя производителя точки доступа

Помните, что приведённые выше значения могут иметь значение 'None'. Например, все значения target_* будут None, если пользователь не указал целевую точку доступа (использую опцию --essid). Поле 'target_ap_logo_path' будет None если логотип не определён конкретного производителя не существует в репозитории логотипов.

ii) Файл config.ini (описанный выше). Все значения заданные в секции "Context" могут использоваться внутри файлов шаблонов.

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

Запись учётных данных

Для того, чтобы wifiphisher знал, какие учётные данные записывать, значение 'name' HTML атрибутов нужно предварять строкой 'wfphshr'. Во время запросов POST, wifiphisher будет записывать все переменные, которые начинаются с этой строки.

Пример

Это сниппет из шаблона (index.html):

    > <p> Dear {{ victim_name }}, This is a message from {{ ISP }}.
    > A problem was detected regarding your {{ target_ap_vendor }} router. </p>
    > <p> Please write your credentials to re-connect over PPPOE/PPPOA.</p>
    > <input type="text" name="wphshr-username"></input>
    > <input type="text" name="wphshr-password"></input>

В этом примере переменные 'victim_name' и 'ISP' поступают из config.ini, а переменные 'target_ap_vendor' — из маячковых фреймов. И "wphshr-username", и "wphshr-password" будут записаны в журнал.

Установка wifiphisher

Требования

Вы сможете извлечь из Wifiphisher максимум при следующих условиях:

  • Kali Linux. Хотя Wifiphisher работает и на других дистрибутивах, Kali Linux является официально поддерживаемым дистрибутивом, следовательно, все новые функции тестируются в первую очередь на этой платформе.
  • Один беспроводной адаптер, который поддерживает режим AP. Драйверы должны поддерживать netlink.
  • Один беспроводной адаптер, который поддерживает режим монитора и способен инъекциям. Если второй беспроводной адаптер недоступен, вы можете запустить этот инструмент с опцией --nojamming. Она отключить проведение атаки деаутентификация.

Установка в Kali Linux

sudo apt-get install wifiphisher hostapd dnsmasq python-pyric python-jinja2

Установка в BlackArch

sudo pacman -S wifiphisher dnsmasq hostapd net-tools python2-pyric python2-j2cli --needed

Скриншоты wifiphisher

 

03

Инструкции по wifiphisher

Близкие программы:

Рекомендуемые статьи: