
Extensión de Burp Suite para pruebas de seguridad de API con 15 tipos de ataque, más de 108 payloads, fuzzing inteligente, detección de BOLA/IDOR, integración de IA y reconocimiento automatizado. Compatible con APIs REST/GraphQL/SOAP con Nuclei, Turbo Intruder e integración con herramientas externas. Cobertura del OWASP API Top 10.
Si este proyecto ayuda en tu trabajo, apoya su mantenimiento continuo y nuevas funcionalidades.
Dirección de Donación ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
Escanee el código QR o copie la dirección de la billetera arriba.
Extensión de Burp Suite de nivel profesional para reconocimiento integral de API, fuzzing inteligente y pruebas de seguridad impulsadas por IA.
BurpAPISecuritySuite consolida funcionalidades que normalmente requerirían 10+ extensiones separadas en una sola extensión optimizada. Esta decisión arquitectónica ofrece importantes beneficios de rendimiento:
Eficiencia de memoria: Ejecutar múltiples extensiones de Burp simultáneamente crea una presión de memoria sustancial. Cada extensión mantiene su propio estado, componentes de UI y oyentes de eventos. Una sola extensión con múltiples pestañas comparte recursos de manera eficiente y reduce la huella de memoria general.
Menos sobrecarga de API: La API de extensiones de Burp procesa devoluciones de llamada de todas las extensiones cargadas. Con 10+ extensiones, cada solicitud HTTP activa devoluciones de llamada en todas las extensiones, creando una sobrecarga multiplicativa. Una extensión significa una cadena de devoluciones de llamada, lo que reduce drásticamente los ciclos de CPU y mejora la capacidad de respuesta.
Contexto compartido: Las pestañas integradas comparten los datos de tráfico capturados, eliminando el procesamiento redundante. La pestaña Recon captura una vez, y todas las demás pestañas (Fuzzer, Auth Replay, Passive Discovery, etc.) operan sobre el mismo conjunto de datos sin tener que volver a analizar las solicitudes.
Inicio más rápido: Cargar una extensión es significativamente más rápido que cargar 10+ extensiones. Burp inicializa los componentes de UI, registra las devoluciones de llamada y asigna recursos una vez en lugar de repetidamente.
Mejor estabilidad: Menos extensiones significan menos conflictos potenciales, desajustes de versiones y problemas de compatibilidad. Un único código base es más fácil de probar, depurar y mantener.
Esta filosofía de diseño prioriza el rendimiento y la experiencia del usuario, al tiempo que ofrece capacidades integrales de pruebas de seguridad de API que de otro modo requerirían una configuración compleja de múltiples extensiones.






Ejecutor de búsqueda profunda y relleno de huecos integrado, calibrado para complementar la cobertura de Nuclei/HTTPX/Katana.
Nota: ApiHunter es una herramienta de código abierto con licencia MIT y un complemento importante para BurpAPISecuritySuite. Proporciona capacidades avanzadas de reconocimiento de API que llenan los vacíos que dejan otros escáneres. Consulte https://github.com/Teycir/ApiHunter para instalación y uso.








