Каждому тестировщику на проникновение нужна безопасная среда для оттачивания навыков без риска юридических проблем или нарушения производственных систем. Выделенная лаборатория на Proxmox дает вам полный контроль: изолированные сети, снимки для мгновенного отката и возможность вращать уязвимые цели по требованию. Это руководство создает полную лабораторию с нуля, с Kali Linux в качестве злоумышленника и преднамеренно уязвимой мишенью Rocky Linux.
Настройка включает в себя развертывание официального изображения Kali QEMU (не требуется ручная установка), поддержание целевой виртуальной машины, загруженной эксплуатируемыми службами, запуск DVWA в контейнере для тестирования веб-приложений и блокировку всего за изолированным мостом, чтобы ничего не просочилось в вашу реальную сеть. Proxmox делает это безболезненным, потому что снимки позволяют вам уничтожить цель и восстановить ее за считанные секунды.
Лаборатория архитектуры
Лаборатория состоит из хоста Proxmox, управляющего двумя виртуальными машинами на специальном внутреннем мосту. Злоумышленник Kali VM имеет доступ как к изолированной сети Pentest, так и (опционально) к Интернету для обновления инструментов. Целевая виртуальная машина находится исключительно в изолированной сети без выхода в интернет.
Позже вы можете добавить больше целевых виртуальных машин (Metasploitable, Juice Shop, VulnHub) на тот же мост vmbr1. Каждый из них получает статический IP в диапазоне 10.0.1.0/24.
Требования к оборудованию
Proxmox сам по себе является легким, но запуск нескольких виртуальных машин одновременно требует достойных ресурсов. Вот минимумы для двух-VM лабораторий:
- CPU: минимум 4 ядра (требуется Intel VT-x или AMD-V). 8 ядер рекомендуется, если вы планируете запускать 3+ виртуальных машины.
- RAM: минимум 16 ГБ. Kali нужно 4 ГБ, цели нужно 2 ГБ, сам Proxmox использует 2 ГБ. Это оставляет пространство для дополнительных целей.
- Хранение: 100 ГБ SSD минимум. Изображение Kali QEMU расширяется примерно до 30 ГБ, Rocky Linux занимает 15 ГБ, а снимки быстро занимают пространство.
- Сеть: достаточно одного физического NIC. Proxmox создает виртуальные мосты для VM-VM трафика.
Создайте атакующую виртуальную машину (Kali Linux)
Kali предоставляет предварительно построенное изображение QEMU, которое пропускает весь процесс установки. Загрузите его непосредственно на хост Proxmox, извлеките и импортируйте диск.
Возьмите последнее изображение QEMU с сайта kali.org:
| |
Загрузка составляет примерно 3,6 ГБ. После завершения, извлеките изображение диска .qcow2:
| |
Если 7z не установлен, добавьте его с соответствующей apt install -y p7zip-full. Изображение будет называться kali-linux-2026.2-qemu-amd64.qcow2.
Сначала создайте VM-оболочку, затем импортируйте диск:
| |
Импорт диска qcow2 в хранилище Proxmox:
| |
Это преобразует qcow2 в необработанный диск на LVM. Прикрепите его к VM и установите порядок загрузки:
| |
Дополнительно добавьте дисплей VGA и серийную консоль для лучшей совместимости:
| |
Запуск VM:
| |
Откройте консоль из веб-интерфейса Proxmox. По умолчанию учетными данными для изображения QEMU являются kali / kali. Измените пароль сразу после первого входа в систему:
| |
Включите SSH, чтобы вы могли работать с надлежащего терминала вместо консоли Proxmox:
| |
Убедитесь, что SSH слушает:
| |
Вы должны увидеть sshd, связанный с портом 22:
| |
Создание целевой виртуальной машины (Rocky Linux)
Rocky Linux предоставляет предварительно построенное изображение QEMU, которое пропускает весь процесс установки. Загрузите его непосредственно на хост Proxmox, извлеките и импортируйте диск.
Возьмите последнее изображение QEMU с сайта rockylinux.org:
| |
Загрузка составляет примерно 520 Мб.
Сначала создайте VM-оболочку, затем импортируйте диск:
| |
Импорт диска qcow2 в хранилище Proxmox:
| |
Это преобразует qcow2 в необработанный диск на LVM. Прикрепите его к VM и установите порядок загрузки:
| |
Дополнительно добавьте дисплей VGA и серийную консоль для лучшей совместимости:
| |
Запуск VM:
| |
Целевая VM запускает реальные сервисы с известными слабостями. Rocky Linux 10 является хорошим выбором, потому что он отражает то, с чем вы сталкиваетесь в корпоративных средах (семейство RHEL, SELinux, брандмауэр).
Установите набор сервисов, представляющих реалистичную поверхность атаки:
| |
Включите и начните все:
| |
Откройте брандмауэр для этих сервисов. В Rocky Linux это означает брандмауэр:
| |
Умышленное ослабление некоторых конфигураций для создания эксплуатируемых условий. Анонимный доступ к FTP:
| |
Установите слабый пароль root MariaDB:
| |
Для SELinux держите его в режиме принудительной работы. Частью реалистичного теста является контекст SELinux. Если vsftpd нуждается в обслуживании файлов из каталога без по умолчанию, вам нужно будет установить правильный контекст с помощью semanage fcontext и recoverycon, как и в производстве.
Проверьте, какие порты открыты:
| |
Выход подтверждает поверхность атаки:
| |
Пять служб прослушивания, каждая из которых является потенциальной точкой входа. Это именно та цель, которая делает практику ценной.
DVWA для тестирования веб-приложений
Damn Vulnerable Web Application (DVWA) специально разработан для практики веб-эксплойтов: SQL-инъекция, XSS, инъекция команд, включение файлов и многое другое. Запуск его в контейнере держит его изолированным от ОС хоста и делает очистку тривиальной.
Установите Podman на целевую VM:
| |
Выберите и запустите контейнер DVWA:
| |
Подтвердите, что контейнер работает:
| |
Вы должны увидеть DVWA на порту 8080:
| |
Откройте порт брандмауэра для DVWA:
| |
От Kali, просмотрите http://10.0.1.50:8080. Войдите с учетными данными по умолчанию: admin / password. Нажмите «Создать / Сбросить базу данных» на странице настройки, а затем установите уровень безопасности на низкий в разделе «Безопасность DVWA», чтобы начать практиковать основные эксплойты, прежде чем работать до среднего и высокого уровня.
Для автоматического запуска контейнера после перезагрузки создайте системный блок:
| |
Добавьте больше целей
Одна цель быстро становится скучной. Реальная ценность лаборатории Proxmox заключается в том, что вы можете раскрутить десятки уязвимых машин в одной изолированной сети. Некоторые из них стоит изучить:
- Metasploitable 3 — намеренно уязвимая Windows/Linux VM, созданная Rapid7. Хорошо сочетается с Metasploit Framework.
- OWASP Juice Shop — современное уязвимое веб-приложение, созданное с помощью Node.js. Охватывает OWASP Top 10 категорий. Запустите его как контейнер:
podman run -d -p 3000:3000 bkimminich/juice-shop. - VulnHub images — созданные сообществом уязвимые виртуальные машины в формате OVA/VMDK. Преобразовать в qcow2 с преобразованием
qemu-img convertи импортировать в Proxmox так же, как мы импортировали Kali. - HackTheBox и TryHackMe — онлайн-платформы с кураторскими задачами. Не размещаются самостоятельно, а дополняют вашу местную лабораторию новыми целями и путями обучения.
- Настраиваемые уязвимые виртуальные машины — установите старую версию WordPress с известными CVE или неправильно настроенным Samba. Создание собственных целей учит вас больше о защите, чем об использовании готовых.
Изоляция сети
Это самый важный раздел. Пентест-лаборатория, использующая эксплойты в той же сети, что и ваши производственные машины, — это катастрофа, которая ждет своего часа. Виртуальные мосты Proxmox делают изоляцию простой.
Создайте специальный мост без физического интерфейса. На хосте Proxmox отредактируйте конфигурацию сети:
| |
Добавить определение изолированного моста:
| |
Применять изменения:
| |
Ни одна директива не означает, что этот мост не имеет связи с каким-либо физическим NIC. VM на vmbr1 могут разговаривать только друг с другом и с хостом Proxmox. Правило MASQUERADE предоставляет Kali VM доступ в Интернет (через хост) для обновления инструментов, в то время как цели на том же мосту остаются доступными только из лаборатории.
Для максимальной изоляции (нет интернета вообще, даже для Kali) удалите линии MASQUERADE. Kali VM все еще может достигать целей на 10.0.1.0/24, но ничего не покидает мост.
Обновите обе виртуальные машины, чтобы использовать vmbr1 в качестве сетевого моста:
| |
Назначение статических IP-адресов внутри каждой виртуальной машины. На Kali (/etc/network/interfaces или NetworkManager) устанавливается 10.0.1.10/24. На Rocky Linux установлен 10.0.1.50/24 с шлюзом 10.0.1.1.
Если вы хотите, чтобы у Kali был как доступ в Интернет, так и доступ в лабораторию, дайте ему два NIC: один на vmbr0 (интернет) и один на vmbr1 (лаборатория):
| |
Снимок до и после
Снимки являются причиной того, что Proxmox бьет голые металлические лабораторные установки. Сделайте чистый снимок каждой виртуальной машины, прежде чем начать эксплуатировать, а затем вернитесь в нетронутое состояние в считанные секунды.
Создайте базовый снимок целевой VM:
| |
Сделайте то же самое с Kali:
| |
После того, как эксплуатация уничтожит цель, откатите ее назад:
| |
VM возвращается в то состояние, в котором он был, когда вы сделали снимок. Все файлы, измененные эксплойтами, все бэкдоры, все сгенерированные журналы: исчезли. Это неоценимо для повторения упражнений или позволить нескольким людям практиковаться на одной цели.
Перечислите существующие снимки для VM:
| |
Снимок дерева показывает ваши точки отката:
| |
Держите имена снимков описательными. После выполнения определенного упражнения (скажем, эскалация привилегий через эксплойт ядра), сделайте еще один снимок, чтобы вы могли вернуться к этому состоянию после эксплуатации позже для документации или демонстрации.
Проверить лабораторию
Все развернуто. Время подтвердить, что все работает с точки зрения злоумышленника. Введите SSH в Kali VM и запустите сканирование версии службы против цели.
| |
Сканирование показывает полную поверхность атаки:
| |
Шесть открытых портов, каждый из которых представляет отдельный вектор атаки. Служба vsftpd с анонимным доступом является легкой первой целью. MariaDB со слабым корневым паролем - еще один быстрый выигрыш. DVWA на порту 8080 открывает весь OWASP Top 10 для практики.
Тест, на который DVWA отвечает от Kali:
| |
Ответ 200 подтверждает, что DVWA доступен и обслуживает страницу входа.
Проверка работы анонимных FTP:
| |
Если вы получаете список каталогов, работает анонимный FTP. Лаборатория готова.
Что практиковать первым
С работой лаборатории, вот практические упражнения, чтобы работать в порядке сложности:
- Сетевая разведка - Используйте nmap для отображения служб цели, ОС с отпечатками пальцев с помощью
nmap -Oи сканирование сценариев с помощьюnmap -script vuln. - Перечисление FTP - Подключайтесь анонимно, ищите конфиденциальные файлы, попробуйте грубую силу с Hydra против реальных учетных записей.
- Атаки веб-приложений - используйте DVWA для практики SQL-инъекций, сохраненных / отраженных XSS, инъекций команд и эксплойтов загрузки файлов. Burp Suite (предустановленный на Kali) здесь очень важен.
- Атаки паролей — Brute-force SSH и MariaDB с Hydra или Medusa. Тестирование слабых учетных данных на все открытые услуги.
- После эксплуатации – Как только вы получите оболочку, практикуйте эскалацию привилегий с помощью LinPEAS, эксплойтов ядра и неправильно настроенных двоичных файлов SUID.
- Metasploit workflows - используйте msfconsole для сканирования, использования и поворота.
Завершение
В этой статье мы смогли установить Kali Linux / Rocky Linux в виртуальной среде Proxmox VE. После того, как мы создали виртуальные машины, мы можем начать, практиковать основные эксплойты. Чтобы получить доступ к экземпляру, используйте удаленную консоль, такую как SSH, VNC или веб-консоль. Мы надеемся, что эта статья была информативной.
Если вам понравился этот пост о том, как создать лаборатории Kali Linux / Rocky Linux в виртуальной среде Proxmox VE, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.