Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
scada-scanner — Un escáner SCADA/ICS asíncrono y de alto rendimiento | Kitploit
Herramientas/GitHubGitHub/geeknik/scada-scanner
ReconocimientoEscáneres de VulnerabilidadesMapeo de RedesEscaneo de PuertosAnálisis de VulnerabilidadesSeguridad SCADA/ICSRecopilación de InformaciónSeguridad de RedesPruebas de Penetración
GitHubgeeknik/scada-scanner

scada-scanner

Un escáner SCADA/ICS asíncrono y de alto rendimiento

163hace 8 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver RepositorioSitio web
Compartir

Escáner y Analizador de Huellas SCADA

Resumen

Escáner SCADA/ICS asíncrono y de alto rendimiento para identificar y analizar las huellas de sistemas de control industrial en redes. Detecta vulnerabilidades, identifica fabricantes/productos y genera informes de riesgo exhaustivos.

ADVERTENCIA: Solo para evaluaciones de seguridad autorizadas. El escaneo no autorizado puede violar leyes y regulaciones.

Características

Capacidades principales

  • Escaneo asíncrono rápido de rangos CIDR o de objetivos individuales
  • Detección de protocolos para los principales protocolos industriales (Modbus, S7, DNP3, BACnet, EtherNet/IP, etc.)
  • Análisis de huellas de dispositivos con identificación de fabricante, producto y versión
  • Correlación de vulnerabilidades con CVEs y exploits del mundo real
  • Puntuación y evaluación de riesgos

Aspectos técnicos destacados

  • Arquitectura multi-hilo con concurrencia configurable
  • Limitación de velocidad mediante token-bucket para respetar los límites globales de solicitudes
  • Limitación de velocidad y controles de conexión por host
  • Análisis de huellas de comportamiento mediante sondas específicas de protocolo
  • Heurísticas de protocolo sensibles al puerto con rastros de evidencia para detecciones
  • Registro detallado e informes completos en JSON/CSV

Protocolos compatibles

  • Modbus TCP
  • Siemens S7
  • DNP3
  • BACnet
  • EtherNet/IP
  • IEC 60870-5-104
  • OPC UA
  • CODESYS
  • Y muchos otros

Instalación

Requisitos previos

  • Python 3.7+
  • Linux/macOS/Windows

Configuración

root@kitploit:~
# Clonar el repositorio
git clone https://github.com/geeknik/scada-scanner.git
cd scada-scanner

# Instalar dependencias
pip install -r requirements.txt

Uso

Uso básico

root@kitploit:~
# Escaneo de un objetivo único
python scada_scanner.py -t 192.168.1.100 -o results.json

# Escaneo de rango CIDR
python scada_scanner.py -c 192.168.1.0/24 -o results.json

# Múltiples rangos CIDR desde archivo
python scada_scanner.py -f networks.txt -o results.json

# Exportar CSV en lugar de JSON
python scada_scanner.py -t 192.168.1.100 --format csv -o results.csv

# Respetar una lista de exclusión
python scada_scanner.py -c 10.0.0.0/24 --exclude exclude.txt

# Resaltar combinaciones inesperadas de protocolo/puerto (registradas y en hallazgos)
python scada_scanner.py -t 203.0.113.10 -o results.json

# Habilitar enriquecimiento de vulnerabilidades en vivo mediante ProjectDiscovery vulnx (requiere vulnx y clave API de PDCP)
vulnx auth
python scada_scanner.py -t 192.168.1.100 --vulnx --vulnx-limit 3

Opciones de línea de comandos

root@kitploit:~
Argumentos requeridos (uno de):
  -t, --target            Dirección IP del objetivo único
  -c, --cidr              Rango CIDR a escanear (p. ej., 192.168.1.0/24)
  -f, --cidr-file         Archivo que contiene rangos CIDR (uno por línea)

