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
API-SPY-API-PROBE — Una potente herramienta de fuerza bruta de directorios diseñada para operaciones recursivas/multiplex, descubrimiento y enumeración de API, extracción de archivos JS y listado de métodos HTTP de API, en un solo comando. Esto no es SOLO para API, mi herramienta simplemente sobresale en ellas. | Kitploit
Herramientas/GitHubGitHub/austinjump-sec/api-spy-api-probe
ReconocimientoScripting y AutomatizaciónExplotación de Aplicaciones WebPruebas de Seguridad de APIsRecopilación de InformaciónPruebas de PenetraciónCrawler
GitHubaustinjump-sec/api-spy-api-probe

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 →

API-SPY-API-PROBE

Ver Repositorio
515hace 3 mesesAún no revisado

Acerca de

Una potente herramienta de fuerza bruta de directorios diseñada para operaciones recursivas/multiplex, descubrimiento y enumeración de API, extracción de archivos JS y listado de métodos HTTP de API, en un solo comando. Esto no es SOLO para API, mi herramienta simplemente sobresale en ellas.

Compartir

API-SPY 🕵️👻

Una potente herramienta de fuerza bruta de directorios diseñada para el reconocimiento de API y pruebas de penetración. Descubre automáticamente endpoints API ocultos, realiza subescaneos recursivos y sondea métodos HTTP para una enumeración de API más profunda.

captura captura

Features

✨ Capacidades principales:

  • 🎯 Descubrimiento rápido de endpoints mediante fuerza bruta basada en listas de palabras
  • 🔄 Subescaneo recursivo automático de endpoints descubiertos
  • 🔍 Sondeo de métodos HTTP (GET, POST, PUT, DELETE, PATCH, OPTIONS)
  • ⚡ Escaneo multi-hilo para un mejor rendimiento
  • 📊 Manejo inteligente de códigos de estado (200, 401, 403)
  • 🔗 Prompts interactivos para subescaneo y sondeo selectivos
  • 🕷️ Extracción de JavaScript para endpoints /api/ comunes
  • 🪟 Soporte de multiplexación de terminal (tmux) para operaciones en paralelo
  • ⏱️ Omitir prompts automáticamente con tiempo de espera configurable

Installation

Prerequisites

  • Python 3.6+
  • librería requests
  • tmux (opcional, para la opción --split)
  • xfce-terminal (para entornos de escritorio Linux)

Configuración

root@kitploit:~
# Clone the repository
git clone https://github.com/austinjump-sec/API-SPY.git
cd API-SPY

# Install dependencies
pip install requests

# Make scripts executable (optional)
chmod +x apispy.py apiprobe.py

Uso

Sintaxis básica

root@kitploit:~
python3 apispy.py <baseUrl> <wordlist> [OPCIONES]

Argumentos obligatorios

