Гостевая статья Настройка веб-приложения Pentest Lab на AWS

Разве не будет здорово, если вы сможете добраться до своей пентест лаборатории со всего мира? Как мы все знаем, это цифровой век, который делает жизнь проще, чем мы ожидаем, поэтому любой может получить доступ к своей информации/данным из облака. Точно так же Pentester может спроектировать свою среду для тестирования уязвимой машины в облаке, к которой можно получить доступ из любого места. AWS, вероятно, является самым популярным облачным сервисом, доступным на сегодняшний день, и большинство компаний используют облачный или гибридный подход к своей инфраструктуре.

Эта статья посвящена настройке уязвимой лаборатории для проникновения в Интернете в Amazon Web Services (AWS) для проведения ручного тестирования.

Содержание
  • Необходимые условия
  • Установка и настройка экземпляра AWS
  • Развертывание и подключение
  • Установка зависимостей
    • apache
    • MySql - сервер
    • PHP
    • Настройка MySql
    • PhpMyAdmin
  • Лабораторная установка
    • DVWA
    • SQL-инъекция - Даккан
    • OWASP Mutillidae II
Необходимые условия
Чтобы настроить свою собственную среду ручного тестирования, вы должны иметь учетную запись AWS, а если нет, то создать учетную запись AWS и войти в свою учетную запись.

Создание и настройка экземпляра AWS
Давайте пройдемся по процессу настройки лаборатории, создадим экземпляр EC2 с Ubuntu Server 18.04 LTS. Экземпляр EC2 в Amazon Elastic Compute Cloud (EC2) называется виртуальным сервером для запуска приложений в инфраструктуре AWS. Хорошая вещь заключается в том, что это не будет стоить вам ничего, поскольку в AWS есть варианты настройки экземпляров на определенном вычислительном уровне, за которые не взимается плата.

  1. Откройте консоль EC2 в AWS.
1 (4).png


2. Перейдите к «Launch Instance» и нажмите «Launch Instance».

2 (4).png


  1. Выберите образ машины Amazon (AMI), это в основном похоже на поиск iso-файла ОС, который вы хотите использовать в своем экземпляре. AWS предоставил вам доступ к большинству популярных ОС, доступных в его инвентаре.
  2. Здесь мы искали Ubuntu.
  3. Теперь, когда мы видим ОС, которую мы хотим запустить на нашем экземпляре, нам нужно выбрать «64-битную (x86)».

3 (4).png


  1. Теперь нам нужно выбрать наш тип экземпляра, чтобы в основном определить количество оборудования, которое будет иметь этот экземпляр, мы выбираем «t2.micro». Это дает нам виртуальный процессор и 1 ГБ оперативной памяти.
Для большинства рабочих нагрузок общего назначения экземпляры T2 Unlimited обеспечивают достаточную производительность без каких-либо дополнительных затрат.

Функции:

  • Высокочастотные процессоры Intel Xeon
  • Устойчивый процессор со стабильной базовой производительностью
  • Самый дешевый универсальный тип экземпляра и право на бесплатный уровень
  • Баланс вычислений, памяти и сетевых ресурсов
Узнайте больше

  1. Как только мы нажимаем «Просмотр и запуск», остальные параметры остаются без изменений, и мы нажимаем «запуск».

4 (4).png


8. Теперь давайте запустим экземпляр, который создаст пару ключей для вашего экземпляра и завершит процесс запуска.

5 (4).png


Это очень важный шаг, эти настройки, что позволят вам подключаться к вашему экземпляру через SSH.

  1. Выберите «Создать новую пару ключей», дайте ему имя, загрузите и сохраните файл .pem где-нибудь, в безопасности.

6 (5).png


AWS сообщает вам о состоянии запуска, сообщает вам о процессе запуска и показывает, что ваш экземпляр запускается.

  1. Теперь нажмите «Просмотр экземпляров», чтобы увидеть, что происходит с нашим сервером Ubuntu. Обратите внимание, что для полного развертывания сервера требуется несколько минут, поэтому наберитесь терпения. Теперь в разделе «Проверка состояния» мы видим, что у нас есть 2/2 проверки, это по сути означает, что наш экземпляр полностью развернут и готов к подключению.
7 (5).png


Развертывание и подключение
Теперь мы можем развернуть и подключиться к нашему экземпляру в AWS.

  1. Мы выбираем наш экземпляр и нажимаем «Подключиться», после чего мы переходим на страницу с параметрами, которые определяют, как мы хотим подключиться к нашему экземпляру, и выбираем подключение с помощью автономного клиента SSH.

8 (5).png


Введите имя для своего идентификатора экземпляра, чтобы вы могли легко идентифицировать идентификатор экземпляра по его имени.

9 (5).png


AWS очень помогает нам сообщить подробности нашего соединения, такие как используемые команды.

13 (4).png


Есть много приложений, через которые вы сможете получить соединение с экземпляром, мы подключаемся к нему из Kali Linux.

  1. Мы сначала убедитесь, что. Файл pem, который мы сохранили, имеет соответствующие права доступа, в этом случае его нужно только «читать». Как только это будет сделано, мы добавим данные SSH, предоставленные AWS.
Syntax: ssh -I “key.pem” AMIuser@instance-Public-DNS

  1. Файл .pem определен так, чтобы операция SSH знала, где находятся ключи, и все, мы в !! Подключаемся и получаем root.

14 (4).png


