Запуск Fluxion в среде без графического интерфейса через SSH

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

Введение

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

"Headless" среда — это система, которая работает без графического пользовательского интерфейса (GUI) и обычно управляется удаленно по сети. При выполнении длительных задач на удаленной машине вы рискуете прерыванием, если ваше сетевое соединение оборвется.

В этой лабораторной работе вы научитесь использовать SSH (Secure Shell) для удаленного доступа и tmux (терминальный мультиплексор) для создания постоянной сессии. Эта настройка позволяет вам запустить задачу, такую как сканирование Fluxion, отключиться от удаленной машины, и задача продолжит выполняться в фоновом режиме. Вы сможете повторно подключиться позже, чтобы проверить ход выполнения.

Мы смоделируем весь этот процесс в среде LabEx. Сначала мы установим Fluxion, а затем пройдемся по шагам использования tmux для управления процессом Fluxion.

Подключение по SSH к вашей машине Kali Linux

В реальном сценарии первым шагом было бы использование SSH-клиента для подключения с вашего локального компьютера к удаленному серверу (которым может быть машина Kali Linux или любое другое дистрибутив Linux). Команда выглядела бы примерно так: ssh user@remote_ip_address.

Для этой лабораторной работы мы симулируем этот процесс. Терминал, который вы сейчас используете, представляет вашу удаленную сессию на сервере. Необходимое программное обеспечение, Fluxion, уже было загружено в каталог ~/project/fluxion скриптом настройки.

На этом этапе давайте перейдем в каталог Fluxion, чтобы подготовиться к следующим шагам.

Выполните следующую команду, чтобы сменить текущий каталог:

cd ~/project/fluxion

Вы можете убедиться, что находитесь в правильном каталоге, выполнив команду ls, которая должна вывести содержимое репозитория Fluxion.

ls
CHANGELOG.md    fluxion.sh      README.md
CONTRIBUTORS.md  install         requirements.txt
docs            LICENSE         sites
files           Makefile        tmp

Использование 'tmux' или 'screen' для создания постоянной сессии

Теперь, когда мы "на" удаленной машине и находимся в нужном каталоге, нам нужно создать постоянную сессию. Это гарантирует, что любая команда, которую мы запустим внутри этой сессии, продолжит выполняться, даже если мы отключимся. Мы будем использовать tmux, мощный терминальный мультиплексор.

На этом шаге вы создадите новую сессию tmux с именем fluxion_session. Эта именованная сессия легко идентифицируется и к ней можно повторно подключиться позже.

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

tmux new -s fluxion_session

После выполнения этой команды ваш терминал будет выглядеть почти так же, но теперь вы находитесь внутри сессии tmux. Вы заметите зеленую строку состояния внизу экрана, которая указывает на то, что tmux активен. Любые команды, которые вы сейчас запустите, будут выполняться в рамках этой постоянной сессии.

Запуск 'fluxion.sh' из сессии tmux/screen

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

Мы уже находимся в каталоге ~/project/fluxion из Шага 1. Основным исполняемым файлом для Fluxion является скрипт fluxion.sh. Он требует привилегий root для управления сетевыми интерфейсами и запуска инструментов атаки, поэтому мы должны запустить его с помощью sudo.

Выполните следующую команду, чтобы запустить Fluxion:

sudo ./fluxion.sh

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

Выполните атаку как обычно через SSH-терминал

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

Сначала Fluxion попросит вас выбрать язык. Введите 1 и нажмите Enter, чтобы выбрать английский.

[#] Select your language:
[1] English
...
[*] Language> 1

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

В реальном сценарии на машине с совместимой беспроводной картой вы увидите список интерфейсов (например, wlan0) и сможете выбрать вектор атаки.

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

Пожалуйста, запустите скрипт снова:

sudo ./fluxion.sh

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

Отсоединитесь от сессии и позвольте атаке выполняться в фоновом режиме

Это самый важный шаг. Поскольку Fluxion запущен в нашей сессии tmux, мы теперь можем "отсоединиться" от сессии. Это вернет вас в основной терминал, но сессия tmux — и Fluxion внутри нее — продолжит работать в фоновом режиме.

Чтобы отсоединиться от сессии tmux, нажмите следующую комбинацию клавиш: Нажмите Ctrl+b, отпустите клавиши, а затем нажмите d (от англ. detach — отсоединить).

Вы увидите сообщение [detached (from session fluxion_session)], и вы вернетесь в обычную оболочку.

Как убедиться, что сессия все еще работает? Вы можете вывести список всех активных сессий tmux с помощью команды tmux ls.

tmux ls

Вы должны увидеть свою сессию в выводе:

fluxion_session: 1 windows (created ...) [159x41]

Это подтверждает, что Fluxion все еще работает в фоновом режиме. Теперь вы можете безопасно закрыть SSH-соединение, и процесс будет продолжаться.

Чтобы вернуться в сессию и проверить ее состояние, вы можете "присоединиться" к ней, используя ее имя.

tmux attach -t fluxion_session

Вы мгновенно вернетесь в сессию tmux, именно туда, где остановились, с видимым меню выбора языка Fluxion. Чтобы завершить лабораторную работу, теперь вы можете нажать Ctrl+C, чтобы выйти из Fluxion, а затем ввести exit и нажать Enter, чтобы закрыть сессию tmux.

Резюме

В этой лабораторной работе вы успешно освоили важнейший навык для любого удаленного системного администратора или специалиста по тестированию на проникновение: постоянный запуск процессов в среде без графического интерфейса (headless environment).

Вы узнали:

  • Концепцию среды без графического интерфейса и почему постоянные сессии необходимы для длительных задач.
  • Как имитировать удаленное соединение и перемещаться по файловой системе.
  • Как использовать tmux для создания новой именованной сессии (tmux new -s).
  • Как запустить программу, такую как Fluxion, из сессии tmux.
  • Ключевую команду (Ctrl+b, d) для отсоединения от сессии tmux, оставляя процесс запущенным.
  • Как выводить список активных сессий (tmux ls) и повторно присоединяться к запущенной сессии (tmux attach -t), чтобы возобновить работу.

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