
Outil de reconnaissance ultime pour l'Internet des objets/Systèmes de Contrôle Industriel.
Kamerka GUI est un tableau de bord de reconnaissance basé sur Django pour découvrir, examiner et trier les systèmes de contrôle industriels, les objets connectés (IoT) et les dispositifs médicaux exposés sur Internet. Il combine les données de recherche Shodan, la visualisation Google Maps, les captures d'écran d'appareils, l'enrichissement passif en renseignement et des outils d'analyse/exploitation sélectionnés en une seule interface web.
L'application aide à réduire le bruit lors de l'examen grâce à un bouton bascule Filter Honeypots dans les tableaux d'appareils. Cela exclut les appareils qui présentent des indicateurs de type honeypot, ce qui permet aux analystes de se concentrer d'abord sur les actifs probablement réels. Kamerka met également en évidence un champ Indicator pour l'appareil, construit à partir des bannières analysées, des réponses aux protocoles, des étiquettes de captures d'écran et d'autres métadonnées d'appareil, pour expliquer pourquoi un appareil a été signalé ou comment il peut être localisé ou classifié.
Utilisez-le uniquement pour des recherches autorisées, l'inventaire des actifs, la gestion défensive de l'exposition et le signalement aux propriétaires appropriés ou aux équipes CERT/CSIRT.






Dashboard : comptes de haut niveau, crédits Shodan, recherches récentes, graphiques, couverture mondiale et favoris.Database : tableau consultable de tous les appareils découverts avec filtrage des honeypots probables.History : recherches précédentes avec noms de pays, catégories d'appareils sélectionnées et liens vers les résultats.Map : carte Google mondiale regroupant les appareils découverts.Gallery : toutes les captures d'écran d'appareils collectées, avec filtrage par pays.Results : tableau d'appareils par recherche, carte, statistiques et navigation de type exportation.Device : onglets Localiser, Renseignement et Exploitation pour un seul appareil.GeoLite2-City.mmdb dans la racine du dépôt si vous souhaitez la géolocalisation d'import XML Nmap.Les dépendances Python sont listées dans requirements.txt. Le projet cible désormais la ligne Django 5.2 LTS, Celery 5.6 et des packages Python limités afin que les installations restent à jour sans passer à des versions majeures incompatibles.
Clonez le dépôt et créez un environnement virtuel :
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
Si python3.12 n'est pas disponible, utilisez un autre interpréteur Python 3.10-3.13. Évitez de réutiliser un ancien environnement virtuel Python 3.8/3.9 car l'ensemble actuel des dépendances nécessite Python 3.10+.
Créez le schéma de base de données :
python manage.py migrate
Créez keys.json à la racine du dépôt :
{
"keys": {
"shodan": "YOUR_SHODAN_API_KEY",
"google_maps": "YOUR_GOOGLE_MAPS_API_KEY",
"whoisxmlapi": "YOUR_WHOIS_XML_API_KEY"
}
}
Démarrez Redis dans un terminal séparé :
redis-server
Démarrez un worker Celery dans un autre terminal :
source .venv/bin/activate
celery --app kamerka worker --loglevel=info
Démarrez le serveur de développement Django :
source .venv/bin/activate
python manage.py runserver
Ouvrez l'application :
http://localhost:8000/
keys.json est requis au moment de l'exécution car l'application lit les clés API depuis keys['keys'].keys.json hors du contrôle de source. Il contient des identifiants privés.