Обучение

Обучение

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. Пробуйте более новые или более ранние версии библиотек и проблема должна решится.

Всем добра!

Источник



Report Page