Создаем пентест-лабораторию для WordPress

от автора

В данной статье мы рассмотрим процесс создания собственной пентест-лаборатории для 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.

image

ссылка на оригинал статьи https://habr.com/ru/company/alexhost/blog/527968/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *