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
apidetector — Escáner multi-hilo para detectar endpoints Swagger/OpenAPI expuestos en dominios y subdominios web, con detección automática de XSS, generación de PoC y filtrado de falsos positivos para evaluaciones de seguridad en APIs. | Kitploit
Herramientas/GitHubGitHub/brinhosa/apidetector
ReconocimientoEscáneres de VulnerabilidadesPruebas de Seguridad de APIsRecopilación de InformaciónSeguridad Web
GitHubbrinhosa/apidetector

apidetector

Escáner multi-hilo para detectar endpoints Swagger/OpenAPI expuestos en dominios y subdominios web, con detección automática de XSS, generación de PoC y filtrado de falsos positivos para evaluaciones de seguridad en APIs.

Ver Repositorio
379451hace 1 añoRevisado por Kitploit

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 →
Compartir

Interfaz web de APIDetector

APIDetector es una herramienta potente y eficiente diseñada para probar endpoints Swagger expuestos en varios subdominios con capacidades inteligentes únicas para detectar falsos positivos. Es particularmente útil para profesionales de la seguridad y desarrolladores que realizan pruebas de API y escaneo de vulnerabilidades.

Presentado en BlackHat Arsenal 2024 (Enlace)

Historial de versiones

Nuevo en la Versión 3 (Actual)

  • Interfaz web moderna: Interfaz fácil de usar para escanear endpoints de API de manera sencilla
  • Resultados en tiempo real: Actualizaciones en vivo de endpoints descubiertos y vulnerabilidades
  • Panel interactivo: Interfaz de usuario limpia y responsiva usando Tailwind CSS y Alpine.js
  • Soporte de carga de archivos: Escanea múltiples dominios/subdominios a la vez subiendo un archivo de texto
  • Validación de dominios: Validación de entrada con coincidencia de patrones regex
  • Configuración flexible: Formulario fácil de usar para ajustes de escaneo con valores predeterminados mejorados
  • Resultados visuales: Presentación mejorada de los resultados del escaneo y PoCs
  • Gestión de capturas de pantalla: Captura y muestra automáticamente capturas de pantalla de endpoints vulnerables (una por subdominio)
  • Generación de PoC dirigida: Genera prueba de concepto solo para endpoints /swagger-ui/index.html
  • Diseño responsivo: Optimizado para todos los tamaños de pantalla, desde móvil hasta escritorio
  • Manejo de errores: Retroalimentación y registro de errores mejorados
  • Mejoras de accesibilidad: Mejor navegación por teclado y soporte para lectores de pantalla

Características de la Versión 2

  • Detección automática de XSS: Identifica versiones vulnerables de Swagger
  • Generación visual de PoC: Crea pruebas de concepto para vulnerabilidades
  • Manejo de errores mejorado: Mejor retroalimentación y registro
  • Rendimiento mejorado: Algoritmos de escaneo optimizados

Características principales

  • Entrada flexible: Acepta dominios individuales o listas de subdominios
  • Múltiples protocolos: Prueba endpoints tanto sobre HTTP como HTTPS
  • Concurrencia: Escaneo multi-hilo para resultados más rápidos
  • Detección inteligente: Capacidades avanzadas de detección de falsos positivos
  • Configuración personalizable: Configura hilos, user-agent y más

Requisitos

APIDetector v3 requiere Python 3.x y los siguientes paquetes:

root@kitploit:~
flask         # Framework web
requests      # Cliente HTTP
playwright    # Automatización del navegador para capturas de pantalla
nest_asyncio  # Soporte de E/S asíncrona

Todas las dependencias están listadas en requirements.txt y se pueden instalar automáticamente durante la configuración.

Configuración inicial

Después de instalar los paquetes requeridos, necesitas instalar los navegadores de Playwright:

root@kitploit:~
python -m playwright install

Esto es necesario para que la funcionalidad de captura de pantalla funcione correctamente.

Primeros pasos

Prerrequisitos

  • Python 3.x (Descargar)
  • pip (instalador de paquetes de Python)
  • Git (para clonar el repositorio)

Instalación

  1. Clona el repositorio:
