Введение
Fluxion — популярный инструмент для аудита безопасности и исследований в области социальной инженерии. Он автоматизирует процесс создания поддельной точки доступа Wi-Fi и captive portal для перехвата учетных данных. По умолчанию Fluxion использует предварительно настроенный вышестоящий DNS-сервер (например, 8.8.8.8 от Google) для своего DNS-сервиса.
В некоторых сценариях может потребоваться изменить этот DNS-сервер по умолчанию. Например, вы можете захотеть использовать более быстрый сервер, сервер с определенными возможностями фильтрации или собственный DNS-сервер, которым вы управляете.
В этой лабораторной работе вы узнаете, как найти и изменить конфигурацию dnsmasq в основном скрипте Fluxion, чтобы изменить адрес вышестоящего DNS-сервера.
Переход к файлу 'fluxion/lib/fluxion.sh'
На этом этапе вы перейдете в каталог, содержащий основной скрипт Fluxion. Основная логика и конфигурации для Fluxion хранятся в скриптах оболочки (shell scripts). Основной скрипт, который нам нужно изменить, — это fluxion.sh, расположенный внутри каталога lib.
Сначала используйте команду cd (change directory) для перехода в каталог fluxion/lib. Все необходимые файлы уже были клонированы в ваш каталог ~/project.
cd ~/project/fluxion/lib
Затем используйте команду ls для вывода списка файлов в текущем каталоге, чтобы убедиться в наличии fluxion.sh.
ls
Среди перечисленных файлов вы должны увидеть fluxion.sh.
controller.sh fluxion.sh installer.sh parser.sh prober.sh scanner.sh
Открытие скрипта в текстовом редакторе
На этом этапе вы откроете скрипт fluxion.sh с помощью текстового редактора командной строки. Мы будем использовать nano, который является простым и удобным редактором, доступным в среде LabEx.
Выполните следующую команду, чтобы открыть fluxion.sh в nano:
nano fluxion.sh
Ваш терминал теперь отобразит содержимое скрипта внутри редактора nano. Вы можете перемещаться по файлу с помощью клавиш со стрелками. На следующем шаге мы найдем соответствующий раздел конфигурации.
Для справки, вот некоторые основные команды nano:
Ctrl + W: Поиск текста.Ctrl + X: Выход из редактора.
Поиск раздела конфигурации 'dnsmasq'
Теперь, когда скрипт открыт в nano, вам нужно найти раздел, где настраивается dnsmasq. Fluxion использует dnsmasq для запуска DNS-сервера для поддельной точки доступа, который перенаправляет весь трафик на страницу портала.
- Нажмите
Ctrl + W, чтобы открыть строку поиска в нижней части редактора. - Введите
dnsmasqи нажмитеEnter.
Это перенесет вас к первому вхождению слова dnsmasq. Вы ищете блок кода, который запускает службу dnsmasq. Он будет выглядеть примерно так же, как приведенный ниже фрагмент. Обратите внимание на опцию --server, которая указывает вышестоящий DNS-сервер.
...
## Start the DNS server (dnsmasq)
"$FLUXION_LIB_DIR/controller.sh" dnsmasq start "$interface" \
"$gateway" "$portal_address" "$channel" "$essid" &> /dev/null &
...
Фактическая выполняемая команда находится внутри скрипта controller.sh, который, в свою очередь, вызывает функцию, содержащую команду dnsmasq с ее параметрами. Строка, которую нам нужно изменить, — это та, где определен параметр --server. Продолжайте поиск, если это необходимо, пока не найдете функцию, определяющую команду запуска dnsmasq, которая будет содержать строку --server=8.8.8.8.
Изменение адреса вышестоящего DNS-сервера
На этом шаге вы измените адрес DNS-сервера. Вы должны были найти строку, содержащую опцию --server для dnsmasq. По умолчанию она установлена на публичный DNS-сервер Google, 8.8.8.8.
Мы изменим ее на публичный DNS-сервер Cloudflare, 1.1.1.1.
Используйте клавиши со стрелками, чтобы перейти к строке:
--server=8.8.8.8 \
Измените ее на:
--server=1.1.1.1 \
После внесения изменений вам нужно сохранить файл и выйти из nano.
- Нажмите
Ctrl + X, чтобы выйти. nanoспросит, хотите ли вы сохранить измененный буфер. НажмитеY(Да).- Затем
nanoспросит имя файла для записи. По умолчанию этоfluxion.sh, что правильно. НажмитеEnter, чтобы подтвердить.
Теперь вы успешно изменили скрипт.
Перезапуск атаки и проверка разрешения DNS
В реальном сценарии следующим шагом будет перезапуск атаки Fluxion. Поддельная точка доступа будет использовать ваш новый настроенный DNS-сервер (1.1.1.1) для всех вышестоящих DNS-запросов.
В этой лабораторной среде мы не можем запустить полную атаку Wi-Fi. Однако мы можем выполнить простую проверку, чтобы убедиться, что наши изменения не нарушили синтаксис скрипта. Мы сделаем это, запустив скрипт с флагом --help.
Сначала вернитесь в основной каталог fluxion:
cd ~/project/fluxion
Теперь запустите скрипт. Поскольку Fluxion требует прав root для многих своих операций, вы должны использовать sudo.
sudo ./fluxion.sh --help
Если скрипт синтаксически корректен, он отобразит меню справки, подтверждая, что он все еще исполняем после вашей модификации.
fluxion 6.8 (rev. 20210101)
usage: fluxion.sh [-i] [-k] [-d] [-h] [-v]
options:
-i, --install Install dependencies.
-k, --check-karma Check if karma patch is applied.
-d, --debug Enable debug mode.
-h, --help Print this help screen.
-v, --version Print version and exit.
Это подтверждает, что ваше изменение было успешным и не внесло никаких ошибок.
Резюме
В этой лабораторной работе вы успешно изменили основной скрипт инструмента Fluxion для изменения его поведения.
Вы узнали, как:
- Перемещаться по структуре каталогов проекта, чтобы найти ключевые файлы конфигурации.
- Использовать текстовый редактор командной строки (
nano) для просмотра и изменения скрипта оболочки (shell script). - Найти конкретную конфигурацию, в данном случае, настройки службы
dnsmasq. - Изменить вышестоящий DNS-сервер с
8.8.8.8по умолчанию на1.1.1.1. - Выполнить базовую проверку синтаксиса, чтобы убедиться, что скрипт остается функциональным после модификации.
Этот навык ценен для настройки и адаптации инструментов безопасности к вашим конкретным требованиям тестирования и условиям сети.