Argumentos opcionales:
  -o, --output            Archivo de salida (predeterminado: scan_results.json)
  -r, --rate              Máximo de solicitudes por segundo (predeterminado: 10.0)
  --timeout               Tiempo de espera de conexión en segundos (predeterminado: 5)
  --max-concurrent        Máximo de conexiones concurrentes (predeterminado: 50)
  --safe-mode             Habilitar modo seguro (solo escaneos no intrusivos)
  --exclude               Archivo que contiene IPs a excluir del escaneo
  -v, --verbosity         Nivel de verbosidad: 0=silencioso, 1=normal, 2=depuración
  --format                Formato de salida: json o csv (predeterminado: json)

Modo seguro frente a modo estándar

Modo seguro

  • Utiliza únicamente sondas no intrusivas
  • Minimiza el impacto en los sistemas objetivo
  • Recomendado para entornos de producción
  • Actívelo con la opción --safe-mode

Modo estándar

  • Utiliza técnicas de sondeo más agresivas
  • Puede activar alertas de IDS/IPS
  • Podría afectar potencialmente a sistemas sensibles
  • Úselo con precaución en entornos de producción

Informe de ejemplo

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"
        }
      ]
    }
  ]
}

Consideraciones éticas

Cumplimiento legal

Esta herramienta está pensada únicamente para evaluaciones de seguridad autorizadas. El escaneo no autorizado puede violar:

  • Computer Fraud and Abuse Act (EE. UU.)
  • Computer Misuse Act (Reino Unido)
  • Leyes similares en otras jurisdicciones

Buenas prácticas

  • Obtenga siempre permiso por escrito antes de escanear
  • Utilice el modo seguro siempre que sea posible
  • Escanee durante ventanas de mantenimiento cuando sea posible
  • Respete los límites de velocidad para evitar condiciones de DoS
  • Considere la fragilidad de los sistemas industriales

Inteligencia de vulnerabilidades

El escáner incluye una pequeña base de datos de vulnerabilidades integrada para los protocolos principales (consulte VULNERABILITY_DATABASE). Para obtener información más actualizada, puede habilitar la integración opcional de ProjectDiscovery vulnx:

  1. Instale vulnx y configure su clave API de PDCP (vulnx auth).
  2. Ejecútelo con --vulnx (opcionalmente ajuste --vulnx-limit y --vulnx-timeout).
  3. Las vulnerabilidades de vulnx se combinan con los hallazgos locales y se marcan con source: "vulnx".

Si vulnx no está disponible o es inaccesible, el escáner recurre silenciosamente a la base de datos local. Las entradas de la base de datos local se actualizan periódicamente a partir de búsquedas de vulnx para los protocolos principales (capturadas en esta instantánea del repositorio) y se etiquetan con source: "local_db".

Pruebas

Ejecute la suite de pruebas unitarias:

root@kitploit:~
pytest

Documentación para desarrolladores

Añadir nuevos protocolos

El escáner está diseñado para ser modular, lo que facilita la adición de soporte para nuevos protocolos:

  1. Añada los detalles del protocolo a la lista SCADA_PORTS
  2. Añada patrones de firma al diccionario PROTOCOL_SIGNATURES
  3. Cree funciones de sonda y analizador específicas del protocolo
  4. Añada información de vulnerabilidades a VULNERABILITY_DATABASE

Contribuciones

¡Las contribuciones son bienvenidas! Siga estos pasos:

  1. Haga un fork del repositorio
  2. Cree una rama de funcionalidad (git checkout -b feature/amazing-feature)
  3. Confirme sus cambios (git commit -m 'Add amazing feature')
  4. Suba la rama (git push origin feature/amazing-feature)
  5. Abra una Pull Request

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para obtener más detalles.

Aviso legal

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA. LOS AUTORES RECHAZAN TODA RESPONSABILIDAD POR CUALQUIER DAÑO O PÉRDIDA DERIVADOS DEL USO DE ESTE SOFTWARE.

Descargar herramienta