root@kitploit:~
git clone https://github.com/brinhosa/apidetector.git
cd apidetector
  1. Crea y activa un entorno virtual:
root@kitploit:~
# En macOS/Linux:
python3 -m venv venv
source venv/bin/activate

# En Windows:
python -m venv venv
venv\Scripts\activate
  1. Instala las dependencias:
root@kitploit:~
pip install -r requirements.txt
  1. Instala la automatización del navegador:
root@kitploit:~
playwright install

Interfaz web (Versión 3)

  1. Inicia el servidor web:
root@kitploit:~
python app.py
  1. Por defecto, el servidor se ejecuta en http://127.0.0.1:5000. Puedes especificar un puerto o host diferente:
root@kitploit:~
python app.py --port 8080 --host 0.0.0.0
  1. Abre tu navegador y navega a la URL mostrada en la terminal.

  2. Usando la interfaz web:

    • Ingresa un solo dominio o sube un archivo con múltiples dominios (uno por línea)
    • Configura las opciones de escaneo (número de hilos, modo mixto, user agent)
    • Haz clic en 'Iniciar escaneo' para comenzar
    • Visualiza los resultados en tiempo real a medida que aparecen
    • Las capturas de pantalla de endpoints vulnerables se mostrarán automáticamente
  3. Las capturas de pantalla se guardan en el directorio screenshots para referencia futura.

Uso

APIDetector v3 ofrece dos formas de interactuar con la herramienta: una interfaz web moderna (nueva en v3) y una interfaz de línea de comandos tradicional (original).

Interfaz web

  1. Inicia el servidor web:
root@kitploit:~
python app.py [opciones]

Opciones disponibles:

Ejemplos:

root@kitploit:~
# Ejecutar con configuración predeterminada (localhost:5000)
python app.py

# Ejecutar en puerto personalizado
python app.py -p 8080

# Permitir acceso externo
python app.py --host 0.0.0.0

# Ejecutar en modo de depuración
python app.py -d
  1. Accede a la interfaz web:

    • Abre tu navegador y navega a la URL mostrada
    • Ingresa el dominio objetivo O sube un archivo con múltiples dominios (uno por línea)
    • Configura las opciones de escaneo:
      • Modo HTTP/HTTPS
      • Número de hilos (predeterminado: 10)
      • User-Agent personalizado
    • Haz clic en "Iniciar escaneo"
  2. Ver resultados:

    • Los endpoints de API descubiertos se muestran en tiempo real con seguimiento de progreso
    • Los endpoints vulnerables se prueban automáticamente
    • Se generan capturas de pantalla de PoC para vulnerabilidades confirmadas
    • Los resultados se pueden ver mientras el escaneo aún está en progreso

Interfaz de línea de comandos

Ejecuta APIDetector usando la línea de comandos. Aquí hay algunos ejemplos de uso:

  • Uso común, escanea con 30 hilos una lista de subdominios usando un user-agent de Chrome y guarda los resultados en un archivo:

    root@kitploit:~
    python apidetector.py -i list_of_company_subdomains.txt -o results_file.txt -t 30 -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
    
  • Para escanear un solo dominio:

    root@kitploit:~
    python apidetector.py -d example.com
    
  • Para escanear múltiples dominios desde un archivo:

    root@kitploit:~
    python apidetector.py -i input_file.txt
    
  • Para especificar un archivo de salida:

    root@kitploit:~
    python apidetector.py -i input_file.txt -o output_file.txt
    
  • Para usar un número específico de hilos:

    root@kitploit:~
    python apidetector.py -i input_file.txt -t 20
    
  • Para escanear con ambos protocolos HTTP y HTTPS:

    root@kitploit:~
    python apidetector.py -m -d example.com
    
  • Para ejecutar el script en modo silencioso (suprimir salida verbosa):

    root@kitploit:~
    python apidetector.py -q -d example.com
    

Si estás usando APIDetector v2, reemplaza los comandos por apidetectorv2.py.