BurpAPISecuritySuite es un kit completo de pruebas de seguridad de API que:
/users/123 → /users/{id})subfinder + dnsx + httpxBurpAPISecuritySuite.pyRecon para inspeccionar los endpoints capturados y los hallazgosPassive Discovery, haga clic en Run Differential para comprobaciones contrafácticas sin puntuación, o Run Invariants para la pila completa de lógica profundaRecon, haga clic en Refresh Invariants para actualizar los resultados de Differential + Sequence + Golden + State Matrix + Token Lineage + Parity Drift antes de exportarRecon, haga clic en Export AI Bundle para generar contexto de IA de todas las pestañasexcalibur-burp-bridge/v1 (Excalibur es una herramienta propietaria: https://github.com/Teycir/Excalibur)tool, method, host/path, status, len, type, tags).Memoria máxima (por defecto 20,000 filas).on/off).Valores de Grep..., , y flujo de trabajo de regex guardado ( + filtros guardados).Name: valueCopy URL(s) (o clic derecho Copy Selected URL(s)) para copiar URLs completasResult para ordenar por severidad, o usar Sort Severity para orden rápido CRITICAL -> HIGH -> MEDIUM -> OKAll o comprobaciones por categoría (API3, API4, API5, API6, API9, API10)All Endpoints, Filtered View, o el ámbito del host actualSelected Endpoint, Filtered View o All Endpoints.Proxy/Live Capture, Imported HAR/Replay o escanear ambos juntos.All API Sensitive, Secrets & Tokens, PII & Financial, Credentials & Session, Infra/Internal Exposure.apihunter (la detección automática predeterminada busca en el PATH en tiempo de ejecución, luego sondas de shell (bash -lc y bash -ic) vía command -v, y copia la ruta absoluta descubierta; sin candidatos de respaldo estáticos)Run ApiHunter, el sistema vuelve a resolver apihunter desde PATH (sonda de proceso + shell) y actualiza automáticamente el campo con la ruta binaria absoluta resuelta cuando está disponibleQuick (Desktop Preset), Balanced (Desktop Preset) (predeterminado), Deep (Desktop Preset)Unauth Only, , (predeterminado). En modo de doble paso, las URLs base deduplicadas se dividen en listas de destino y ; cada paso se ejecuta en su propia lista. La asociación de autenticación utiliza tanto encabezados de autenticación de solicitud como señales de autenticación no pertenecientes a encabezados (, marcadores de token/cookie/sesión en metadatos de solicitud).Unauth Only, Auth Only, Auth + Unauth (predeterminado). En modo de doble paso, las URLs base deduplicadas se dividen en listas de destino auth-associated y unauth-associated; cada paso se ejecuta en su propia lista. La asociación de autenticación utiliza tanto encabezados de autenticación de solicitud como señales de autenticación no pertenecientes a encabezados (auth_detected, marcadores de token/cookie/sesión en metadatos de solicitud). La derivación de contexto de autenticación captura el mejor encabezado Authorization disponible, encabezados similares a auth más relevantes (X-API-Key, Api-Key, ApiKey, X-Auth-Token, X-Access-Token) y deriva pares de cookies a partir de los encabezados de la solicitud.kr.kite local o un alias de Assetnote como apiroutes-260227:20000Fast, Balanced, Deep ajuste de escaneo de rutas, con Balanced seleccionado por defecto para una cobertura de primer paso más amplia; Fast mantiene un límite de 10 minutos más ajustado para triaje más rápido y Deep invierte un techo de 15 minutos en menos hosts con escaneos más completosCustom Targets... en lugar del ámbito filtrado de Recon20 entradas, una por línea) con sanitización estricta y normalización de URL base canónica (scheme://host[:port]/)sqlmap localFast, Balanced, Deep preajustes de ajuste de comandosdalfox localFast, Balanced, Deep preajustes de ajuste de comandosFast, Balanced, Deep ajuste de etapas para subfinder/dnsx/httpxsubfinder → dnsx → httpx para descubrimiento de activos de API vivosBOLA (Broken Object Level Authorization)
IDOR (Insecure Direct Object Reference)
SQL Injection
XSS (Cross-Site Scripting)
NoSQL Injection
JWT Exploitation
GraphQL Abuse
SSTI (Server-Side Template Injection)
Race Conditions
Business Logic
WAF Bypass
{ "metadata": { "timestamp": "20240115_143022", "total_endpoints": 15, "total_requests": 47 }, "endpoints": [ { "endpoint": "GET:/api/users/{id}", "method": "GET", "normalized_path": "/api/users/{id}", "host": "api.example.com", "sample_count": 3, "parameters": { "url": ["id"], "body": [], "cookie": ["session"], "json": [] }, "auth_methods": ["Bearer Token"], "response_codes": [200, 404], "content_types": ["application/json"], "api_patterns": ["REST API", "JSON API", "CRUD: GET"], "sample_requests": [...] } ], "api_structure": { "api_types": ["REST API", "JSON API"], "http_methods": ["GET", "POST", "PUT", "DELETE"], "auth_methods": ["Bearer Token", "API Key"], "base_paths": ["/api/", "/v1/"] }, "security_observations": [ { "type": "Potential IDOR/BOLA", "severity": "Critical", "count": 5, "examples": ["GET:/api/users/{id}", "GET:/api/orders/{id}"], "recommendation": "Implement object-level authorization checks" }, { "type": "Unauthenticated Endpoints", "severity": "High", "count": 3, "examples": ["GET:/api/health", "GET:/api/version"] }, { "type": "Weak Encryption (Base64)", "severity": "High", "count": 2, "examples": [{"endpoint": "POST:/api/auth", "types": ["Base64"]}], "recommendation": "Use proper encryption (AES-256, TLS 1.3)" } ], "llm_prompt": "# API Red Team Extension Generation\n\n..." }
## Datos & Exportación
### Qué Se Captura
### Por Endpoint
- Método HTTP y ruta normalizada
- Host, protocolo, puerto
- Cadena de consulta y todos los tipos de parámetros (URL, body, cookie, JSON)
- Encabezados de solicitud/respuesta
- Cuerpos de solicitud/respuesta (truncados a 20KB)
- Códigos de estado de respuesta
- Tipos de contenido
- Métodos de autenticación detectados
- Patrones de API (REST, GraphQL, SOAP, etc.)
### Análisis
- Resumen de la estructura de la API (tipos, métodos, autenticación, rutas base)
- Observaciones de seguridad (endpoints no autenticados, datos sensibles)
- Agrupación y deduplicación de endpoints
- Solicitudes de ejemplo para cada endpoint
## Integración
### Integración de Prompt de LLM
La exportación incluye prompts listos para IA y contexto que priorizan:
1. Rutas de explotación de datos sensibles (exposición entre cuentas/inquilinos)
2. Cambios de estado no autorizados (abuso de flujo de trabajo/ciclo de vida)
3. Fallos de lógica no obvios sobre hallazgos genéricos propensos a duplicados
4. Deltas de evidencia reproducibles y solicitudes de datos faltantes
Artefactos primarios de IA:
- `ai_bundle.json`
- `ai_all_tabs_context.json`
- `ai_openai_request.json`
- `ai_anthropic_request.json`
- `ai_ollama_request.json`
### Flujo de Trabajo del Repositorio Complementario (APIPentesting)
`BurpAPISecuritySuite` y `APIPentesting` están diseñados para usarse juntos:
1. Capturar y analizar tráfico en BurpAPISecuritySuite.
2. En `Recon`, haz clic en `Export AI Bundle`.
3. En APIPentesting, ejecuta:
- `./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json <scan-name>`
4. Revisa `Reports/<scan-name>-<timestamp>/priority.json` y `results.jsonl`.
5. Usa `scripts/AI_TRIAGE_PROMPT.md` (de APIPentesting) con tu interfaz de IA para un triage prioritario de datos sensibles.
División de responsabilidades:
- BurpAPISecuritySuite: captura en Burp, enriquecimiento, análisis de lógica profunda, empaquetado de IA/exportación.
- APIPentesting: orquestación de escaneo externo, clasificación y triage de explotación asistido por IA.
## Ejemplos de Flujo de Trabajo
### 1. Generación de Payloads Impulsada por IA```bash
# 1. Capture API traffic in Burp
# 2. (Optional) Run Passive Discovery → "Run Invariants"
# 3. (Optional) In Recon, click "Refresh Invariants"
# 4. In Recon, click "Export AI Bundle"
# 5. Run APIPentesting scan from the exported bundle:
# ./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json burp-ai-scan
# 6. Feed Reports/.../priority.json + results.jsonl to AI with
# scripts/AI_TRIAGE_PROMPT.md for sensitive-data-first exploit triage.
### 3. Burp Intruder con Auto-Positions```bash
# 1. Generate fuzzing attacks
# 2. Click "Send to Intruder"
# 3. Burp Intruder opens with §markers§ pre-configured
# 4. Load payloads from exported payloads.json
# 5. Launch attack
~/burp_APIRecon/ ├── FullExport_TIMESTAMP/ │ ├── api_analysis.json │ └── excalibur_bridge_bundle.json ├── HostExport_HOSTNAME_TIMESTAMP/ │ ├── api_analysis.json │ └── excalibur_bridge_bundle.json ├── Payloads_TIMESTAMP/ │ └── payloads.json (idor, sqli, xss, nosqli, ssrf, xxe, ssti, deserialization, waf_bypass) ├── AI_Context_TIMESTAMP/ │ ├── ai_context.json │ ├── ai_bundle.json │ ├── ai_all_tabs_context.json │ ├── ai_vulnerability_context.json │ ├── ai_behavioral_analysis.json │ ├── ai_counterfactual_differential_findings.json │ ├── ai_counterfactual_differential_summary.json │ ├── ai_sequence_invariant_findings.json │ ├── ai_sequence_evidence_ledger.json │ ├── ai_golden_ticket_findings.json │ ├── ai_golden_ticket_ledger.json │ ├── ai_state_transition_findings.json │ ├── ai_state_transition_ledger.json │ ├── ai_token_lineage_findings.json │ ├── ai_token_lineage_ledger.json │ ├── ai_parity_drift_findings.json │ ├── ai_parity_drift_ledger.json │ ├── ai_openai_request.json │ ├── ai_anthropic_request.json │ └── ai_ollama_request.json ├── SequenceInvariant_Export_TIMESTAMP/ │ ├── counterfactual_differential_findings.json │ ├── counterfactual_differential_summary.json │ ├── sequence_invariant_findings.json │ ├── sequence_evidence_ledger.json │ ├── golden_ticket_findings.json │ ├── golden_ticket_ledger.json │ ├── state_transition_findings.json │ ├── state_transition_ledger.json │ ├── token_lineage_findings.json │ ├── token_lineage_ledger.json │ ├── parity_drift_findings.json │ └── parity_drift_ledger.json ├── TurboIntruder_TIMESTAMP/ │ ├── race_condition.py │ ├── bola_enum.py │ └── jwt_brute.py ├── VersionScan_Export_TIMESTAMP/ │ └── version_scan.txt ├── ParamMiner_Export_TIMESTAMP/ │ └── param_mining.txt └── NucleiTargets_TIMESTAMP/ └── targets.txt
### Mejores Prácticas
### Fase de Reconocimiento
- **Capturar Tráfico Autenticado**: Inicia sesión primero para capturar endpoints protegidos
- **Ejercitar Todas las Funcionalidades**: Navega por toda la aplicación para una cobertura completa
- **Usar Múltiples Roles**: Captura tráfico como administrador, usuario, invitado para detección de BOLA
- **Revisar Estadísticas**: Verifica los conteos Crítico/Alto/Medio en el panel de estadísticas
### Fase de Fuzzing
- **Comenzar con "All"**: Genera primero una campaña de ataques completa
- **Enfocarse en Alto Riesgo**: Filtra por severidad para endpoints críticos
- **Verificar Detecciones**: Revisa los ataques generados antes de enviarlos a Intruder
- **Pruebas por Lotes**: Usa Turbo Intruder para condiciones de carrera y enumeración de alta velocidad
### Integración de IA
- **Exportar Contexto Temprano**: Genera el contexto de IA después de la captura inicial
- **Ejecutar + Actualizar Invariantes Antes de Exportar**: Añade evidencia fresca de lógica profunda (Diferencial + Secuencia + Golden + Matriz de Estado + Linaje de Token + Deriva de Paridad) antes de enviar datos a la IA
- **Iterar Payloads**: Usa payloads generados por IA, prueba, refina el prompt
- **Combinar Técnicas**: Mezcla payloads de IA con la biblioteca de payloads incorporada
### Automatización
- **Integración con Nuclei**: Ejecuta Nuclei para una validación rápida de vulnerabilidades
- **Exportar Objetivos**: Usa listas de objetivos con ffuf, wfuzz o scripts personalizados
- **Integración CI/CD**: Automatiza exportaciones para pruebas de regresión
## Información Técnica
### Detalles Técnicos
- **Normalización**: Reemplaza IDs numéricos, UUIDs, ObjectIDs con marcadores de posición
- **Deduplicación**: Rastrea endpoints únicos por método + ruta normalizada
- **Truncamiento**: Cuerpos limitados a 20KB, muestras limitadas a 3 por endpoint
- **Detección de Autenticación**: Identifica Bearer, Basic, API Key, Cookie de Sesión
- **Coincidencia de Patrones**: Detección basada en regex para REST, GraphQL, SOAP
### Limitaciones
- No captura tráfico WebSocket
- Respuestas binarias no analizadas completamente
- Respuestas grandes truncadas (límite de 20KB)
- Requiere Jython (sintaxis de Python 2.7)
## Casos de Uso
- **Pruebas de Penetración de API**: Fuzzing completo con más de 108 vectores de ataque
- **Caza de Recompensas de Bugs**: Detección y explotación automatizada de BOLA/IDOR
- **Investigación de Seguridad**: Técnicas de ataque avanzadas (condiciones de carrera, JWT, GraphQL)
- **Operaciones de Red Team**: Scripts de Turbo Intruder para ataques de alta velocidad
- **Pruebas Asistidas por IA**: Genera payloads personalizados con ChatGPT/Claude
- **Seguridad en CI/CD**: Exporta objetivos para pruebas de regresión automatizadas
- **Capacitación y Educación**: Aprende vulnerabilidades de API a través de ejemplos del mundo real
## Documentación
- [Índice Completo de Documentación](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/DOCUMENTATION-INDEX.md)
- [Resumen de Arquitectura](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/Architecture.md)
- [Validación de Fuzzing GraphQL](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/GRAPHQL_VALIDATION.md)
- [Referencia de Etiquetas Logger++](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/loggerpp_tags.md)
## Preguntas Frecuentes
### Preguntas Generales
**P: ¿Esto funciona con Burp Suite Community Edition?**
R: ¡Sí! Todas las funciones principales funcionan con las ediciones Community y Professional. Sin embargo, algunas funciones avanzadas de Burp como la integración con Scanner requieren Pro.
**P: ¿Por qué la extensión no captura tráfico?**
R: Verifica que:
- La opción Auto-Capture esté habilitada en la pestaña Recon
- Estés navegando a través del proxy de Burp
- El objetivo esté enviando tráfico HTTP/HTTPS (WebSockets no soportados)
- Revise el Registro de Actividad para cualquier mensaje de error
**P: ¿Cómo instalo Jython?**
R: Descarga el JAR independiente de Jython desde https://www.jython.org/download, luego en Burp: Extender → Opciones → Entorno Python → Seleccionar Archivo → Elegir el archivo jython-standalone-*.jar.
### Rendimiento y Límites
**P: ¿Cuántos endpoints puede manejar?**
R: La extensión maneja eficientemente más de 500 endpoints con rotación automática cuando se alcanza el límite (800). Los endpoints más antiguos se eliminan automáticamente.
**P: ¿Por qué se truncan las respuestas a 20KB?**
R: Para evitar problemas de memoria con respuestas grandes mientras se preserva el contexto de análisis útil. El límite actual predeterminado de captura de cuerpo es 20KB.
**P: ¿Puedo aumentar el límite de muestras por endpoint?**
R: Sí, usa el menú desplegable "Samples" en la pestaña Recon (1, 3, 5 o 10 muestras por endpoint).
### Fuzzing y Ataques
**P: ¿Por qué no veo ningún ataque BOLA/Omisión de Autenticación?**
R: Estos ataques requieren endpoints autenticados. Asegúrate de:
- Iniciar sesión en la aplicación primero
- Capturar tráfico mientras estés autenticado
- Buscar endpoints con tokens Bearer, claves API o cookies de sesión
**P: ¿Cómo uso los ataques generados?**
R: Tres formas:
1. **Burp Intruder**: Haz clic en "Send to Intruder" para pruebas automatizadas
2. **Turbo Intruder**: Exporta scripts para ataques de alta velocidad
3. **Manual**: Usa "Copy as cURL" para pruebas desde línea de comandos
**P: ¿Cuál es la diferencia entre "All" y los tipos de ataque específicos?**
R: "All" genera ataques completos en todos los tipos de vulnerabilidades. Los tipos específicos (por ejemplo, "SQLi") se centran solo en esa clase de vulnerabilidad para pruebas dirigidas.
**P: ¿Cómo pruebo endpoints GraphQL de manera efectiva?**
R: Enfoque de tres puntas:
1. **Pestaña Fuzzer**: Selecciona el tipo de ataque "GraphQL" para más de 40 payloads específicos de GraphQL (introspección, batching, sobrecarga de directivas, sugerencia de campos)
2. **Pestaña Nuclei**: Ejecuta con `-tags graphql` para más de 29 plantillas que cubren configuraciones incorrectas y detección
3. **Pruebas Manuales**: Usa "Copy as cURL" para probar introspección, batching y ataques de profundidad manualmente
El Fuzzer detecta endpoints GraphQL automáticamente y genera ataques para:
- Extracción de esquema mediante introspección
- DoS mediante batching (array/alias) y ataques de profundidad
- Sugerencia de campos para descubrimiento de esquema cuando la introspección está deshabilitada
- Sobrecarga de directivas (abuso de @skip, @include)
- DoS de fragmentos circulares
- Mutaciones no autorizadas
### Herramientas Externas
**P: ¿Necesito instalar ApiHunter/Nuclei/HTTPX/Katana/FFUF/Kiterunner?**
R: Solo si deseas usar esas pestañas específicas. La extensión principal funciona sin ellas. Instálalos desde:
- ApiHunter: https://github.com/Teycir/ApiHunter (herramienta propietaria - requiere instalación separada o compilación local en `~/Repos/ApiHunter`, luego compila `target/release/apihunter`)
- Nuclei: https://github.com/projectdiscovery/nuclei
- HTTPX: https://github.com/projectdiscovery/httpx
- Katana: https://github.com/projectdiscovery/katana
- FFUF: https://github.com/ffuf/ffuf
- Kiterunner: https://github.com/assetnote/kiterunner
**P: ¿Dónde debería instalar estas herramientas?**
R: Rutas predeterminadas:
- `~/Repos/ApiHunter/target/release/apihunter`
- `~/go/bin/nuclei`
- `~/go/bin/httpx`
- `~/go/bin/katana`
- `~/go/bin/ffuf`
- `~/.local/bin/kr`
- En Windows, los valores predeterminados comunes están en `C:\\Users\\<tu>\\go\\bin\\*.exe`
O configura rutas personalizadas en cada pestaña.
Las pestañas ahora detectan automáticamente ubicaciones Go-bin de estilo Unix y Windows `*.exe` cuando están presentes.
**P: ¿Cómo funcionan las anulaciones de comandos personalizados?**
R:
- Deja `Enable Custom` sin marcar para usar los valores predeterminados seguros incorporados.
- Marca `Enable Custom` para ejecutar exactamente lo que escribes en el cuadro de comandos.
- Usa `Preset Cmd...` para autocompletar rápidamente comandos comunes (sigue siendo opt-in hasta que se marque `Enable Custom`).
- Haz clic en `?` para ver marcadores de posición y ejemplos para cada pestaña.
- Los comandos personalizados se ejecutan con `cmd /c` en Windows y `bash/sh -lc` en Linux/macOS.
- Los valores predeterminados incorporados de HTTPX y Katana usan banderas nativas de lista de archivos (`-l` / `-list`) para ejecución multiplataforma.
### Notas de Seguridad
- El modo de comando personalizado es intencionalmente estricto y **opt-in** (`Enable Custom` debe estar marcado).
- Los comandos personalizados renderizados se validan en busca de fragmentos de shell prohibidos (por ejemplo, encadenamiento de comandos/redirección/sintaxis de subshell).
- Los ejecutables están restringidos por listas de permitidos por herramienta en modo personalizado (por ejemplo `nuclei`, `httpx`, `katana`, `waybackurls`/`gau`, `apihunter`, `subfinder`).
- Los valores de contexto de marcadores de posición se sanitizan antes del renderizado de plantillas, y hay variantes entre comillas disponibles (`{targets_file_q}`, `{urls_file_q}`, etc.) para una interpolación de rutas más segura.
- Si tu flujo de trabajo necesita lógica de shell compleja fuera de esta política, ejecuta ese comando manualmente fuera de la extensión.
**P: ¿Por qué HTTPX muestra errores de opción no válida?**
R:
- Asegúrate de estar usando el `httpx` de ProjectDiscovery, no la herramienta CLI `httpx` de Python.
- Ruta recomendada: `~/go/bin/httpx`.
- La extensión ahora valida las firmas de herramientas locales y muestra una pista de corrección cuando no coinciden.
**P: ¿Cómo lleno rápidamente los encabezados Invitado/Usuario/Admin para Auth Replay?**
R:
- En `Auth Replay`, haz clic en `Extract` junto a Invitado/Usuario/Admin.
- Se abre una ventana emergente con búsqueda que muestra candidatos de encabezado capturados.
- Filtra por texto de endpoint, nombre de encabezado o fragmento de token.
- Selecciona un elemento y haz clic en `OK`; el campo se llena en formato `Nombre: valor`.
### Exportación e Integración
**P: ¿Dónde se guardan los archivos exportados?**
R: Todas las exportaciones van a `~/burp_APIRecon/` con subdirectorios con marca de tiempo. Consulta el Registro de Actividad para las rutas exactas.
**P: ¿Cómo uso la exportación de Contexto de IA?**
R:
1. (Opcional) Ejecuta `Passive Discovery` → `Run Invariants`
2. (Opcional) En la pestaña `Recon`, haz clic en `Refresh Invariants`
3. En la pestaña `Recon`, haz clic en `Export AI Bundle`
4. Usa APIPentesting para escanear desde esa exportación:
- `./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json burp-ai-scan`
5. Alimenta `Reports/.../priority.json` + `results.jsonl` a tu UI de IA usando APIPentesting `scripts/AI_TRIAGE_PROMPT.md`
6. Usa `ai_sequence_evidence_ledger.json`, `ai_golden_ticket_ledger.json` y `ai_state_transition_ledger.json` para priorizar qué validar primero
**P: ¿Puedo importar datos exportados previamente?**
R: Sí. `Import` acepta:
- `api_analysis.json` (exportación de BurpAPISecuritySuite)
- Exportaciones de Excalibur `.har` (Excalibur es una herramienta propietaria: https://github.com/Teycir/Excalibur)
- Sidecars de Excalibur `-replay-studio.json` / `-cookies.json` / `-insights.json` (descubiertos automáticamente del mismo prefijo de sesión)
- `excalibur_bridge_bundle.json` (`schema: excalibur-burp-bridge/v1`)
Si se detectan artefactos de Excalibur, la herramienta ejecuta automáticamente `Refresh Invariants` después de la importación para que los cachés de Diferencial + Secuencia + Golden + Estado + Linaje de Token + Deriva de Paridad estén inmediatamente listos.
**P: ¿Puedo enviar solicitudes capturadas a Postman o Insomnia?**
R: Sí. En la pestaña Recon, usa:
- `Postman` para exportar `postman_collection.json` (Colección v2.1)
- `Insomnia` para exportar `insomnia_collection.json` (formato de importación de Insomnia)
- Ambos soportan selección de ámbito: `All Endpoints`, `Filtered View` o `Current Host`.
### Solución de Problemas
**P: La extensión se cargó pero no aparece en las pestañas?**
R: Verifica la pestaña Extender → Extensions de Burp para errores. Problemas comunes:
- Jython no configurado correctamente
- Errores de sintaxis de Python 2.7 (la extensión usa Jython/Python 2.7)
- Memoria insuficiente (aumenta el tamaño del heap de Burp)
**P: ¿Mensaje "No endpoints captured"?**
R: Asegúrate de:
- Estar navegando activamente a través del proxy de Burp
- Auto-Capture esté habilitado
- El objetivo esté realizando solicitudes HTTP (no solo cargando archivos estáticos)
- Verificar si los endpoints están siendo filtrados (imágenes/fuentes se filtran automáticamente)
**P: ¿El escaneo de Nuclei/HTTPX se cuelga o agota el tiempo?**
R:
- Verifica que la herramienta esté instalada y la ruta sea correcta
- Verifica la conectividad de red a los objetivos
- Los escaneos grandes pueden tardar varios minutos (tiempo de espera máximo predeterminado: 15 minutos)
- Usa **Target Bases...** con **Only Base+Derivatives** para forzar un ámbito estricto de un solo objetivo
- Usa el botón **Stop** en la misma pestaña para cancelar herramientas externas en ejecución
- Consulta el Registro de Actividad para mensajes de error detallados
**P: ¿Por qué algunos endpoints están marcados como "Critical" o "High"?**
R: La severidad se basa en:
- **Critical**: Endpoints de depuración/administración, IDOR/BOLA no autenticado
- **High**: IDOR/BOLA autenticado, exposición de datos sensibles, cifrado débil
- **Medium**: Respuestas de error, parámetros reflejados
- **Info**: Endpoints estándar
### Uso Avanzado
**P: ¿Cómo pruebo condiciones de carrera?**
R:
1. Genera ataques de fuzzing (pestaña Fuzzer)
2. Haz clic en el botón "Turbo Intruder"
3. Carga el script `race_condition.py` exportado en Turbo Intruder de Burp
4. Configura para 50+ solicitudes paralelas
**P: ¿Puedo personalizar los payloads de ataque?**
R: ¡Sí! Exporta los payloads a JSON, modifícalos, luego:
- Úsalos manualmente en Burp Intruder
- Alimenta a la IA para mejorar
- Crea scripts personalizados con la biblioteca de payloads
**P: ¿Cómo comparo dos versiones de API?**
R:
1. Exporta datos de API de la versión 1 ("Export All")
2. Limpia los datos y captura la versión 2
3. Exporta la versión 2
4. Usa la pestaña Diff → Carga ambas exportaciones → Compara
**P: ¿Cuál es el mejor flujo de trabajo para la caza de recompensas de bugs?**
R:
1. Captura tráfico autenticado (todos los roles de usuario)
2. Revisa primero los endpoints de severidad Crítica/Alta
3. Genera ataques "All" en el Fuzzer
4. Enfócate en endpoints BOLA/IDOR
5. Usa Version Scanner para encontrar APIs heredadas
6. Ejecuta Param Miner en endpoints de alto valor
7. Exporta a Nuclei para validación automatizada
### Aspectos Técnicos Destacados
- **Arquitectura Jython Limpia**: Diseño modular con lógica central comprobable
- **Extracción Modular**: Flujos de trabajo pesados extraídos a módulos auxiliares (`heavy_runners.py`, `ai_prep_layer.py`, `behavior_analysis.py`)
- **Detección Inteligente**: Identificación de vulnerabilidades consciente del contexto
- **Rendimiento Optimizado**: Maneja más de 500 endpoints eficientemente
- **Multiplataforma**: Funciona en Windows, macOS, Linux
- **Extensible**: Fácil de añadir nuevos tipos de ataque y payloads
- **UI Profesional**: Severidad codificada por colores, interfaz con pestañas, estadísticas en tiempo real
- **Cobertura de Replay**: Incluye pruebas de corpus de replay golden para detección de invariantes de secuencia + salida de libro de confianza
## 💼 Servicios Profesionales
¿Necesitas herramientas de seguridad personalizadas o soluciones de prueba de API? Construyo aplicaciones y herramientas de seguridad listas para producción.
### Proyectos Destacados
- **[ApiHunter](https://github.com/Teycir/ApiHunter)** - Herramienta automatizada de reconocimiento de API y pruebas de seguridad con descubrimiento inteligente de endpoints
- **[TimeSeal](https://timeseal.online)** ([GitHub](https://github.com/Teycir/Timeseal)) - Bóveda de tiempo criptográfica y interruptor de hombre muerto con cifrado de confianza cero
- **[Ghost Chat](https://ghost-chat.pages.dev)** - Chat P2P seguro con WebRTC, sin almacenamiento en servidor, temporizadores de autodestrucción
- **[BurpCopyIssues](https://github.com/Teycir/BurpCopyIssues)** - Extensión de Burp Suite para navegar, copiar y exportar hallazgos de escaneo
- **[BurpWpsScan](https://github.com/Teycir/BurpWpsScan)** - Escáner de seguridad de WordPress para Burp Suite con integración de WPScan API
- **[Excalibur](https://github.com/Teycir/Excalibur)** - Descubrimiento de superficie de ataque de API y herramientas de flujo de trabajo de sesión para operaciones prácticas de pentest (herramienta propietaria)
- **[APIPentesting](https://github.com/Teycir/APIPentesting)** - Flujo de trabajo complementario de escaneo externo y triaje de exploits centrado en Burp para caza de recompensas de bugs en API
- **Herramientas de Seguridad Personalizadas** - Extensiones de Burp, marcos de prueba de API, scripts de automatización
### Servicios Ofrecidos
- 🔒 **Desarrollo de Herramientas de Seguridad** - Extensiones de Burp personalizadas, herramientas de pruebas de penetración, marcos de automatización
- 🚀 **Desarrollo de Aplicaciones Web** - Desarrollo full-stack con tecnologías modernas
- 🔧 **Consultoría de Seguridad de API** - Revisión de arquitectura, evaluación de vulnerabilidades, guía de remediación
- 🤖 **Integración de IA** - Herramientas de seguridad impulsadas por LLM, generación automatizada de payloads, fuzzing inteligente
**Ponte en Contacto**: [teycirbensoltane.tn](https://teycirbensoltane.tn) | Disponible para proyectos freelance y consultoría
## Contribuciones
### Autor
Desarrollado por [Teycir Ben Soltane](https://teycirbensoltane.tn)
### Licencia
Licencia MIT - Libre de usar para pruebas de seguridad autorizadas y fines de investigación.
## Registro de Cambios
Consulta [CHANGELOG.md](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/CHANGELOG.md) para el historial completo de versiones.
| Característica | BurpAPISecuritySuite | Burp Scanner Pro | OWASP ZAP | Postman |
|---|
| Precio | Gratis | $449/año | Gratis | Gratis/Pago |
| Enfoque específico en API | ✅ Sí | ⚠️ Parcial | ⚠️ Parcial | ✅ Sí |
| Captura y normalización automática | ✅ Sí | ❌ No | ⚠️ Básico | ❌ No |
| Detección de BOLA/IDOR | ✅ Automatizada | ⚠️ Manual | ⚠️ Manual | ❌ No |
| Tipos de ataque | 15 tipos | 100+ (genéricos) | 50+ (genéricos) | Limitados |
| Payloads de API | 108+ enfocados en API | Web genérica | Web genérica | Básicos |
| Análisis JWT | ✅ Automático | ⚠️ Requiere extensión | ⚠️ Requiere extensión | ⚠️ Manual |
| Pruebas GraphQL | ✅ Integrada | ❌ No | ⚠️ Limitada | ⚠️ Manual |
| Pruebas de condición de carrera | ✅ Turbo Intruder | ✅ Turbo Intruder | ❌ No | ❌ No |
| Integración de IA | ✅ Exportación de paquete IA + payloads LLM | ❌ No | ❌ No | ❌ No |
| Escáner de versiones | ✅ Integrado | ❌ No | ❌ No | ❌ No |
| Minería de parámetros | ✅ Integrada | ⚠️ Requiere extensión | ❌ No | ❌ No |
| Descubrimiento Wayback | ✅ Integrado | ❌ No | ❌ No | ❌ No |
| Integración de herramientas externas | ✅ ApiHunter, Nuclei, SQLMap, Dalfox, HTTPX, Katana, FFUF, Subfinder, DNSX | ❌ No | ⚠️ Limitada | ⚠️ Limitada |
| Técnicas de evasión WAF | ✅ 20+ métodos | ⚠️ Algunas | ⚠️ Algunas | ❌ No |
| Formatos de exportación | JSON, Intruder, Turbo, Nuclei, cURL | XML, HTML | XML, HTML, JSON | JSON, cURL |
| Soporte de Burp Community | ✅ Sí | ❌ Solo Pro | N/A | N/A |
| Curva de aprendizaje | Baja | Media | Media | Baja |
| Mejor para | Pentesting de API, bug bounty | Pruebas completas de aplicaciones web | Automatización DAST | Desarrollo de API |
Reglas de Etiquetas...Guardar RegexMostrar detalle del endpoint, Enviar seleccionado a Repeater, Copiar filas seleccionadas, y selección masiva.auth -> object access -> state changeabuse_chain_*, proof_mode_packet_sets, spec_guardrails_* y role_delta_*Auth OnlyAuth + Unauthauth-associatedunauth-associatedauth_detectedUnauth Only, Auth Only, Auth + Unauth (predeterminado). En modo de doble paso, las URLs base deduplicadas se dividen en listas de destino auth-associated y unauth-associated; cada paso se ejecuta en su propia lista. La asociación de autenticación utiliza tanto encabezados de autenticación de solicitud como señales de autenticación no pertenecientes a encabezados (auth_detected, marcadores de token/cookie/sesión en metadatos de solicitud).Critical / High / Medium para control de ruido en resumen de triajeCustom Targets... en lugar del ámbito filtrado de Recon20 entradas, una por línea) con sanitización estricta y normalización de URL base canónica (scheme://host[:port]/), incluyendo deduplicación y rechazo de líneas inválidasUse Custom Targets está habilitado, las ejecuciones fallan rápidamente si el contenido del popup está vacío, excede el límite o contiene líneas de URL inválidasscheme://host[:port]/) para ApiHunterQuick: --no-discovery, --max-endpoints 40, --concurrency 4, --timeout-secs 12, --retries 1, --delay-ms 0, y desactiva escáneres pesados (mass-assignment, oauth-oidc, rate-limit, cve-templates, websocket)Balanced: --no-discovery, --max-endpoints 80, --concurrency 5, --timeout-secs 15, --retries 1, --delay-ms 50Deep: --active-checks --response-diff-deep --no-discovery, --max-endpoints 0, --concurrency 6, --timeout-secs 20, --retries 2, --delay-ms 100, --waf-evasion, --per-host-clients, --adaptive-concurrency{apihunter_path}, {targets_file}, {results_file})Auth + Unauth está bloqueado; use Auth Only o Unauth Only, o deshabilite el modo personalizado para ejecución automática de doble paso.Critical / High / Medium), mientras que las estadísticas de salida del escáner permanecen completas.CookieFast, Balanced, Deep preajustes de escaneo de descubrimiento de APIAuth + Unauth está bloqueado; use Auth Only o Unauth Only, o deshabilite el modo personalizado para ejecución automática de doble paso.nuclei/httpx/katana/ffuf/kiterunner/waybackurls/gau/sqlmap/dalfox/subfinder/dnsxtaskkill en Windows y pkill (con respaldo killall) en Linux/macOSFilter Noise de Recon seleccionado al inicio comprime su conjunto de destinos predeterminadoPath Traversal
SSRF (Server-Side Request Forgery)
XXE (XML External Entity)
Deserialization