Изменение конфигурации DNS-сервера в Fluxion

Beginner
Практиковаться сейчас

Введение

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-сервера для поддельной точки доступа, который перенаправляет весь трафик на страницу портала.

  1. Нажмите Ctrl + W, чтобы открыть строку поиска в нижней части редактора.
  2. Введите 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.

  1. Нажмите Ctrl + X, чтобы выйти.
  2. nano спросит, хотите ли вы сохранить измененный буфер. Нажмите Y (Да).
  3. Затем 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.
  • Выполнить базовую проверку синтаксиса, чтобы убедиться, что скрипт остается функциональным после модификации.

Этот навык ценен для настройки и адаптации инструментов безопасности к вашим конкретным требованиям тестирования и условиям сети.