
Ferramenta definitiva de reconhecimento para Internet das Coisas/Sistemas de Controle Industrial.
Kamerka GUI é um painel de reconhecimento baseado em Django para descobrir, revisar e triar dispositivos de Sistemas de Controle Industrial, Internet das Coisas (IoT) e dispositivos médicos expostos na Internet. Ele combina dados de pesquisa do Shodan, visualização do Google Maps, capturas de tela de dispositivos, enriquecimento passivo de inteligência e auxiliares selecionados de varredura/exploit em uma única interface web.
O aplicativo ajuda a reduzir ruído durante a revisão com um botão Filter Honeypots nas tabelas de dispositivos. Isso exclui dispositivos que exibem indicadores do tipo honeypot, permitindo que os analistas foquem primeiro em ativos reais prováveis. O Kamerka também apresenta um campo Indicator do dispositivo, construído a partir de banners analisados, respostas de protocolo, rótulos de capturas de tela e outros metadados do dispositivo, para explicar por que um dispositivo foi sinalizado ou como ele pode ser localizado ou classificado.
Use-o apenas para pesquisa autorizada, inventário de ativos, gerenciamento defensivo de exposição e relato aos proprietários apropriados ou equipes CERT/CSIRT.






Dashboard: contagens de alto nível, créditos Shodan, pesquisas recentes, gráficos, cobertura mundial e favoritos.Database: tabela pesquisável de todos os dispositivos descobertos com filtragem para prováveis honeypots.History: pesquisas anteriores com nomes de países, categorias de dispositivos selecionadas e links para resultados.Map: mapa global agrupado do Google dos dispositivos descobertos.Gallery: todas as capturas de tela coletadas de dispositivos, com filtro por país.Results: tabela de dispositivos por pesquisa, mapa, estatísticas e navegação no estilo de exportação.Device: guias Localizar, Intel e Exploit para um único dispositivo.GeoLite2-City.mmdb na raiz do repositório se você quiser geolocalização de importação XML do Nmap.As dependências Python estão listadas em requirements.txt. O projeto agora visa a linha LTS Django 5.2, Celery 5.6 e pacotes Python com versões delimitadas para que as instalações permaneçam atualizadas sem saltar para versões principais incompatíveis.
Clone o repositório e crie um ambiente virtual:
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
Se python3.12 não estiver disponível, use outro interpretador Python 3.10-3.13. Evite reutilizar um ambiente virtual antigo Python 3.8/3.9 porque o conjunto atual de dependências requer Python 3.10+.
Crie o esquema do banco de dados:
python manage.py migrate
Crie keys.json na raiz do repositório:
{
"keys": {
"shodan": "YOUR_SHODAN_API_KEY",
"google_maps": "YOUR_GOOGLE_MAPS_API_KEY",
"whoisxmlapi": "YOUR_WHOIS_XML_API_KEY"
}
}
Inicie o Redis em um terminal separado:
redis-server
Inicie um worker Celery em outro terminal:
source .venv/bin/activate
celery --app kamerka worker --loglevel=info
Inicie o servidor de desenvolvimento Django:
source .venv/bin/activate
python manage.py runserver
Abra o aplicativo:
http://localhost:8000/
keys.json é necessário em tempo de execução porque o aplicativo lê as chaves de API de keys['keys'].keys.json fora do controle de versão. Ele contém credenciais privadas.A lista completa de consultas Shodan suportadas é mantida em queries.md.
As categorias amplas incluem: