Описание Phishing Frenzy
Итак, давайте разберемся что такое Phishing Frenzy
Phishing Frenzy – это приложение с открытым исходным кодом Ruby on Rails, которое использует тестеры на проникновения для управления кампаниями по фишингу электронной почты.
Проект был начат в 2013 году основателем Brandon zeknox McCann.
Брэндон обнаружил неэффективность в том, как многие тестеры на проникновение проводили фишинговые операции по электронной почте.
Желая упростить управление фишинговыми кампаниями, Брэндон начал проект Phishing Frenzy.
Целью проекта является оптимизация процесса фишинга, в то же время предоставляющая клиентам наилучшую реалистичную фишинговую кампанию.
Эта цель может быть достигнута посредством управления кампаниями, повторного использования шаблонов, генерации статистики и других функций, которые может предложить Frenzy.
Установка Phishing Frenzy
1.Клонировать хранилище phishing Frenzy, используя git
# git clone https://github.com/pentestgeek/phishing-frenzy.git / var / www / phishing-frenzy
2. Установка RVM, Ruby и пакетов
# \curl -sSL https://get.rvm.io | bash
# rvm install 2.1.5
3. Установите rails
# rvm all do gem install --no-rdoc --no-ri rails
4. Установите mod_passenger для Apache
# # rvm all do gem install --no-rdoc --no-ri passenger
5. Установка Passenger
Вызвать сценарий установки passenger
# passenger-install-apache2-module
Установщик заявил, что мне не хватает нескольких зависимостей apache
# apt-get install apache2-threaded-dev libapr1-dev libaprutil1-dev libcurl4-openssl-dev
Снова вызовите скрипт установки для установки, когда установлены зависимости.
После завершения установки Passenger, обратите внимание на примечания.
Вам нужно будет добавить 3 строки в файл /etc/apache2/apache.conf.
# passenger-install-apache2-module
Установите пакеты, необходимые для правильной сборки MySQL.
# apt-get install libmysqlclient-dev
6.Конфигурация Apache VHOST
Добавьте Include Statement в apache2.conf и создайте файл /etc/apache2/pf.conf.
Include pf.conf
7. Добавить содержимое в файл pf.conf
<br data-mce-bogus="1"> &lt;IfModule mod_passenger.c&gt; PassengerRoot %ROOT PassengerRuby %RUBY &lt;/IfModule&gt; &lt;VirtualHost *:80&gt; ServerName phishing-frenzy.com # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /var/www/phishing-frenzy/public RailsEnv development &lt;Directory /var/www/phishing-frenzy/public&gt; # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews &lt;/Directory&gt; &lt;/VirtualHost&gt;
Раскомментируйте строку # NameVirtualHost *: 443 внутри /etc/apache2/ports.conf, чтобы разрешить корректное отображение сайтов фишинга SSL
8. Убедитесь, что mysql запущен
# service mysql start
9. Вход и создание таблиц и привилегий для режима разработки фишинга
# mysql -u root -p mysql create database pf_dev; mysql& grant all privileges on pf_dev.* to 'pf_dev'@'localhost' identified by 'password';
10. Установка Required Gems
# cd /var/www/phishing-frenzy/
# bundle install
Если ваше веб-приложение не запускается, поскольку оно указывает на отсутствие gem , вам может потребоваться выполнить^
# bundle install --deployment # rake db:migrate # rake db:seed
11.Установите Redis
# wget http://download.redis.io/releases/redis-stable.tar.gz
# tar xzf redis-stable.tar.gz
# cd redis-x.x.x /
# make
# make install
cd utils /
# ./install_server.sh
Если вы хотите связать redis с интерфейсом loopback, проверьте документацию redis для более подробной информации
12. Конфигурация Sidekiq
Создайте каталог tmp для sidekiq pid
# mkdir -p / var / www / phishing-frenzy / tmp / pids
Запустите сервер sidekiq для взаимодействия с redis
# bundle exec sidekiq -C config / sidekiq.yml
Если вы хотите, чтобы Daemonize ваш процесс sidekiq взгляните на эту замечательную статью здесь, где приведен пример сценария инициализации, чтобы вы могли запустить службу sidekiq при перезагрузке и взаимодействовать с ней, как и любая другая типичная служба nix
Пример того, как вы можете взаимодействовать с сервисом при настройке с помощью сценария инициализации.
# service sidekiq start
# service sidekiq status
# service sidekiq stop
13.Конфигурация системы
Отредактируйте файл sudoers, чтобы убедиться, что учетная запись www-data может перезагрузить apache
www-data ALL=(ALL) NOPASSWD: /etc/init.d/apache2 reload
Загрузите шаблоны Efax и Intel по умолчанию для PF с помощью rake
# rake templates:load
Измените владельца каталога phishing-frenzy, так чтобы apache имел доступ
# chown -R www-data:www-data /var/www/phishing-frenzy/
Изменение прав в каталоге uploads
# chmod -R 755 /var/www/phishing-frenzy/public/uploads/
Измените права на каталоги сайтов, чтобы позволить Phishing Frenzy управлять виртуальными хостами с помощью Apache
# chown -R www-data:www-data /etc/apache2/sites-enabled/ # chmod -R 755 /etc/apache2/sites-enabled/
Запустите web-сервер Apache
# apachectl start
14. Учетные данные по умолчанию
Phishing Frenzy настроен по умолчанию:
username: admin password: Funt1me!
15.Настройка HTTPS / SSL
Если вы хотите запустить свой веб-интерфейс Phishing Frenzy через HTTPS, вы можете сделать это с помощью нескольких дополнительных изменений.
Выполните несколько команд, чтобы включить модуль SSL в apache и создать каталог для хранения сертификата и ключа.
# sudo a2enmod ssl
# sudo service apache2 restart
# sudo mkdir / etc / apache2 / ssl
Создайте собственный сертификат, используя openssl
# sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/apache2/ssl/pf.key -out /etc/apache2/ssl/pf.crt
<IfModule mod_passenger.c> PassengerRoot %ROOT PassengerRuby %RUBY </IfModule> <VirtualHost *:443> ServerName phishing-frenzy.com SSLEngine on SSLCertificateFile /etc/apache2/ssl/pf.crt SSLCertificateKeyFile /etc/apache2/ssl/pf.key # !!! 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>
Обновите URL-адрес приложения в меню Global Settings в соответствующее полное доменное имя с адресом HTTPS с включенным SSL.