Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/geeknik/scada-scanner
ReconhecimentoScanners de VulnerabilidadesMapeamento de RedeEscaneamento de PortasAnálise de VulnerabilidadesSegurança SCADA/ICSColeta de InformaçõesSegurança de RedeTestes de Penetração
GitHubgeeknik/scada-scanner

scada-scanner

Um scanner SCADA/ICS assíncrono e de alta performance

163há 8 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

Scanner e Fingerprinter de SCADA

Visão Geral

Um scanner SCADA/ICS assíncrono e de alto desempenho para identificar e fazer fingerprinting de sistemas de controle industrial em redes. Detecta vulnerabilidades, identifica fornecedores/produtos e gera relatórios de risco abrangentes.

AVISO: Apenas para avaliações de segurança autorizadas. Escaneamentos não autorizados podem violar leis e regulamentos.

Recursos

Capacidades Principais

  • Escaneamento rápido e assíncrono de faixas CIDR ou alvos individuais
  • Detecção de protocolos para os principais protocolos industriais (Modbus, S7, DNP3, BACnet, EtherNet/IP, etc.)
  • Fingerprinting de dispositivos com identificação de fornecedor, produto e versão
  • Correlação de vulnerabilidades com CVEs e exploits reais
  • Pontuação e avaliação de risco

Destaques Técnicos

  • Arquitetura multithread com concorrência configurável
  • Limitação de taxa por token bucket para respeitar limites globais de requisições
  • Limitação de taxa e controles de conexão por host
  • Fingerprinting comportamental por meio de sondas específicas de protocolo
  • Heurísticas de protocolo cientes da porta com trilhas de evidência para detecções
  • Registro detalhado e relatórios abrangentes em JSON/CSV

Protocolos Suportados

  • Modbus TCP
  • Siemens S7
  • DNP3
  • BACnet
  • EtherNet/IP
  • IEC 60870-5-104
  • OPC UA
  • CODESYS
  • E muitos outros

Instalação

Pré-requisitos

  • Python 3.7+
  • Linux/macOS/Windows

Configuração

root@kitploit:~
# Clone the repository
git clone https://github.com/geeknik/scada-scanner.git
cd scada-scanner

# Install dependencies
pip install -r requirements.txt

Uso

Uso Básico

root@kitploit:~
# Single target scan
python scada_scanner.py -t 192.168.1.100 -o results.json

# CIDR range scan
python scada_scanner.py -c 192.168.1.0/24 -o results.json

# Multiple CIDR ranges from file
python scada_scanner.py -f networks.txt -o results.json

# Export CSV instead of JSON
python scada_scanner.py -t 192.168.1.100 --format csv -o results.csv

# Respect an exclude list
python scada_scanner.py -c 10.0.0.0/24 --exclude exclude.txt

# Highlight unexpected protocol/port combos (logged and in findings)
python scada_scanner.py -t 203.0.113.10 -o results.json

# Enable live vuln enrichment via ProjectDiscovery vulnx (requires vulnx + PDCP API key)
vulnx auth
python scada_scanner.py -t 192.168.1.100 --vulnx --vulnx-limit 3

Opções de Linha de Comando

root@kitploit:~
Required arguments (one of):
  -t, --target            Single target IP address
  -c, --cidr              CIDR range to scan (e.g., 192.168.1.0/24)
  -f, --cidr-file         File containing CIDR ranges (one per line)

Optional arguments:
  -o, --output            Output file (default: scan_results.json)
  -r, --rate              Max requests per second (default: 10.0)
  --timeout               Connection timeout in seconds (default: 5)
  --max-concurrent        Maximum concurrent connections (default: 50)
  --safe-mode             Enable safe mode (non-intrusive scans only)
  --exclude               File containing IPs to exclude from scan
  -v, --verbosity         Verbosity level: 0=quiet, 1=normal, 2=debug
  --format                Output format: json or csv (default: json)

Modo Seguro vs. Modo Padrão

