
Лучший инструмент разведки для Интернета вещей и промышленных систем управления.
Kamerka GUI — это панель разведки на основе Django для обнаружения, просмотра и сортировки доступных из Интернета устройств промышленных систем управления (ICS), Интернета вещей (IoT) и медицинских устройств. Она объединяет данные поиска Shodan, визуализацию Google Maps, снимки экранов устройств, обогащение пассивной разведкой и избранные вспомогательные средства сканирования/эксплуатации в единый веб-интерфейс.
Приложение помогает снизить шум при просмотре с помощью переключателя Фильтровать ловушки (Filter Honeypots) в таблицах устройств. Он исключает устройства, демонстрирующие признаки ловушек, чтобы аналитики могли сначала сосредоточиться на вероятных реальных активах. Kamerka также отображает поле Индикатор (Indicator) устройства, построенное на основе разобранных баннеров, ответов протоколов, меток снимков экранов и других метаданных устройства, чтобы объяснить, почему устройство было отмечено или как его можно найти или классифицировать.
Используйте только для авторизованных исследований, инвентаризации активов, управления защитной экспозицией и сообщения соответствующим владельцам или командам CERT/CSIRT.






Панель управления: общие показатели, кредиты Shodan, последние поиски, диаграммы, покрытие мира и избранное.База данных: таблица всех обнаруженных устройств с возможностью поиска и фильтрации вероятных ловушек.История: предыдущие поиски с названиями стран, выбранными категориями устройств и ссылками на результаты.Карта: глобальная кластеризованная карта Google для обнаруженных устройств.Галерея: все собранные снимки экранов устройств с фильтрацией по стране.Результаты: таблица устройств для конкретного поиска, карта, статистика и просмотр в стиле экспорта.Устройство: вкладки «Найти», «Разведка» и «Эксплуатация» для одного устройства.GeoLite2-City.mmdb в корне репозитория для геолокации при импорте Nmap XML.Зависимости Python перечислены в requirements.txt. Проект теперь ориентирован на линию LTS Django 5.2, Celery 5.6 и ограниченные пакеты Python, чтобы установки оставались актуальными без перехода на несовместимые мажорные версии.
Клонируйте репозиторий и создайте виртуальное окружение:
git clone https://github.com/woj-ciech/Kamerka-GUI.git
cd Kamerka-GUI
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
Если python3.12 недоступен, используйте другой интерпретатор Python 3.10–3.13. Избегайте повторного использования старого виртуального окружения Python 3.8/3.9, так как текущий набор зависимостей требует Python 3.10+.
Создайте схему базы данных:
python manage.py migrate
Создайте keys.json в корне репозитория:
{
"keys": {
"shodan": "YOUR_SHODAN_API_KEY",
"google_maps": "YOUR_GOOGLE_MAPS_API_KEY",
"whoisxmlapi": "YOUR_WHOIS_XML_API_KEY"
}
}
Запустите Redis в отдельном терминале:
redis-server
Запустите worker Celery в другом терминале:
source .venv/bin/activate
celery --app kamerka worker --loglevel=info
Запустите сервер разработки Django:
source .venv/bin/activate
python manage.py runserver
Откройте приложение:
http://localhost:8000/
keys.json требуется во время выполнения, так как приложение читает ключи API из keys['keys'].keys.json вне системы контроля версий. Он содержит приватные учётные данные.Полный список поддерживаемых запросов Shodan поддерживается в queries.md.
Общие категории включают: