[WordPress, Разработка веб-сайтов, Тестирование веб-сервисов] Создаем пентест-лабораторию для WordPress (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
16-Ноя-2020 14:31


В данной статье мы рассмотрим процесс создания собственной пентест-лаборатории для WordPress на:
  • Ubuntu 20.04
  • Docker
  • Windows с использованием XAMPP

Непосредственно тесты на проникновения можно делать с помощью WPScan, о котором мы уже писали.
WordPress в Ubuntu 20.04
Для работы WordPress необходимы:
  • Apache
  • База данных (MySQL / Mariadb)
  • PHP

Apache
Запустим службу HTTP с помощью Apache, используя учетную запись с root-правами. Для этого выполним следующую команду в терминале:
apt install apache2


Установка MySQL
Для работы WordPress понадобиться сервер базы данных, в качестве которого мы собираемся выбрать MariaDB.
apt install mariadb-server mariadb-client


Следующая команда защитит базу данных от удаленного доступа с root-правами.
mysql_secure_installation

После чего нужно ответить на ряд вопросов:
  • Введите текущий пароль для root (введите, если нет): нажимаем Enter
  • Установить пароль root? [Y/n]: Y
  • Новый пароль: вводим пароль
  • Повторно введите новый пароль: повторяем пароль
  • Удалить анонимных пользователей? [Y/n]: Y
  • Запретить удаленный вход с root правами? [Y/n]: Y
  • Удалить тестовую базу данных и получить к ней доступ? [Y/n]: Y
  • Перезагрузить таблицы привилегий сейчас? [Y/n]: Y


Установить php
Завершаем этап подготовки установки php php-MySQL, для чего нужно выполнить следующую команду.
apt install php php-mysql


Создать базу данных для WordPress
Вводим команду для создания базы данных для WP:
mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit


Установка и настройка WordPress
Теперь пришло время загрузить и установить WordPress на нашем локальном хосте. С помощью команды wget мы получаем архив с установщиком wordpress и извлекаем его в каталог /var/www/html.
cd /var/www/html
wget http://www.wordpress.org/latest.tar.gz
tar –xvf latest.tar.gz


Данная команда изменит владельца каталога «wordpress» и даст разрешение на загрузку файлов.
chown -R www-data:www-data wordpress/
chmod -R 755  wordpress/
mkdir wordpress/wp-content/uploads
chown -R  www-data:www-data wordpress/wp-content/uploads


Теперь чтобы начать процесс установки необходимо ввести в браузере адрес сайта, который в нашем случае расположен на локальном хосте.
http://localhost/wordpress/

Первым этапом в процессе установки WordPress будет выбор языка.

Далее мы увидим окно с необходимыми для работы WP требованиями, но мы все уже подготовили заранее.

Чтобы WordPress правильно установился и работал необходимо ввести данные для подключения к созданной ранее базе данных.

Далее необходимо ввести данные нашего веб-сайта.

Стоит отметить, что запрашиваемые данные логина и пароля:
  • Перед установкой WP – относятся к информации о базе данных.
  • После установки WP – относятся к админке WordPress.

После этого откроется страница входа в админку WordPress.

Откройте файл wp-config.php в каталоге wordpress и вставьте в него следующие строки, чтобы получить доступ к странице веб-сайта.
define( 'WP_SITEURL', 'http://' .$_SERVER['HTTP_HOST'].'/wordpress');
define( 'WP_HOME', 'http://' .$_SERVER['HTTP_HOST'].'/wordpress');


Вот и все готово и наш WordPress для пентеста готов к работе.

Установка WordPress на Docker
Установка WordPress на Docker намного проще в плане предподготовки. Это очень простой и быстрый метод настройки WordPress. Необходимо обладать лишь базовыми знаниями о docker и его функциях.
Первым делом обновим репозиторий Ubuntu и установим последнюю версию docker.io с помощью команды apt:
apt install docker.io


Docker Compose используется для запуска нескольких контейнеров как одной службы. Давайте начнем установку docker-compose с помощью apt:
apt install docker-compose


Теперь мы должны создать каталог с именем "WordPress", а также файл .yml, который будет содержать необходимую для установки информацию.
mkdir wordpress
cd wordpress/
nano docker-compose.yml


Теперь вставьте следующий текст в .yml и сохраните конфигурацию. Исходный код взят отсюда.
version: '3.3'
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}


Теперь запустим докер в режиме отсоединения с помощью команды:
docker–compose up -d


После выполнения всех пошаговых настроек переходим к локальному хосту через порт 8000. Теперь остается лишь установить WP, что мы уже проделывали ранее.

После завершения установки необходимо в админке WP ввести адрес своего локального хоста с номером порта, на котором работает ваш докер.

Вот и все. Теперь WordPress готов для пентестов.

WordPress на Windows
На Windows установить WordPress опять проще, чем на Ubuntu, ведь с помощью XAMPP мы можем сэкономить время на установке:
  • Apache
  • MySQL


Распакуем zip-архив WordPress в папку htdocs в папке xampp на диске C.

Теперь откроем PHPMYADMIN в браузере. Для этого зайдём в /localhost/phpMyAdmin, где создадим базу данных для WordPress.

Вводим данные доступа к базе данных.

Как и в предыдущих случаях устанавливаем WordPress.

Чтобы сделать движок более уязвимым для пентеста можно установить подобные плагины.

Также WordPress для пентеста всегда можно разместить на серверах AlexHost.

оригинал
===========
Источник:
habr.com
===========

===========
Автор оригинала: RAJ CHANDEL
===========
Похожие новости: Теги для поиска: #_wordpress, #_razrabotka_vebsajtov (Разработка веб-сайтов), #_testirovanie_vebservisov (Тестирование веб-сервисов), #_pentest (пентест), #_test_na_proniknovenie (тест на проникновение), #_wordpress, #_wordpress_hacks, #_wordpress_security, #_blog_kompanii_alexhost (
Блог компании AlexHost
)
, #_wordpress, #_razrabotka_vebsajtov (
Разработка веб-сайтов
)
, #_testirovanie_vebservisov (
Тестирование веб-сервисов
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 17:17
Часовой пояс: UTC + 5