Opciones

  • -d, --domain: Dominio único a probar.
  • -i, --input: Archivo de entrada que contiene subdominios a probar.
  • -o, --output: Archivo de salida para escribir las URLs válidas.
  • -t, --threads: Número de hilos a usar para el escaneo (predeterminado es 10).
  • -m, --mixed-mode: Prueba ambos protocolos HTTP y HTTPS.
  • -q, --quiet: Deshabilita la salida verbosa (el modo predeterminado es verboso).
  • -ua, --user-agent: Cadena de User-Agent personalizada para las solicitudes.

Detalles de riesgo de cada endpoint que encuentra APIDetector

Exponer endpoints de documentación de Swagger o OpenAPI puede presentar varios riesgos, principalmente relacionados con la divulgación de información. Aquí hay una lista ordenada basada en niveles de riesgo potencial, con endpoints similares agrupados que escanea APIDetector:

1. Endpoints de Alto Riesgo (Documentación Directa de API):

  • Endpoints:
    • '/swagger-ui.html', '/swagger-ui/', '/swagger-ui/index.html', '/api/swagger-ui.html', '/documentation/swagger-ui.html', '/swagger/index.html', '/api/docs', '/docs', '/api/swagger-ui', '/documentation/swagger-ui'
  • Riesgo:
    • Estos endpoints normalmente sirven la interfaz de Swagger UI, que proporciona una visión completa de todos los endpoints de la API, incluidos formatos de solicitud, parámetros de consulta y, a veces, incluso ejemplos de solicitudes y respuestas.
    • Nivel de Riesgo: Alto. Exponer estos da a posibles atacantes información detallada sobre la estructura de tu API y posibles vectores de ataque.

2. Endpoints de Riesgo Medio-Alto (Esquema/Especificación de API):

  • Endpoints:
    • '/openapi.json', '/swagger.json', '/api/swagger.json', '/swagger.yaml', '/swagger.yml', '/api/swagger.yaml', '/api/swagger.yml', '/api.json', '/api.yaml', '/api.yml', '/documentation/swagger.json', '/documentation/swagger.yaml', '/documentation/swagger.yml'
  • Riesgo:
    • Estos endpoints proporcionan archivos de especificación Swagger/OpenAPI sin procesar. Contienen información detallada sobre los endpoints de la API, incluyendo rutas, parámetros y, a veces, métodos de autenticación.

3. Endpoints de Riesgo Medio (Versiones de Documentación de API):

  • Endpoints:
    • '/v2/api-docs', '/v3/api-docs', '/api/v2/swagger.json', '/api/v3/swagger.json', '/api/v1/documentation', '/api/v2/documentation', '/api/v3/documentation', '/api/v1/api-docs', '/api/v2/api-docs', '/api/v3/api-docs', '/swagger/v2/api-docs', '/swagger/v3/api-docs', '/swagger-ui.html/v2/api-docs', '/swagger-ui.html/v3/api-docs', ,

4. Endpoints de Riesgo Más Bajo (Configuración y Recursos):

  • Endpoints:
    • '/swagger-resources', '/swagger-resources/configuration/ui', '/swagger-resources/configuration/security', '/api/swagger-resources', '/api.html'
  • Riesgo:
    • Estos endpoints a menudo proporcionan información auxiliar, detalles de configuración o recursos relacionados con la configuración de la documentación de la API.
    • Nivel de Riesgo: Más Bajo. Pueden no revelar directamente detalles de los endpoints de la API, pero pueden dar información sobre la configuración y el montaje de la documentación de la API.

Resumen:

  • Riesgo Más Alto: Exponer directamente interfaces interactivas de documentación de API.
  • Riesgo Medio-Alto: Exponer archivos de esquema/especificación de API sin procesar.
  • Riesgo Medio: Documentación de API específica de versiones.
  • Riesgo Más Bajo: Archivos de configuración y recursos para la documentación de API.

Recomendaciones:

  • Control de Acceso: Asegúrate de que estos endpoints no sean accesibles públicamente o al menos estén protegidos por mecanismos de autenticación.
  • Exposición Específica del Entorno: Considera exponer documentación detallada de la API solo en entornos de desarrollo o pruebas, no en producción.
  • Monitoreo y Registro: Monitorea el acceso a estos endpoints y configura alertas para patrones de acceso inusuales.