Modo Seguro

  • Usa apenas sondas não intrusivas
  • Minimiza o impacto nos sistemas alvo
  • Recomendado para ambientes de produção
  • Ative com a flag --safe-mode

Modo Padrão

  • Usa técnicas de sondagem mais agressivas
  • Pode acionar alertas de IDS/IPS
  • Pode potencialmente afetar sistemas sensíveis
  • Use com cautela em ambientes de produção

Exemplo de Relatório

root@kitploit:~
{
  "scan_summary": {
    "timestamp": "2025-02-27T14:02:33.456789",
    "total_hosts_scanned": 256,
    "hosts_with_scada": 12,
    "total_vulnerabilities": 37,
    "high_risk_hosts": 5
  },
  "hosts": [
    {
      "ip": "192.168.1.100",
      "ports": [
        {
          "port": 502,
          "protocol": "MODBUS",
          "fingerprint": {
            "vendor": "Schneider",
            "product": "M340",
            "version": "2.6.0",
            "risk_score": 0.75,
            "evidence": [
              "response:00010000000101",
              "port_hint:502"
            ],
            "findings": [
              "Detected MODBUS protocol (confidence: 0.55)",
              "Identified vendor: SCHNEIDER, product: M340",
              "Overall risk assessment: High (score: 0.75)"
            ],
            "unexpected_port": false
          }
        }
      ],
      "vulnerabilities": [
        {
          "cve_id": "CVE-2025-55221",
          "description": "Socomec DIRIS Digiware M-70 DoS via crafted Modbus TCP/RTU over TCP packets",
          "severity": "high",
          "source": "local_db"
        }
      ]
    }
  ]
}

Considerações Éticas

Conformidade Legal

Esta ferramenta é destinada apenas a avaliações de segurança autorizadas. Escaneamentos não autorizados podem violar:

  • Computer Fraud and Abuse Act (EUA)
  • Computer Misuse Act (Reino Unido)
  • Leis semelhantes em outras jurisdições

Boas Práticas

  • Sempre obtenha permissão por escrito antes de escanear
  • Use o modo seguro sempre que possível
  • Efetue escaneamentos durante janelas de manutenção quando possível
  • Respeite os limites de taxa para evitar condições de DoS
  • Considere a fragilidade dos sistemas industriais

Inteligência de Vulnerabilidades

O scanner acompanha um pequeno banco de dados de vulnerabilidades integrado para os protocolos principais (veja VULNERABILITY_DATABASE). Para informações mais atualizadas, você pode ativar a integração opcional com o ProjectDiscovery vulnx:

  1. Instale o vulnx e configure sua chave de API PDCP (vulnx auth).
  2. Execute com --vulnx (opcionalmente ajuste --vulnx-limit e --vulnx-timeout).
  3. As vulnerabilidades do vulnx são mescladas com os resultados locais e marcadas com source: "vulnx".

Se o vulnx estiver ausente ou inacessível, o scanner volta silenciosamente para o banco de dados local. As entradas do banco de dados local são atualizadas periodicamente a partir de buscas do vulnx pelos protocolos principais (capturadas neste snapshot do repositório) e são marcadas com source: "local_db".

Testes

Execute a suíte de testes unitários:

root@kitploit:~
pytest

Documentação para Desenvolvedores

Adicionando Novos Protocolos

O scanner foi projetado para ser modular, facilitando a adição de suporte a novos protocolos:

  1. Adicione os detalhes do protocolo à lista SCADA_PORTS
  2. Adicione padrões de assinatura ao dicionário PROTOCOL_SIGNATURES
  3. Crie funções de sonda e análise específicas do protocolo
  4. Adicione informações de vulnerabilidade ao VULNERABILITY_DATABASE

Contribuindo

Contribuições são bem-vindas! Por favor, siga estes passos:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add amazing feature')
  4. Envie para o branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Aviso Legal

O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA. OS AUTORES SE ISENTAM DE TODA RESPONSABILIDADE POR QUAISQUER DANOS OU PERDAS RESULTANTES DO USO DESTE SOFTWARE.

Baixar ferramenta