Введение
Fluxion — это мощный инструмент для аудита безопасности и исследований в области социальной инженерии. Одной из его наиболее известных функций является атака с использованием captive portal (принудительного портала), которая создает поддельную точку доступа Wi-Fi и страницу входа для перехвата учетных данных. Хотя Fluxion поставляется с несколькими готовыми страницами входа, создание собственной пользовательской страницы может сделать ваши попытки социальной инженерии гораздо более убедительными и адаптированными к конкретной цели.
В этой лаборатории вы изучите пошаговый процесс создания собственной пользовательской HTML-страницы входа и ее интеграции в Fluxion. Вы ознакомитесь со структурой каталогов Fluxion, создадите новый сайт, напишете базовую HTML-форму входа и убедитесь, что она корректно взаимодействует с бэкендом Fluxion.
Переход в каталог 'attacks/Captive Portal/sites'
На этом этапе вы перейдете в каталог, где Fluxion хранит свои шаблоны captive portal. Понимание структуры этого каталога — первый шаг к добавлению собственной страницы. Все операции будут начинаться из каталога ~/project.
Сначала перейдем в каталог fluxion, который был клонирован для вас в процессе настройки.
cd ~/project/fluxion
Теперь углубимся в структуру каталогов, чтобы найти сайты captive portal.
cd attacks/Captive\ Portal/sites/
Обратите внимание на использование обратной косой черты \ для экранирования пробела в названии каталога Captive Portal.
Наконец, выведем содержимое этого каталога, чтобы увидеть существующие шаблоны порталов. Это даст вам представление об их организации.
ls -l
Вы должны увидеть список каталогов, каждый из которых представляет собой отдельный шаблон страницы входа.
total 80
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 ASUS_dark_desktop
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Brand_Generic_Alternative_Login_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Brand_Generic_Login_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 D-Link_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Linksys_EN
... (и многие другие)
Теперь вы находитесь в нужном месте для создания собственного портала.
Создание нового каталога для вашего пользовательского портала
На этом этапе вы создадите выделенный каталог для вашего нового пользовательского портала. Fluxion определяет доступные порталы, сканируя каталоги внутри папки sites. Каждый каталог должен содержать файл index.html, чтобы быть распознанным как действительный портал.
Находясь в текущем местоположении (~/project/fluxion/attacks/Captive Portal/sites/), используйте команду mkdir для создания нового каталога. Назовем его MyCustomPortal.
mkdir MyCustomPortal
После создания каталога вы можете проверить его существование, снова выведя содержимое каталога sites.
ls
Вы должны увидеть MyCustomPortal среди других каталогов порталов.
ASUS_dark_desktop
Brand_Generic_Alternative_Login_EN
Brand_Generic_Login_EN
...
MyCustomPortal
...
Этот новый каталог будет содержать все файлы для вашей пользовательской страницы входа, начиная с основного файла index.html.
Создание файла 'index.html' с формой входа
На этом этапе вы создадите основной файл для вашего портала: index.html. Этот файл будет содержать HTML-структуру простой формы входа, которая будет представлена пользователю.
Сначала перейдите в только что созданный каталог.
cd MyCustomPortal
Теперь используйте текстовый редактор nano для создания и редактирования файла index.html.
nano index.html
В редакторе nano вставьте следующий базовый HTML-код. Этот код создает простую страницу с заголовком, основным заголовком и формой с полем для ввода пароля и кнопкой отправки.
<!DOCTYPE html>
<html>
<head>
<title>Network Login</title>
</head>
<body>
<h1>Please log in to continue</h1>
<form>
<p>Password:</p>
<input type="password" name="pass" />
<br /><br />
<input type="submit" value="Login" />
</form>
</body>
</html>
После вставки кода сохраните файл и выйдите из nano, нажав Ctrl+X, затем Y и, наконец, Enter.
Теперь вы создали визуальную часть вашей страницы входа. На следующем шаге вы настроите ее для корректной отправки захваченных данных в Fluxion.
Убедитесь, что форма отправляет данные на '/login'
На этом этапе вы измените HTML-форму, чтобы она корректно взаимодействовала с бэкендом Fluxion. Чтобы Fluxion мог перехватывать учетные данные, форма должна отправлять свои данные по определенному пути (/login) с использованием определенного метода (POST).
Снова откройте файл index.html с помощью nano.
nano index.html
Найдите тег <form>. Вам нужно добавить к нему два атрибута: method="POST" и action="/login". Атрибут method="POST" указывает браузеру отправлять данные формы в теле HTTP-запроса, а action="/login" определяет конечную точку, куда должны быть отправлены данные. Веб-сервер Fluxion прослушивает эту конечную точку для захвата учетных данных.
Измените ваш файл index.html следующим образом:
<!DOCTYPE html>
<html>
<head>
<title>Network Login</title>
</head>
<body>
<h1>Please log in to continue</h1>
<form method="POST" action="/login">
<p>Password:</p>
<input type="password" name="pass" />
<br /><br />
<input type="submit" value="Login" />
</form>
</body>
</html>
Обратите внимание на изменения в теге <form>. Атрибут name="pass" в поле ввода также важен, поскольку это ключ, который Fluxion использует для идентификации отправленного пароля.
Сохраните файл и выйдите из nano (Ctrl+X, Y, Enter). Ваш пользовательский портал теперь функционально завершен и готов к использованию Fluxion.
Перезапустите Fluxion и выберите ваш пользовательский портал
На этом заключительном этапе вы запустите Fluxion, чтобы убедиться, что он распознает ваш недавно созданный пользовательский портал.
Сначала вернитесь в основной каталог fluxion.
cd ~/project/fluxion
Теперь запустите основной скрипт Fluxion с правами sudo. Для сетевых операций требуются административные права.
sudo ./fluxion.sh
При первом запуске Fluxion может выполнить проверку зависимостей. Если он предложит установить недостающие инструменты, нажмите Enter для продолжения. После завершения проверок вам будет представлено главное меню.
- Выберите язык (например, введите
1для английского). - В меню атак выберите
Captive Portal.
Затем Fluxion просканирует каталог attacks/Captive Portal/sites/ и представит вам список доступных порталов. Прокрутите этот список, и вы увидите MyCustomPortal среди опций.
Вы можете выбрать его, чтобы подтвердить, что он работает. Поскольку это виртуальная среда без физической беспроводной карты, вы не сможете завершить атаку, но появление вашего портала в списке подтверждает, что вы успешно интегрировали его.
Вы можете выйти из Fluxion в любое время, нажав Ctrl+C.
Итоги
Поздравляем! Вы успешно создали и интегрировали пользовательскую HTML-страницу входа в Fluxion.
В этой лабораторной работе вы научились:
- Навигироваться по внутренней структуре каталогов Fluxion для поиска сайтов captive portal.
- Создавать новый каталог для размещения файлов вашего пользовательского портала.
- Писать базовый файл
index.html, содержащий форму входа. - Критически настраивать форму для отправки данных (
POST) в конечную точку/login, что позволяет Fluxion перехватывать учетные данные. - Запускать Fluxion и проверять, что ваш пользовательский портал распознается и доступен для использования в атаке Captive Portal.
Этот навык позволяет создавать гораздо более целенаправленные и правдоподобные страницы входа для ваших оценок безопасности, значительно повышая потенциальную эффективность ваших мероприятий по социальной инженерии. Вы можете дополнительно улучшить свои страницы, добавив CSS для стилизации и JavaScript для динамического контента.
