Обучение
Life-HackСегодня я хочу вам рассказать про свой опыт установки мощного инструмента для фишинга Phishing Frenzy (далее PF).
Установка данного продукта непростой и трудоемкий процесс, особенно для неопытного пользователя, а отсутствие корректной информации по установке вообще выводит из себя на первых парах развертывания PF. Поэтому я, опираясь на опыт потраченного мною времени, написал наиболее корректный способ установки данного продукта. В общей сложности потратил на мануал несколько дней. Весь этот процесс сопровождался кучей эмоций, нецензурной лексики и желанием разломать свой комп. Но я справился и радость от завершения данного процесса так же неописуема.
Ну ладно, перейдем к делу.
Я буду разворачивать PF на Kali-Linux 2017.2.
Прежде всего убедимся что на машине стоит Ruby, Apache и MySql. На Kali обычно они идут в комплекте.
ruby -v apache2 -v mysql -V

Если данные компоненты не установлены, то обновите систему и установите все необходимое.
Далее скачаем PF в директорию /var/www/:
git clone https://github.com/pentestgeek/phishing-frenzy.git /var/www/phishing-frenzy
Установим Rails и модуль Passenger, который позволит Apache работать с Ruby.
gem install --no-rdoc --no-ri rails gem install --no-rdoc --no-ri passenger
Запустим установку Passenger для Apache.
passenger-install-apache2-module
Мы получаем ошибку и сообщении об отсутствии некоторых компонентов.

Установим необходимые компоненты.
apt-get install libcurl4-openssl-dev zlib1g-dev libssl-dev libapr1-dev libaprutil1-dev apache2-dev
Повторим установку Passenger для Apache.
После завершения установки получаем следующее сообщение:

Не нажимая Enter копируем текст, который необходимо вставить в файл apache2.conf
После добавления и сохранения файла apache2.conf нажимаем Enter и завершаем установку Passenger.

Теперь необходимо создать конфигурационный файл PF для apache в директории /etc/apache2/site-available/. Я назвал его pf.local.conf.
Вставляем в него следующее содержимое:
<IfModule mod_passenger.c> PassengerRoot %ROOT PassengerRuby %RUBY </IfModule> <VirtualHost *:80> ServerName pf.local # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /var/www/phishing-frenzy/public RailsEnv development <Directory /var/www/phishing-frenzy/public> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews </Directory> </VirtualHost>
ServerName должно соответствовать названию файла до расширения .conf.
Перейдем к настройке db.
Установим дополнительный пакет для bd.
Если у вас Mariadb, то ставим:
apt-get install libmariadbclient-dev
Если просто MySql, то:
apt-get install libmysqlclient-dev
Отлично. Подготовительные работы закончены, переходим к установке. Это именно тот момент, в котором могут начаться проблемы, которые будут выводить из себя...
Прежде настроим MySql.
mysql -u root -p create database pf_dev; grant all privileges on pf_dev.* to 'pf_dev'@'localhost' identified by 'password';
Мы создали базу данных для PF и дали приложению доступ к ней.
Установим Redis-server:
Код:
wget http://download.redis.io/releases/redis-stable.tar.gz tar xzf redis-stable.tar.gz cd redis-stable/ make make install cd utils/ ./install_server.sh
Перейдем в директорию приложения.
cd /var/www/phishing-frenzy/
Запустим установку Bundle.
bundle install
Ошибок не должно возникнуть.
При возникновении ошибок необходимо попробовать выполнить следующую команду:
bundle install --deployment
Если снова возникает ошибка, то скорее всего библиотека, которая вызывает ошибку, уже стоит и необходимо ее удалить и повторить предыдущую команду.
Далее необходим подгрузить все таблицы в базу данных PF, созданную ранее.
rake db:migrate rake db:seed
При выполнении команды migrate может возникнуть ошибка.

Для ее устранения необходимо выполнить:
rake db:drop rake db:create rake db:migrate rake db:seed
Так же при выполнении migrate может возникать предупреждение, оно возможно не критично, но лучше исправить.

Данная ошибка возникает из-за устаревших версий библиотек, прописанных в Gemfile.
В данной ситуации нас интересуют три библиотеки: sass-rails, sprockets и less-rails.
Сначала необходимо проверить последние версии данных библиотек. Это можно посмотреть здесь: https://rubygems.org/gems
Далее следует отредактировать Gemfile. Он лежит здесь:
/var/www/phishing-frenzy/Gemfile
И вписываем необходимые версии. Если библиотека уже есть в списке, то просто дописываем версию, если нет, то добавляем в конец файла.
gem 'sass-rails', '~> 5.0.6' gem 'less-rails', '~> 3.0.0' gem 'sprockets', '~> 3.7.1'
Далее необходимо выполнить следующие команды:
bundle install --no-deployment bundle install bundle install --deployment
Повторим:
rake db:drop rake db:create rake db:migrate rake db:seed
Ошибок не должно быть.
Теперь создадим директорию pids для запуска sidekiq,
mkdir -p /var/www/phishing-frenzy/tmp/pids
и запустим sidekiq.
bundle exec sidekiq -C config/sidekiq.yml
Если все хорошо, то получим логотипчик без ошибок. Оставляем его запущенным и откроем еще одно окно терминала.

Далее отредактируем файл /etc/sudories, чтобы убедиться, что учетная запись www-data может перезагрузить apache.
Добавим в конец файла:
www-data ALL=(ALL) NOPASSWD: /etc/init.d/apache2 reload
Перейдем в директорию к PF и загрузим шаблоны Efax и Intel по умолчанию, используя rake.
rake templates:load
Изменим владельца папки PF на www-data, для корректного доступа apache.
chown -R www-data:www-data /var/www/phishing-frenzy/
Изменим привилегии доступа к папке uploads.
chmod -R 755 /var/www/phishing-frenzy/public/uploads/
Меняем владельца и привилегии доступа на папке site-enabled.
chown -R www-data:www-data /etc/apache2/sites-enabled/ chmod -R 755 /etc/apache2/sites-enabled/
Отредактируем файл hosts.
nano /etc/hosts
Изменим первую строчку в файле, добавив ServerName указанное ранее в файле pf.local.conf.
127.0.0.1 localhost pf.local Добавим сервер PF во включенные и запускаем apach.a2ensite pf.local service apache2 start
Отрываем браузер, заходим на http://pf.local/ и вас должна поприветствовать авторизация.

Авторизуемся:
username: admin password: Funt1me!
И можем захватывать мир))))
При возникновении ошибок об отсутствии или запуска какой либо из библиотек необходимо поиграть с Gemfile. Пробуйте более новые или более ранние версии библиотек и проблема должна решится.
Всем добра!