Домашняя лаборатория для пентеста: как безопасно учиться на Kali Linux и специально уязвимых приложениях

Зачем нужна собственная лаборатория​


Пентест без согласованного scope — нарушение закона. Единственный легальный способ набить руку — работать с системами, которые вы контролируете сами. Домашняя лаборатория решает три задачи одновременно: даёт полную свободу экспериментов, изолирует уязвимый код от реальных сетей и позволяет воспроизводить атаки многократно без последствий.

Минимальная лаборатория состоит из двух компонентов: атакующая машина (обычно Kali Linux) и одна или несколько уязвимых целей. Всё это работает внутри виртуальной среды, отрезанной от вашей основной сети.

Выбор гипервизора​


Kali Linux официально поддерживает установку в виртуальные машины на базе VMware, VirtualBox, Hyper-V, Parallels, Proxmox и Vagrant. Для новичка оптимальны два варианта:

ГипервизорСтоимостьПлатформыПримечание
VirtualBoxБесплатноWindows, macOS, LinuxПроще всего для старта, готовые образы Kali доступны на сайте проекта
VMware Workstation ProПлатноWindows, LinuxПосле приобретения Broadcom лицензионная модель изменилась; проверяйте актуальные условия

VirtualBox покрывает потребности начинающего полностью. Kali Linux предоставляет готовые образы OVA для VirtualBox, которые избавляют от ручной установки и начальной настройки.

Требования к хосту​


Для комфортной работы с двумя виртуальными машинами (Kali + цель) ориентируйтесь на:

  • RAM: 8 ГБ минимум, 16 ГБ рекомендуется. Kali выделяйте 2–4 ГБ, целевой машине — 1–2 ГБ.
  • Диск: 40–60 ГБ свободного места на SSD. Виртуальные машины с снапшотами быстро разрастаются.
  • CPU: любой современный процессор с поддержкой аппаратной виртуализации (VT-x / AMD-V). Убедитесь, что виртуализация включена в BIOS/UEFI.

Установка Kali Linux в VirtualBox​


Самый быстрый путь — скачать готовый образ с официального сайта Kali Linux. На странице загрузки выберите раздел Virtual Machines и скачайте OVA-файл для VirtualBox. Импортируйте его через меню File → Import Appliance.

После первого запуска:

  1. Войдите с учётными данными по умолчанию (они указаны на странице загрузки образа).
  2. Сразу смените пароль пользователя.
  3. Обновите пакеты:

Bash:
sudo apt update && sudo apt upgrade -y

  • Проверьте, что сетевой адаптер настроен правильно (об этом ниже).

Сетевая изоляция — критический шаг​


Это самый важный аспект безопасности лаборатории. Уязвимые приложения содержат реальные эксплойты. Если они окажутся доступны из вашей домашней сети или интернета, любой сможет их проэксплуатировать.

Рекомендуемая схема​


Создайте в VirtualBox отдельную сеть типа Host-Only или Internal Network:

  • Host-Only: хост-машина видит виртуальные машины, но они не имеют выхода в интернет. Подходит, если инструменты Kali не требуют загрузки данных извне во время работы.
  • Internal Network: виртуальные машины видят друг друга, но не видят хост и не имеют выхода наружу. Максимальная изоляция.

Настройте оба адаптера Kali:

  • Адаптер 1: NAT — для доступа в интернет (обновления, загрузка инструментов).
  • Адаптер 2: Host-Only или Internal Network — для связи с уязвимыми целями.

Уязвимые цели подключайте только к Host-Only / Internal Network. Никакого NAT или Bridged для них.

Типичная ошибка​


Bridged-адаптер на уязвимой машине делает её видимой для всех устройств в вашей локальной сети. Это означает, что любой эксплойт, который вы отрабатываете, потенциально доступен вашему соседу по Wi-Fi или вредоносному ПО на другом устройстве в сети.

Уязвимые цели для практики​


OWASP Juice Shop​


OWASP Juice Shop — наиболее современное и комплексное уязвимое веб-приложение для обучения. Оно написано на Node.js, Express и Angular и содержит уязвимости из OWASP Top 10, а также множество дополнительных недостатков безопасности, встречающихся в реальных приложениях.

Что делает Juice Shop удобным для новичка:

  • Hacking Instructor — встроенные пошаговые скрипты, которые ведут через уязвимости и объясняют механизм каждой.
  • Tutorial Mode — режим, в котором 13 обучающих задач нужно решать последовательно, прежде чем откроются остальные 103 задачи.
  • Score Board — трекер прогресса, показывающий найденные и решённые уязвимости.
  • Coding Challenges — для 35 задач доступны дополнительные упражнения: фаза «Find It» учит находить уязвимость в исходном коде, фаза «Fix It» — выбирать правильное исправление.
  • Self-healing — при каждом перезапуске сервера приложение сбрасывается в чистое состояние, а прогресс сохраняется в браузере или через локальный бэкап.