Установите зависимости, необходимые для Pentest-lab
Ubuntu уже запущен и работает, давайте запустим его для наших целей пентеста, для этого нам нужно установить базовые зависимости, чтобы мы могли получить доступ к веб-приложениям, таким как DVWA и т. д.


Сначала мы установим Apache. Apache является наиболее часто используемым веб-сервером в системах Linux. Веб-серверы используются для обслуживания веб-страниц, запрашиваемых клиентскими компьютерами.

  1. Итак, давайте сначала установим Apache в Ubuntu следующей командой.
apt install apache2

Мы успешно установили apache2, по умолчанию apache работает на порту 80

15 (4).png


Для правильной работы Apache нам нужно открыть порт 80, так что давайте перейдем к нему. Нам нужно отредактировать группу безопасности, чтобы служба Apache работала. Порты по умолчанию закрыты в AWS, поэтому мы можем определить, что мы хотим открыть.

  1. Перейдите к своему экземпляру и запустите мастер групп безопасности -1 .
  2. Отредактируйте входящие правила и добавьте HTTP, используя протокол TCP через порт 80.
16 (2).png


4.Правило было добавлено, теперь нажмите сохранить.

17 (1).png


5.Теперь, чтобы проверить, что Apache работает на нашем сервере Ubuntu, мы получаем доступ к IP-адресу экземпляра в браузере.

19 (1).png


MySQL - сервер
Следующим шагом является установка MySql-сервера. Это довольно просто, просто введите команду и позвольте Ubuntu сделать все остальное.

apt install mysql-server

20.png


PHP
Устанавливая PHP 7.2, просто введите следующую команду.

apt install php7.2

21.png


Настройка MySQL
Давайте настроим MySQL, чтобы у нас были правильные учетные данные для нашей установки. После того, как войдете в систему, вы предоставите все привилегии пользователю Ubuntu, так как в нашем случае мы предоставили все привилегии пользователю raj, который будет идентифицирован паролем ubuntu, который в нашем случае равен 123, и после которого мы сбросим настройки, все предыдущие привилегии, чтобы он мог запустить службу с новыми изменениями. Для этого используются следующие команды.

Код:
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'raj'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
flush privileges;

22.png


PHPMyAdmin
Нам также нужно установить phpMyAdmin, вот как это сделаеть.

apt install phpmyadmin

23.png


Phpmyadmin должен быть настроен, он должен знать, что мы хотим использовать apache2 в качестве нашего веб-сервера.

Далее нам нужно дать ему пароль, который мы сохранили при настройке MySQL.

24.png


Лабораторная установка
Мы закончили установку всех зависимостей для нашей установки и теперь готовы установить наши пентест-лаборатории.

DVWA
давайте перейдем в папку «html» для загрузки и установки DVWA. Как только это будет сделано, нам нужно переместить файл config.inc.php.dist для дальнейшей настройки.

Код:
cd /var/www/html
git clone https://github.com/ethicalhack3r/DVWA
cd /dvwa/config
mv config.inc.php.dist config.inc.php

29.png


Откройте файл config.inc.php в текстовом редакторе и введите учетные данные базы данных, которые мы настроили ранее. Нам нужно только изменить 2 поля: db_user и db_password.

30.png


Теперь мы открываем DVWA в нашем веб-браузере и нажимаем «Создать / Сбросить базу данных».

31.png


Время, чтобы войти в наш DVWA!

32.png


SQL-инъекция - Даккан
Наше уязвимое веб-приложение запущено и работает, теперь мы хотим установить лабораторию для SQL-инъекций, мы будем использовать Dhakkan sqli lab.

Вот как это сделать. Мы загружаем его в папку html для размещения, затем перемещаем папку «sqlilabs» в «sqli». Затем нам нужно отредактировать учетные данные базы данных, чтобы лаборатория могла нормально функционировать. Откройте файл db-creds.inc в текстовом редакторе.

Код:
git clone http://github.com/Rinkish/Sqli_Edited_Version
cd Sqli_Edited_Version/
ls
mv sqlilabs/ ../sqli
cd sqli
cd sql-connections/

33.png


Теперь, когда файл открыт, мы вводим имя пользователя и пароль.

34.png


Теперь просмотрите это веб-приложение через Public-DNS / sqli и нажмите «Настройка / сброс баз данных для лабораторных работ». Теперь лаборатория sqli готова к использованию.

35.png


Успех! Sqli запущен и работает.

36.png


OWASP Mutillidae II
И последнее, но не менее важное: мы установим OWASP Mutillidae II, и на этом наши настройки будут завершены.

Итак, начнем с перехода в папку «html» и загрузки Mutillidae. После загрузки мы переходим в папку «include».

Код:
git clone https://github.com/webpwnized/mutillidae
cd mutillidae
cd includes
ls
nano database-config.inc

37.png


После этого измените файл доступа к базе данных, чтобы подтвердить учетные данные, которые мы настроили ранее.

38.png


Теперь мы откроем наш локальный браузер по следующему URL: Public-DNS / mutillidae, где мы найдем опцию сброса базы данных. Просто нажмите на нее, чтобы сбросить базу данных. Давайте запустим Mutillidae с помощью нашего браузера.

39.png


Вуаля !! Ваш экземпляр Ubuntu готов для вас, чтобы начать путешествие по пентесту AWS. У вас есть все возможности подключения, зависимости и лаборатории, которые готовы к работе.

Перевод:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!