Логотип
Главная | Статьи | Собираем свою лабораторию для пентеста: Vagrant + Docker + Metasploit. Конфиги и уязвимые приложения
Собираем свою лабораторию для пентеста: Vagrant + Docker + Metasploit. Конфиги и уязвимые приложения

Собираем свою лабораторию для пентеста: Vagrant + Docker + Metasploit. Конфиги и уязвимые приложения

3 июля, 2025

70

Эй, хакеры и пентестеры! Хотите создать свою личную песочницу для отработки навыков взлома, не боясь сломать что-то важное или попасть под прицел админов? Сегодня мы с вами соберем крутую лабораторию для пентеста, используя Vagrant для виртуализации, Docker для контейнеров и Metasploit как основное оружие. А еще настроим зеркала уязвимых приложений, таких как OWASP Juice Shop и DVWA, чтобы было на чем оттачивать скиллы. Всё будет изолировано, безопасно и готово к бою. Погнали!

Зачем нужна лаборатория для пентеста?

Пентест — это про практику. Теория хороша, но без реальных тестов на уязвимых системах ты не станешь профи. Собственная лаборатория даёт тебе:

  • Безопасность: никаких рисков для реальных сетей.
  • Контроль: ты сам выбираешь, что и как ломать.
  • Повторяемость: сломал — пересобрал среду за минуты.

Мы используем Vagrant для создания виртуальных машин (VM), Docker для лёгких контейнеров с уязвимыми приложениями и Metasploit как главный инструмент атаки. Всё это изолировано, чтобы ты мог экспериментировать без страха.

Что тебе понадобится

Перед стартом убедись, что у тебя есть:

  • Установленный Vagrant (для управления VM).
  • Установленный VirtualBox или другой провайдер для Vagrant.
  • Установленный Docker и Docker Compose (для контейнеров).
  • Установленный Metasploit Framework (лучше на Kali Linux или через Docker).
  • Базовые знания командной строки и сетей.

Шаг 1: Настройка базовой среды с Vagrant

Vagrant позволяет быстро разворачивать виртуальные машины с предустановленными конфигурациями. Мы создадим две VM: одну для атак (Kali Linux с Metasploit), другую для мишеней (Ubuntu с Docker для уязвимых приложений).

Создаём Vagrantfile

Создай файл Vagrantfile в пустой директории:

Запускаем машины

В той же директории выполни:

Vagrant скачает образы Kali Linux и Ubuntu, настроит сетевые интерфейсы (приватная сеть для общения между машинами) и установит Docker на машину-мишень. После завершения ты можешь подключиться к машинам:

  • Для Kali: vagrant ssh kali
  • Для мишени: vagrant ssh target

Лайфхак: Если у тебя слабый ПК, уменьши memory и cpus в конфиге, но не ниже 1024 МБ для Kali — Metasploit жрёт ресурсы.

Шаг 2: Разворачиваем уязвимые приложения с Docker

Теперь на машине-мишени (Ubuntu) мы поднимем уязвимые веб-приложения с помощью Docker. Мы выберем два популярных проекта: OWASP Juice Shop (симуляция уязвимого интернет-магазина) и DVWA (Damn Vulnerable Web Application).

OWASP Juice Shop

Создай файл docker-compose.yml в домашней директории на машине target:

Запусти контейнер:

После старта Juice Shop будет доступен по адресу http://192.168.56.11:3000. Это крутой полигон для отработки инъекций, XSS, CSRF и других атак.

DVWA (Damn Vulnerable Web Application)

Добавь DVWA в тот же docker-compose.yml:

Перезапускай контейнеры:

DVWA будет доступен по адресу http://192.168.56.11. Логин/пароль по умолчанию: admin/password. Здесь можно практиковать SQL-инъекции, брутфорс и многое другое.

Лайфхак: Если порты конфликтуют, меняй их в конфиге (например, для DVWA используй 8080:80).

Шаг 3: Настройка Metasploit на Kali

Если ты подключился к машине kali через vagrant ssh kali, Metasploit уже должен быть предустановлен. Проверь:

Если всё ок, ты увидишь знакомый интерфейс. Если нет — обнови пакеты:

Теперь настроим сеть так, чтобы Kali видела машину-мишень. IP-адреса уже заданы в Vagrantfile (Kali: 192.168.56.10, Target: 192.168.56.11). Пингуй мишень:

Если есть ответ — ты готов к атакам.

Пример атаки: Сканирование портов мишени через Metasploit.

  1. Запусти msfconsole.
  2. Используй модуль сканирования:

Ты увидишь открытые порты, включая 80 (DVWA) и 3000 (Juice Shop). Это твой первый шаг к эксплуатации.

Шаг 4: Тестируем уязвимости

OWASP Juice Shop

Открой браузер на своей хост-машине и перейди на http://192.168.56.11:3000. Попробуй простые атаки:

  • SQL-инъекция в строке поиска (например, test' OR 1=1 --).
  • XSS через поля ввода (например, <script>alert('hacked')</script>).

Juice Shop даже имеет встроенные челленджи с подсказками — круто для новичков.

DVWA

Перейди на http://192.168.56.11 и выбери уровень сложности “Low”. Попробуй:

  • SQL-инъекция: В разделе SQL Injection введи 1' OR '1'='1 для обхода авторизации.
  • Брутфорс: Используй Burp Suite или Hydra для подбора пароля.

Лайфхак: Если хочешь усложнить задачу, повысь уровень безопасности в DVWA до “High”.

Шаг 5: Дополнительные фичи и автоматизация

  1. Снимки состояния (Snapshots): Vagrant и VirtualBox позволяют создавать снимки VM. Перед сложной атакой сделай снапшот:

Если что-то сломается, восстанови:

  1. Автоматизация атак: Напиши простые скрипты для Metasploit (resource scripts), чтобы автоматизировать рутинные задачи, например, сканирование или эксплуатацию.

Пример скрипта scan.rc:

Запусти: msfconsole -r scan.rc.

Итог: Твоя лаборатория готова!

Теперь у тебя есть полностью изолированная среда для пентеста. Ты можешь:

  • Атаковать уязвимые приложения с Kali Linux.
  • Разворачивать новые мишени в Docker за минуты.
  • Экспериментировать с Metasploit и другими инструментами.

Совет от профи: Не ограничивайся Juice Shop и DVWA. Попробуй другие контейнеры, например, VulnHub машины или TryHackMe образы, интегрируя их в свою лабораторию через Vagrant.