Установка через Docker:

Bash:
docker run --rm -p 3000:3000 bkimminich/juice-shop

После запуска приложение доступно по адресу http://localhost:3000. Если вы используете Docker внутри виртуальной машины, убедитесь, что порт проброшен на Host-Only адаптер, чтобы Kali мог обратиться к цели.

Установка через Node.js:

Bash:
git clone https://github.com/juice-shop/juice-shop.git
cd juice-shop
npm install
npm start

Приложение также поддерживает запуск через Vagrant, что удобно для воспроизводимой среды.

Сопроводительное руководство: официальный companion guide «Pwning OWASP Juice Shop» доступен бесплатно онлайн и содержит подсказки и полные пошаговые решения для каждой задачи.

Другие уязвимые приложения​


Помимо Juice Shop, для практики подходят:

  • DVWA (Damn Vulnerable Web Application) — классическое PHP-приложение с переключением уровня сложности. Покрывает SQL-инъекции, XSS, CSRF, загрузку файлов и другие базовые уязвимости.
  • Metasploitable 2/3 — виртуальные машины с набором уязвимых сервисов (FTP, SSH, HTTP, SMB и др.), предназначенные для отработки эксплуатации через Metasploit.
  • VulnHub — каталог пользовательских уязвимых машин разной сложности, которые можно скачать и запустить локально.

Все эти цели запускайте только в изолированной виртуальной сети.

Онлайн-лаборатории как дополнение​


Если ресурсов хоста не хватает на несколько виртуальных машин, часть практики можно перенести в облачные лаборатории.

PortSwigger Web Security Academy​


Бесплатная платформа от создателей Burp Suite. Содержит интерактивные лаборатории по веб-безопасности: SQL-инъекции, XSS, CSRF, SSRF, десериализация, контроль доступа и другие темы. Каждая лаборатория — изолированная среда, в которой можно безопасно эксплуатировать уязвимости.

Для работы достаточно Burp Suite Community Edition, который бесплатен. Academy подходит для отработки именно веб-направления без необходимости разворачивать локальную инфраструктуру.

OWASP Web Security Testing Guide​


Это не лаборатория, а методология. WSTG описывает структурированный подход к тестированию веб-приложений: от сбора информации и маппинга до тестирования аутентификации, управления сессиями, валидации ввода и обработки ошибок. Каждый сценарий имеет идентификатор формата WSTG-<category>-<number>, что удобно для ведения отчётов и чек-листов.

Используйте WSTG как каркас: разворачивайте Juice Shop или DVWA и проходите по сценариям гида последовательно.

Практический рабочий процесс​


Типичная сессия в лаборатории выглядит так:

  1. Запуск среды. Включите Kali и целевую машину. Убедитесь, что обе находятся в одной изолированной сети.
  2. Разведка. С Kali просканируйте целевой хост: определите открытые порты, работающие сервисы и их версии.
  3. Анализ. Сопоставьте найденные сервисы с известными уязвимостями. Для веб-приложений — изучите структуру, endpoints, параметры запросов.
  4. Эксплуатация. Отработайте конкретную уязвимость. В Juice Shop используйте Hacking Instructor для первых задач.
  5. Фиксация. Запишите, что нашли, как эксплуатировали и какой impact. Это формирует навык написания отчётов.
  6. Сброс. Перезапустите целевую машину, чтобы вернуть её в исходное состояние.

Снапшоты​


Перед каждым экспериментом делайте снапшот целевой машины. Если эксплуатация привела к нестабильному состоянию или вы случайно изменили конфигурацию, откат займёт секунды. В VirtualBox: Machine → Take Snapshot.

Частые ошибки при настройке лаборатории​


ОшибкаПоследствиеРешение
Bridged-сеть на уязвимой машинеЦель доступна из локальной сети и потенциально из интернетаИспользуйте Host-Only или Internal Network
Kali как основная ОССлучайный запуск агрессивных инструментов в рабочей сетиKali — только в виртуальной машине
Отсутствие снапшотовПотеря состояния цели после неудачного эксплойтаСнапшот перед каждой сессией
Обновление уязвимой целиУязвимости исправляются, практика теряет смыслНе обновляйте пакеты на целевых машинах
Одна машина для атаки и целиНевозможно отработать сетевые атакиМинимум две виртуальные машины

Проверка изоляции​


После настройки убедитесь, что лаборатория действительно изолирована:

  1. С хост-машины попробуйте обратиться к уязвимой цели по IP из Host-Only сети. Соединение должно проходить.
  2. С другого устройства в вашей домашней сети (телефон, второй ноутбук) попробуйте тот же IP. Соединение не должно проходить.
  3. С уязвимой цели попробуйте выйти в интернет (ping 8.8.8.8 или аналогичная проверка). При Internal Network доступа быть не должно.

Если все три проверки дают ожидаемый результат — лаборатория настроена корректно и можно приступать к практике.

Источники​


 
Назад
Верх Низ