
Nightingale v1.1.47
Nightingale Docker for Pentesters — это полноценная контейнеризированная среда Docker, разработанная для тестирования на проникновение и оценки уязвимостей. Она предварительно настроена со всеми необходимыми инструментами и утилитами, требуемыми для эффективной оценки уязвимостей и тестирования на проникновение (VAPT), что упрощает процесс настройки для специалистов по безопасности.
Nightingale: Docker для пентестеров
Этот проект поддерживается:
Nightingale — это готовый к использованию многоплатформенный Docker-инструментарий для пентестинга и исследований в области безопасности. Он предоставляет воспроизводимую среду с отобранными инструментами для веб-, сетевых, мобильных, API, OSINT и криминалистических задач.
Быстрый старт (2 минуты)
docker pull ghcr.io/rajanagori/nightingale:stable
docker run -it --name Nightingale -p 8080:7681 \
ghcr.io/rajanagori/nightingale:stable ttyd -p 7681 bash
Откройте http://localhost:8080 для доступа к браузерному терминалу.
Хостируемый доступ к GUI
Чтобы запросить доступ к https://nightingale-security.com/, создайте задачу на GitHub, используя шаблон доступа к хостируемому GUI. После рассмотрения запроса детали доступа будут опубликованы в задаче.
Перед созданием запроса вы можете просмотреть скриншоты GUI на nightingale-security.com.
Почему Nightingale
- Воспроизводимая среда для пентеста на AMD64 и ARM64
- Работа через браузер и терминал
- Специализированный CI с Trivy и поддержкой зависимостей
- Добавление инструментов по запросам сообщества
Начните здесь (Навигация по Wiki)
- Установка и настройка: Wiki - Установка и настройка
- Обзор архитектуры: Wiki - Архитектура Nightingale
- Полный каталог инструментов: Wiki - Список инструментов
- Использование с Kubernetes: Wiki - Nightingale встречает Kubernetes!
- Настройка GUI: Wiki - Настройка Nightingale Console
Зачем форкать Nightingale
Форкинг — самый простой способ быстро создать собственный внутренний образ для безопасности:
- Добавить частные/внутренние инструменты под ваш стиль работы
- Зафиксировать разные версии для учебных лабораторий, корпоративного тестирования или CTF-задач
- Создать профили для команды для веб, API, мобильных, OSINT или облачного тестирования
Если Nightingale помогает в вашей работе, поставьте звезду репозиторию. Если вы его доработали, сделайте форк и поделитесь своим профилем с сообществом.
Состояние проекта
🚀 ОБНОВЛЕНИЕ ОПТИМИЗАЦИИ
Основные улучшения производительности
Nightingale представляет значительные оптимизации, которые обеспечивают:
- 📦 Уменьшение размера Docker-образа: на 35-65% меньше (2.3GB → 700-900MB)
- 🔒 Улучшения безопасности: исправлены критические уязвимости, применены лучшие практики безопасности
- 📚 Документация: увеличение покрытия на 600% с комплексными руководствами
- ⚡ Обработка ошибок: улучшение на 500% с комплексной валидацией
- 🎯 Качество кода: оценка A (90/100) в соответствии с корпоративными стандартами
Ключевые применённые оптимизации
Оптимизации Docker-образов
- ✅ Многоэтапная сборка ttyd — отдельный этап сборки экономит 50-100MB
- ✅ Удалены папки .git — чистые клоны экономят 200-500MB
- ✅ Удалены зависимости сборки — удаление gcc, make, cmake экономит 200-300MB
- ✅ Агрессивная очистка кэша — комплексная очистка экономит 200-400MB
- ✅ Только клиент PostgreSQL — без полного сервера экономит 100-150MB
- ✅ Очистка кэша Python/Go — очистка языковых кэшей экономит 150-300MB
Улучшения качества кода
- ✅ Скрипты оболочки: улучшены с
set -euo pipefail, перехватом ошибок, цветным логированием - ✅ Приложение на Go: рефакторинг с константами, обёртыванием ошибок, функциями валидации
- ✅ Dockerfile: метки стандарта OCI, проверки здоровья, многоэтапная оптимизация
- ✅ Конфигурация: подробные комментарии, предупреждения безопасности, лучшие практики
Улучшения безопасности
- ✅ Исправлены небезопасные права:
chmod 777→chmod 755 - ✅ Безопасная настройка PATH во всех скриптах
- ✅ Проверка ввода и предотвращение внедрения команд
- ✅ Перехват ошибок с комплексной обработкой ошибок
Ожидаемые результаты
| Метрика | До | После | Улучшение |
|---|---|---|---|
| Размер образа | 2.3GB | 700-900MB | Снижение на 35-65% |
| Качество кода | Оценка C | Оценка A | Улучшение на +111% |
| Оценка безопасности | Базовая | Продвинутая | Улучшение на +400% |
| Документация | 5% | 30% | Увеличение на +600% |
| Обработка ошибок | Минимальная | Комплексная | Улучшение на +500% |
Быстрый старт с оптимизированными образами
# Pull optimized images
docker pull ghcr.io/rajanagori/nightingale:stable
docker pull ghcr.io/rajanagori/nightingale:arm64
# Run with optimized image
docker run -it --name Nightingale -p 8080:7681 \
ghcr.io/rajanagori/nightingale:stable ttyd -p 7681 bash
# Access via browser
open http://localhost:8080
Сборка оптимизированных образов
# Build optimized main image
docker build -t nightingale:stable .
# Build optimized ARM64 image
cd architecture/arm64/v8
docker buildx build --platform linux/arm64 -t nightingale:arm64 .
Описание
В современную технологическую эпоху Docker — самая мощная технология в различных областях, будь то разработка, кибербезопасность, DevOps, автоматизация или инфраструктура.
Учитывая потребности индустрии, я хотел бы представить свою идею создания NIGHTINGALE: Docker-образа для пентестеров.
Этот Docker-образ предоставляет готовую к использованию среду с инструментами, необходимыми для пентестинга в разных областях, включая тестирование веб-приложений на проникновение, тестирование сети, мобильных устройств, API, OSINT или криминалистику.
Лучшая часть в том, что вы можете либо создать изменённый Docker-образ, либо загрузить предварительно собранный образ из реестра.
Некоторые из лучших функций перечислены ниже; я настоятельно рекомендую ознакомиться с ними перед началом тестирования приложения. Ссылка на список инструментов: (список инструментов)
Преимущества
- Предустановленные инструменты и фреймворки для тестирования на проникновение
- Согласованная и повторяемая среда тестирования через Docker
- Быстрый запуск и остановка тестовых сред
- Эффективное использование ресурсов, подходящее для пользователей с ограниченными ресурсами
- Доступ через браузер с использованием локального IP-адреса
- Независимость от платформы, повышение доступности и удобства использования
- Поддержка Go-бинарных файлов для развёртывания Nightingale на любой архитектуре.
- Совместимость с архитектурами AMD и ARM.
- Интеграция CI/CD для автоматического сканирования уязвимостей.
- Ведение GitHub Advisories, обеспечивающее доступ пользователей к последним образам.
- Установка по запросу через форму, позволяющая пользователям запрашивать определённые инструменты.
- Решение на основе GUI для тех, у кого любовно-ненавистные отношения с CLI.
Зачем?
Причина создания этого Docker-образа — сделать инструментарий для тестирования на проникновение независимым от платформы. Он включает все полезные инструменты, которые могут понадобиться пентестеру (подробнее см. раздел со списком инструментов).
Пожалуйста, не стесняйтесь вносить свой вклад в инструмент.
Для получения дополнительной информации Nightingale Wiki
Проект Nightingale OWASP: Страница проекта OWASP Nightingale