Автоматизация запуска Fluxion с помощью Bash-скрипта

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

Введение

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

В этой лаборатории вы научитесь автоматизировать всю эту последовательность запуска, создав простой скрипт Bash. Этот скрипт будет выполнять все необходимые команды по порядку, позволяя вам запускать Fluxion одной командой. Это фундаментальный навык в Linux для автоматизации повторяющихся задач и улучшения рабочего процесса.

Для этой лаборатории мы будем работать с симулированным скриптом fluxion.sh и предполагаем наличие беспроводного интерфейса с именем wlan0.

Создание нового файла с именем 'start_fluxion.sh'

На этом шаге вы создадите файл скрипта Bash, который будет содержать наши команды автоматизации. Мы назовем этот файл start_fluxion.sh. Вся наша работа будет проводиться в каталоге по умолчанию ~/project.

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

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

touch start_fluxion.sh

После выполнения команды вы можете проверить, что файл был создан, перечислив содержимое каталога с помощью ls:

ls

В выводе вы должны увидеть start_fluxion.sh.

fluxion  start_fluxion.sh

Добавление команд для включения режима мониторинга

На этом шаге вы добавите первые команды в ваш скрипт. Скрипт Bash всегда должен начинаться со строки "shebang" (#!), которая указывает системе, какой интерпретатор использовать для запуска скрипта. Для скриптов Bash это #!/bin/bash.

После shebang мы добавим команды для подготовки беспроводного интерфейса. Для таких инструментов, как Fluxion, беспроводная карта должна быть в "режиме мониторинга" (monitor mode) для захвата всего трафика Wi-Fi поблизости. Для этого обычно используется утилита airmon-ng. Мы добавим две команды:

  1. sudo airmon-ng check kill: Эта команда останавливает сетевые службы, которые могут мешать процессу.
  2. sudo airmon-ng start wlan0: Эта команда переводит беспроводной интерфейс (мы будем использовать гипотетический wlan0) в режим мониторинга.

Мы используем sudo, потому что эти команды требуют прав root.

Откройте файл start_fluxion.sh с помощью текстового редактора nano:

nano start_fluxion.sh

Теперь добавьте следующее содержимое в файл:

#!/bin/bash

## Prepare the wireless interface
echo "Stopping conflicting processes..."
sudo airmon-ng check kill

echo "Starting monitor mode on wlan0..."
sudo airmon-ng start wlan0

Нажмите Ctrl+X, чтобы выйти из nano, затем Y, чтобы подтвердить сохранение изменений, и, наконец, Enter, чтобы сохранить файл под тем же именем.

Добавление команды для запуска 'fluxion.sh'

На этом шаге вы добавите последнюю команду в ваш скрипт: команду, которая фактически запускает приложение Fluxion.

Наш симулированный скрипт fluxion.sh находится внутри каталога fluxion. Из нашего скрипта start_fluxion.sh (который находится в ~/project) относительный путь к скрипту Fluxion — fluxion/fluxion.sh. Поскольку это исполняемый скрипт, нам нужно вызвать его, используя ./, чтобы указать контекст текущего каталога.

Давайте снова откроем скрипт с помощью nano:

nano start_fluxion.sh

Добавьте команду для выполнения скрипта Fluxion в конце файла. Полный скрипт теперь должен выглядеть так:

#!/bin/bash

## Prepare the wireless interface
echo "Stopping conflicting processes..."
sudo airmon-ng check kill

echo "Starting monitor mode on wlan0..."
sudo airmon-ng start wlan0

## Launch Fluxion
echo "Launching Fluxion..."
./fluxion/fluxion.sh

Сохраните файл и выйдите из nano, нажав Ctrl+X, затем Y и Enter. Ваш скрипт автоматизации теперь завершен.

Сделать скрипт исполняемым с помощью 'chmod +x'

На этом шаге вы сделаете скрипт запускаемым. В Linux файл должен иметь разрешение на "выполнение" (execute permission), прежде чем вы сможете запустить его как программу. Мы можем добавить это разрешение с помощью команды chmod (change mode).

Флаг +x указывает chmod добавить разрешение на выполнение для пользователя, группы и остальных.

Выполните следующую команду, чтобы сделать ваш скрипт start_fluxion.sh исполняемым:

chmod +x start_fluxion.sh

Вы можете проверить изменение разрешений, используя команду ls -l, которая предоставляет подробный список.

ls -l start_fluxion.sh

Обратите внимание на символы x в блоке разрешений вывода. Это указывает на то, что файл теперь исполняемый.

-rwxr-xr-x 1 labex labex 218 Dec 10 12:00 start_fluxion.sh

Запуск скрипта для начала всего процесса

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

Поскольку некоторые команды внутри нашего скрипта (airmon-ng) требуют прав администратора, мы должны выполнить весь скрипт с помощью sudo.

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

sudo ./start_fluxion.sh

Скрипт теперь выполнит все добавленные вами команды по очереди. Вы увидите вывод каждой команды, включая наше симулированное сообщение о запуске Fluxion.

Ожидаемый вывод:

Stopping conflicting processes...
Found 2 processes that could cause trouble.
Kill them using 'airmon-ng check kill'? (y/n)
Killing all those processes...

Starting monitor mode on wlan0...
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 station mode vif disabled for [phy0]wlan0)

Launching Fluxion...
Fluxion is starting...
Welcome to Fluxion!
The tool has launched successfully.

Примечание: Вывод airmon-ng может незначительно отличаться, но финальные сообщения из нашего симулированного скрипта Fluxion должны появиться.

Поздравляем! Вы успешно автоматизировали процесс запуска Fluxion.

Резюме

В этой лабораторной работе вы успешно создали Bash-скрипт для автоматизации процесса запуска Fluxion. Вы научились объединять несколько команд в один исполняемый файл, что является ключевым навыком для любого пользователя Linux.

Вы отработали несколько фундаментальных команд и концепций:

  • touch: Для создания нового пустого файла.
  • nano: Для редактирования содержимого вашего скрипта.
  • #!/bin/bash: Shebang, используемый для указания интерпретатора Bash.
  • chmod +x: Для придания скрипту исполняемого статуса.
  • sudo: Для выполнения команд с правами администратора.
  • ./script_name.sh: Стандартный способ выполнения скрипта, расположенного в текущем каталоге.

Создав эту простую автоматизацию, вы сделали отличный первый шаг к тому, чтобы сделать вашу работу в командной строке более эффективной и мощной.