Contribuciones

¡Las contribuciones a APIDetector son bienvenidas! Siéntete libre de bifurcar el repositorio, hacer cambios y enviar solicitudes de extracción. Agradecimientos especiales a los miembros contribuyentes que ayudaron con pruebas y sugerencias de funciones:

  • Filipi Pires (Embajador) - https://www.linkedin.com/in/filipipires/
  • Denis Lourenço - https://www.linkedin.com/in/🚲denis-lourenço-18b07a128/
  • Bruno Francisco Cardoso - https://www.linkedin.com/in/bruno-francisco-cardoso-27445953/

Aviso legal

La herramienta APIDetector está destinada estrictamente solo para fines de prueba y educativos. Los desarrolladores de APIDetector no asumen ninguna responsabilidad y rechazan toda responsabilidad por cualquier mal uso, consecuencias no deseadas o daños causados por el uso de esta herramienta. Cualquier uso no autorizado, ilegal o dañino de APIDetector está expresamente prohibido. El usuario final asume la responsabilidad total de garantizar el cumplimiento de todas las leyes locales, estatales, federales e internacionales pertinentes. Al usar esta herramienta, el usuario reconoce que posee las autorizaciones necesarias para probar las redes o sistemas que pretende escanear y acepta indemnizar a los desarrolladores contra cualquier reclamo que surja de su uso. El usuario final es el único responsable de garantizar que su uso de esta herramienta no viole ninguna restricción legal o términos de servicio que rigen las redes o sistemas bajo prueba.

Aviso: Uso de la Herramienta APIDetector La herramienta APIDetector está diseñada exclusivamente para fines de prueba y educativos legales. Se proporciona "tal cual" sin garantías de ningún tipo, expresas o implícitas. Los desarrolladores y distribuidores de APIDetector renuncian expresamente a cualquier responsabilidad por mal uso, consecuencias no deseadas o daños resultantes del uso de esta herramienta. Aviso legal importante: El uso no autorizado, ilegal o no ético de APIDetector está estrictamente prohibido. Los usuarios son los únicos responsables de cumplir con todas las leyes locales, estatales, federales e internacionales aplicables, así como con cualquier término de servicio que rige las redes o sistemas con los que interactúan. Al usar APIDetector, los usuarios afirman que poseen las autorizaciones necesarias para probar las redes o sistemas objetivo. Asunción de riesgo e indemnización: Al descargar, instalar o usar APIDetector, el usuario asume la responsabilidad total de cualquier repercusión legal asociada con su uso. Los desarrolladores y distribuidores de APIDetector no serán responsables de ninguna consecuencia legal, daño o reclamo de terceros que surja de su uso. Los usuarios aceptan indemnizar y eximir de responsabilidad a los desarrolladores y distribuidores contra cualquier reclamo, honorarios legales o responsabilidades asociados con sus acciones.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

Agradecimientos

  • Gracias a todos los contribuyentes que han ayudado con pruebas, sugerencias y mejoras.
  • Autor: Rafael B. Brinhosa - https://www.linkedin.com/in/brinhosa/
Descargar herramienta
OpciónDescripciónPredeterminado
-p, --portNúmero de puerto5000
--hostDirección del host127.0.0.1
-d, --debugHabilita el modo de depuraciónFalse

Para ejecutar el script con un user-agent personalizado:

root@kitploit:~
python apidetector.py -d example.com -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
  • Nivel de Riesgo: Medio-Alto. Aunque requieren más interpretación que las interfaces de UI, aún revelan información extensa sobre la API.
  • '/api/swagger/v2/api-docs'
    '/api/swagger/v3/api-docs'
  • Riesgo:
    • Estos endpoints a menudo se refieren a documentación específica de versiones o descripciones de API. Revelan información sobre la estructura y capacidades de la API, lo que podría ayudar a un atacante a comprender la funcionalidad de la API y posibles debilidades.
    • Nivel de Riesgo: Medio. Pueden no ser tan detallados como la documentación completa o los archivos de esquema, pero aún proporcionan información útil para los atacantes.