ArgumentoDescripción
<baseUrl>URL objetivo (p. ej., http://example.com o http://api.example.com)
<wordlist>Ruta al archivo de wordlist que contiene los endpoints (uno por línea)

Argumentos opcionales

Ejemplos

Escaneo básico con configuración predeterminada (un solo hilo)

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt

Escaneo multi-hilo con 10 hilos

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t10

Usar tmux para operaciones en paralelo

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t5 --split

Subescaneo de una URL específica con mayor número de hilos

root@kitploit:~
python3 apispy.py http://api.example.com/v1 wordlist.txt -t20

Cómo funciona

Fase 1: Prueba de endpoints API comunes

La herramienta comienza probando un conjunto predefinido de rutas API comunes:

  • api, v1, v2, api/v1, api/v2, graphql, rest

Fase 2: Fuerza bruta con wordlist

  • Carga los endpoints de tu wordlist (ignora los comentarios que comienzan con #)
  • Prueba cada endpoint con peticiones HTTP GET
  • Ejecución multi-hilo para un escaneo más rápido
  • Identifica endpoints que responden con los códigos de estado: 200, 401, 403

Fase 3: Subescaneo interactivo (opcional)

Cuando se encuentra un endpoint, se te solicita:

root@kitploit:~
'-> Subscan <url>? (y/n) [Auto-skip in 5s]:
  • Elige y/yes para escanear recursivamente ese endpoint con la misma wordlist
  • Se lanza automáticamente en una nueva terminal o ventana dividida de tmux
  • Se omite automáticamente después de 5 segundos si no se proporciona entrada

Fase 4: Sondeo de métodos HTTP (opcional)

Después del subescaneo, se te solicita:

root@kitploit:~
'-> Probe methods on <url>? (y/n) [Auto-skip in 5s]:
  • Lanza apiprobe.py, que prueba los métodos HTTP en el endpoint descubierto
  • Prueba: GET, POST, PUT, DELETE, PATCH, OPTIONS
  • Salida con códigos de colores (verde para 200, amarillo para errores relacionados con autenticación)
  • Muestra los tamaños de respuesta y pistas del encabezado Allow

Interpretación de la salida

Script principal de API-SPY

root@kitploit:~
[+] Url found: http://api.example.com/v1            ← 200 OK (accessible)
    '-> Subscan http://api.example.com/v1? (y/n) [Auto-skip in 0s]: 
[-] Timeout: Skipped prompt for http://api.example.com/v1?
    '-> Probe methods on http://api.example.com/v1? (y/n) [Auto-skip in 4s]: 
[-] Url found but not permitted (403 ERR): ...      ← Forbidden but exists
[-] Url found but not permitted (401 ERR): ...      ← Requires authentication

Script de API-Probe

root@kitploit:~
[+] GET     -> STATUS: 200 OK (Size: 1024)
[-] POST    -> STATUS: 405 (Size: 0)
[Header Hint] Allow: GET, HEAD, OPTIONS

Formato de wordlist

Crea un archivo de texto simple con endpoints (uno por línea):

root@kitploit:~
admin
users
api/users
v1/products
v2/customers
/api/v1/auth
/graphql
search
data
config

Nota: Las líneas que comienzan con # se tratan como comentarios y se ignoran.

Wordlists recomendadas

Wordlists de API populares para usar con API-SPY:

  • SecLists - endpoints de API
  • Assetnote API wordlist
  • Rutas de API de FuzzDB

Consejos de rendimiento

Pautas para el número de hilos

  • 1-5 hilos: Conservador, menor riesgo de detección, más lento
  • 5-20 hilos: Rendimiento y sigilo equilibrados
  • 20-50 hilos: Escaneo agresivo, resultados más rápidos
  • 50-150 hilos: Velocidad máxima (puede activar WAF/IDS)
root@kitploit:~
# Stealth mode (low threads)
python3 apispy.py http://target.com wordlist.txt -t3

# Balanced mode
python3 apispy.py http://target.com wordlist.txt -t15

# Aggressive mode
python3 apispy.py http://target.com wordlist.txt -t50

Comportamiento del tiempo de espera

  • Los prompts interactivos se omiten automáticamente después de 5 segundos
  • Útil para escaneo desatendido de grandes listas de objetivos
  • Modifica timeout=5 en el código fuente para personalizarlo

Solución de problemas

"Wordlist no encontrada"

Asegúrate de que la ruta de la wordlist sea correcta y de que el archivo exista:

root@kitploit:~
ls -la /path/to/wordlist.txt

Error de script con nombre incorrecto

Al hacer subescaneo, asegúrate de:

  • El script principal se llama: apispy.py
  • El script de sondeo se llama: apiprobe.py
  • Ambos están en el mismo directorio

La ventana dividida de tmux no funciona

Si --split falla:

  • Instala tmux: sudo apt install tmux
  • Asegúrate de estar ejecutando una sesión de tmux: tmux new-session -s scan
  • Vuelve automáticamente a xfce-terminal

"Connection Failed" en todos los endpoints

  • Verifica que la URL base sea correcta y accesible
  • Comprueba la configuración del firewall/proxy
  • Asegúrate de que el servicio objetivo esté en ejecución
  • Prueba manualmente: curl http://your-url/

No se encontraron resultados

  • Verifica que la wordlist contenga endpoints relevantes
  • Comprueba si el objetivo devuelve códigos de estado distintos de 200/401/403
  • Prueba con menos hilos para evitar tiempos de espera
  • Aumenta el tiempo de espera de la petición en la función check_status()

Consideraciones de seguridad

⚠️ Legal y ético:

  • Solo prueba sistemas que te pertenezcan o para los que tengas permiso explícito por escrito
  • El acceso no autorizado a sistemas informáticos es ilegal en la mayoría de las jurisdicciones
  • Usa API-SPY de forma responsable para pruebas de penetración autorizadas e investigación de seguridad
  • Respeta los límites de velocidad y no realices ataques DoS

Buenas prácticas

  1. Obtén autorización: Consigue permiso por escrito antes de probar
  2. Usa wordlists apropiadas: Elige endpoints relevantes para tu objetivo
  3. Monitorea la detección: Presta atención a bloqueos de WAF/IDS o bloqueos de cuenta
  4. Respeta los límites de velocidad: Usa números de hilos más bajos en sistemas de producción
  5. Documenta los hallazgos: Registra todos los endpoints descubiertos para el informe

Uso avanzado

Valores de tiempo de espera personalizados

Edita el código fuente para ajustar los valores de tiempo de espera:

root@kitploit:~
def ask_subscan(url, wordlist, timeout=10):  # Change from 5 to 10 seconds

Filtrar resultados

Crea wordlists dirigidas a rutas API específicas:

root@kitploit:~
# Admin endpoints only
grep -i "admin" full-wordlist.txt > admin-wordlist.txt

# v1 API only
grep "v1" full-wordlist.txt > v1-wordlist.txt

Escaneo por lotes

Escanea varios objetivos con un bucle:

root@kitploit:~
for target in http://target1.com http://target2.com http://target3.com; do
    python3 apispy.py "$target" wordlist.txt -t10
done

Arquitectura

apispy.py (Escáner principal)

  • Orquesta el flujo de trabajo de escaneo
  • Gestiona los hilos y las peticiones concurrentes
  • Maneja los prompts interactivos y la creación de terminales
  • Coordina las operaciones de subescaneo y sondeo

apiprobe.py (Sondador de métodos)

  • Prueba los métodos HTTP en los endpoints descubiertos
  • Informa sobre la disponibilidad de métodos y códigos de estado
  • Extrae pistas de los encabezados HTTP
  • Proporciona una evaluación de las capacidades del endpoint

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en:

  • Reportar errores y problemas
  • Sugerir nuevas funciones
  • Mejorar la documentación
  • Optimizar el rendimiento

Aviso legal

Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas. Los usuarios son responsables de asegurarse de contar con la autorización adecuada antes de escanear cualquier sistema. El acceso no autorizado a sistemas informáticos es ilegal.

Licencia

Este proyecto se proporciona tal cual para investigación de seguridad y pruebas autorizadas.


Creado por: austinjump-sec
Repositorio: austinjump-sec/API-SPY

Descargar herramienta
ArgumentoDescripción
--t<number>Número de hilos (máx. 150, por defecto: 1)
--splitUsar split-window de tmux en lugar de nuevas ventanas de terminal
--debugMuestra mensajes de error que de otro modo estarían ocultos
--loudMuestra todos los mensajes, positivos y errores, resaltando aquellos que no devuelven 404
--jsEscanea archivos JavaScript y extrae de los encontrados endpoints de API comunes hardcodeados