
Marfil — это расширение набора Aircrack-ng, используемое для оценки безопасности WiFi-сетей. Оно позволяет распределять работу по выполнению длительных словарных атак между множеством компьютеров.
Marfil является расширением набора Aircrack-ng, используемым для оценки безопасности сетей WiFi. Он позволяет распределить работу по выполнению длительных атак по словарю между несколькими компьютерами.
Набор Aircrack-ng предоставляет инструмент aircrack-ng, который является программой для взлома ключей 802.11 WEP и WPA/WPA2-PSK. При взломе последних необходимо использовать словарь или список слов. Чем длиннее эти словари, тем дольше длится процесс. В зависимости от вашего оборудования это может занять дни или даже недели.
Если у вас есть дополнительное оборудование, aircrack-ng не позволяет распределить нагрузку между ними: вам придется выбрать самый быстрый и ограничиться им. Именно здесь вступает в игру Marfil.
Marfil — это PHP-инструмент, который распределяет нагрузку по взлому между разными узлами. Используемый подход довольно прост: вместо того, чтобы использовать только один узел для взлома файла .cap с помощью большого словаря, он разбивает словарь и распределяет его между остальными узлами. Высокоуровневый процесс выглядит следующим образом:
.cap и BSSID целевой сети.cap и BSSID вместе с частью словаря.cap обрабатывается по всем частям словаря без успеха, либо пароль найденПроцесс повторяется. Обратите внимание, что первый шаг требуется только при первом запуске или при обновлении словарей. Серверный узел также может работать как клиентский.
На данный момент Marfil тестировался только на Linux. Однако используемый подход и инструменты достаточно платформонезависимы, поэтому он также должен работать на Windows или Mac.
Загрузите самую новую версию из раздела релизов
Распакуйте её на всех узлах (сервере и клиентах)
Установите PHP5 и набор aircrack-ng на всех клиентах
В Debian Linux это можно сделать, выполнив следующую команду:
sudo apt-get install php5 aircrack-ng
Установите модуль SQLite для PHP5 на сервере
В Debian Linux это можно сделать, выполнив следующую команду:
sudo apt-get install php5-sqlite
На серверном узле запустите веб-сервер, указав корневой каталог как public внутри каталога Marfil
Используя встроенный веб-сервер PHP, это можно сделать, выполнив следующую команду в каталоге Marfil:
php -S 0.0.0.0:8080 -t public
Вы можете проверить, что всё работает, открыв в браузере на серверном узле http://localhost:8080 и увидев пустой список запросов на взлом
Убедитесь, что вы можете получить доступ к веб-серверу с клиентов, открыв в браузере на клиентах http://YOUR_SERVER_IP_ADDRESS:8080
Поместите словари в каталог storage/app/dictionaries. Поищите в интернете списки слов, если у вас их нет
Выполните следующую команду в каталоге Marfil, чтобы разбить словари на части и подготовить базу данных словарей (в зависимости от размера словарей это может занять некоторое время):
php artisan marfil:refresh-dictionaries
Для добавления запросов на взлом требуется файл .cap с WPA handshake и BSSID целевой сети. Это можно сделать либо через интерфейс веб-сервера, либо выполнив следующую команду в каталоге Marfil на любом узле:
php artisan marfil:crack YOUR_SERVER_IP_ADDRESS:8080 path/to/file.cap 01:23:45:67:89:AB
Любой успешно созданный запрос на взлом может быть отображён в интерфейсе веб-сервера
Любой узел может использоваться как рабочий клиент. Для этого просто выполните следующую команду в каталоге Marfil:
php artisan marfil:work YOUR_SERVER_IP_ADDRESS:8080
Эта команда заставит клиента запрашивать работу каждые 60 секунд. Когда сервер отвечает с работой, клиент загрузит необходимые файлы и попытается взломать файл .cap.
Ход выполнения можно отслеживать через веб-интерфейс
Если возникла какая-либо проблема, сообщите о ней, предоставив всю необходимую информацию для её воспроизведения. В противном случае заявка будет закрыта.
Некоторые дополнительные замечания:
Логи сервера можно просматривать, отслеживая файл storage/logs/lumen.log
Базу данных можно пересоздать, выполнив эту команду:
php artisan migrate:refresh