
Nightingale Docker for Pentesters — это полноценная контейнеризированная среда Docker, разработанная для тестирования на проникновение и оценки уязвимостей. Она предварительно настроена со всеми необходимыми инструментами и утилитами, требуемыми для эффективной оценки уязвимостей и тестирования на проникновение (VAPT), что упрощает процесс настройки для специалистов по безопасности.
# Nightingale: Docker для пентестеров
<!--  -->
Этот проект поддерживается:
<table>
<tr>
<td align="left" valign="middle" width="50%">
<a href="https://www.digitalocean.com/?utm_medium=opensource&utm_source=Nightingale">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg" width="201" alt="Работает на DigitalOcean">
</a>
</td>
<td align="right" valign="middle" width="50%">
<img src="https://assets.kitploit.com/production/public/readmes/5425/38735eddc1021b1eace1b458af44ab4bdac8304aa0962afcf98ce5a030e54d9e.png" width="240" alt="Nightingale">
</td>
</tr>
</table>
Nightingale — это готовый к использованию многоплатформенный Docker-инструментарий для пентестинга и исследований в области безопасности. Он предоставляет воспроизводимую среду с отобранными инструментами для веб-, сетевых, мобильных, API, OSINT и криминалистических задач.
## Быстрый старт (2 минуты)
```bash
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/](https://nightingale-security.com/), создайте задачу на GitHub, используя шаблон доступа к хостируемому GUI. После рассмотрения запроса детали доступа будут опубликованы в задаче.
Перед созданием запроса вы можете просмотреть скриншоты GUI на [nightingale-security.com](https://nightingale-security.com/).
## Почему Nightingale
- Воспроизводимая среда для пентеста на AMD64 и ARM64
- Работа через браузер и терминал
- Специализированный CI с Trivy и поддержкой зависимостей
- Добавление инструментов по запросам сообщества
## Начните здесь (Навигация по Wiki)
- Установка и настройка: [Wiki - Установка и настройка](https://github.com/RAJANAGORI/Nightingale/wiki/4.-Installation-and-Setup)
- Обзор архитектуры: [Wiki - Архитектура Nightingale](https://github.com/RAJANAGORI/Nightingale/wiki/3.-Architecture-of-Nightingale)
- Полный каталог инструментов: [Wiki - Список инструментов](https://github.com/RAJANAGORI/Nightingale/wiki/6.-Tools-list)
- Использование с Kubernetes: [Wiki - Nightingale встречает Kubernetes!](https://github.com/RAJANAGORI/Nightingale/wiki/5.-Nightingale-meets-Kubernetes!-%F0%9F%8C%A5%EF%B8%8F)
- Настройка GUI: [Wiki - Настройка Nightingale Console](https://github.com/RAJANAGORI/Nightingale/wiki/4.-Installation-and-Setup#nightingale-console---a-webapp-version-of-old-school-nightingale-cli)
## Зачем форкать Nightingale
Форкинг — самый простой способ быстро создать собственный внутренний образ для безопасности:
- Добавить частные/внутренние инструменты под ваш стиль работы
- Зафиксировать разные версии для учебных лабораторий, корпоративного тестирования или CTF-задач
- Создать профили для команды для веб, API, мобильных, OSINT или облачного тестирования
Если Nightingale помогает в вашей работе, поставьте звезду репозиторию. Если вы его доработали, сделайте форк и поделитесь своим профилем с сообществом.
## Состояние проекта
[](https://www.bestpractices.dev/projects/7881)
[](https://www.owasp.org/index.php/Category:OWASP_Project#tab=Project_Inventory)
[](https://github.com/RAJANAGORI/Nightingale/actions/workflows/docker-image.yaml)
[](https://github.com/RAJANAGORI/Nightingale/actions/workflows/multi-os-arm64.yaml)
[](https://artifacthub.io/packages/search?repo=nightingale)
[](https://github.com/RAJANAGORI/Nightingale/actions/workflows/trivy.yml)
## 🚀 **ОБНОВЛЕНИЕ ОПТИМИЗАЦИИ**
### **Основные улучшения производительности**
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% |
### **Быстрый старт с оптимизированными образами**
```bash
# 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
```
### **Сборка оптимизированных образов**
```bash
# 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-образ, либо загрузить предварительно собранный образ из реестра.
Некоторые из лучших функций перечислены ниже; я настоятельно рекомендую ознакомиться с ними перед началом тестирования приложения. **Ссылка на список инструментов**: ([список инструментов](https://github.com/RAJANAGORI/Nightingale/wiki/6.-Tools-list))
### Преимущества
- Предустановленные инструменты и фреймворки для тестирования на проникновение
- Согласованная и повторяемая среда тестирования через Docker
- Быстрый запуск и остановка тестовых сред
- Эффективное использование ресурсов, подходящее для пользователей с ограниченными ресурсами
- Доступ через браузер с использованием локального IP-адреса
- Независимость от платформы, повышение доступности и удобства использования
- Поддержка Go-бинарных файлов для развёртывания Nightingale на любой архитектуре.
- Совместимость с архитектурами AMD и ARM.
- Интеграция CI/CD для автоматического сканирования уязвимостей.
- Ведение GitHub Advisories, обеспечивающее доступ пользователей к последним образам.
- Установка по запросу через форму, позволяющая пользователям запрашивать определённые инструменты.
- Решение на основе GUI для тех, у кого любовно-ненавистные отношения с CLI.
### Зачем?
Причина создания этого Docker-образа — сделать инструментарий для тестирования на проникновение независимым от платформы. Он включает все полезные инструменты, которые могут понадобиться пентестеру (подробнее см. раздел со списком инструментов).
Пожалуйста, не стесняйтесь вносить свой вклад в инструмент.
Для получения дополнительной информации [Nightingale Wiki](https://github.com/RAJANAGORI/Nightingale/wiki/1.-Nightingale-Docker-for-Pentesters)
Проект Nightingale OWASP: [Страница проекта OWASP Nightingale](https://owasp.org/www-project-nightingale)
---

[](https://user-badge.committers.top/india/RAJANAGORI)