Automatización de Burp Suite con Faraday

5 de octubre de 2022

Introducción

Ampliar las pruebas de seguridad es difícil si se realizan auditorías manuales y puede crear cuellos de botella en el ciclo de vida del desarrollo. En Faraday, siempre estamos pensando en cómo reutilizar y automatizar los flujos de trabajo clásicos; por ejemplo, en la seguridad de las aplicaciones, herramientas como Burp Suite Pro proporcionan un excelente escáner para una línea de base de seguridad. 

El escaneado continuo permite a los equipos centrarse en la gestión de los nuevos resultados y ahorrar tiempo en la clasificación de aquellos. Además, la idea de descubrir vulnerabilidades durante el ciclo de vida de desarrollo permite a los ingenieros de software detectar fallos comunes y evita que los frutos maduros se trasladen a los entornos de producción.

En este artículo, haremos un recorrido por la automatización de Burp Suite con Faraday Agents, permitiéndole programar escaneos y proporcionar configuraciones de escaneo curadas a otros miembros del equipo. Al hacer esto, más tarde puede crear problemas e informes de GitLab o construir métricas en torno a la postura de seguridad de sus aplicaciones.

Agentes

La orquestación es una forma excelente de que los equipos compartan herramientas y concentren la información en un solo lugar. Faraday proporciona una forma más sencilla de integrar y orquestar algunas herramientas de seguridad populares.

Arquitectura de agentes

charm1Un agente puede gestionar varias herramientas, para cada integración de herramientas utilizamos un “Ejecutor”. Faraday proporciona una serie de Ejecutores oficiales para hacerle la vida más fácil. 

Y todas estas características son de código abierto, ¡si quieres puedes crear tus propios ejecutores!

- Lista de albaceas testamentarios

- Documentación para agentes

Requisitos

Para este laboratorio, necesitaremos:

- Una licencia de Burp Suite Professional.

- Faraday-CLI

- Despachador Faraday

Dado que vamos a configurar un agente para Faraday, es debe en la misma máquina virtual en la que tenemos instalado Burp Suite.

Configuración de Burp Suite

Burp Suite proporciona una práctica API para ayudar a automatizar el escáner.

En primer lugar, debemos crear nuestro token Rest API. Esta configuración se puede encontrar en:

- Opciones de usuario > Misc > API de reposoapi1

Generación de una clave API

Para crearla, basta con pulsar el botón Nuevo y aparecerá una nueva ventana emergente:

api2Tenga cuidado de copiar la clave en el portapapeles, ya que sólo será accesible durante este tiempo. En nuestro caso, la clave suministrada fue:

- G7PQOdeSDXn526Eqc8esV9tDCKZvenkv

Ahora que está todo listo podremos acceder a la API a través de nuestro navegador en:

- http://127.0.0.1:1337/<API-KEY>

api3

Creación de agentes Faraday

Nosotros nos encargamos de la parte complicada. El proceso de integración es una herramienta sencilla:

1. Crear nuestro agente de Faraday UI, tenemos que establecer un nombre para este agente.api4

2. Seleccione la herramienta deseada, en este caso configuraremos Burp Suite.api5

3. Cada integración de herramientas requiere una configuración específica, que puede variar en función de la configuración de su entorno. Para Burp los requisitos por defecto son:

- BURP_HOST  

    • Esta es la IP donde Burp expone actualmente su API
    • BURP_API_KEY
      • Esta es la clave que generamos en este paso “Generar una clave API
      • BURP_API_PULL_INTERVAL
        • ‘100’

api7

4. Este proceso crea un archivo de configuración, con toda la información necesaria para conectar burp suite, descargar el “dispatcher.yml”charm2

Conexión del agente 

Los agentes proporcionan dos opciones para integrar herramientas, un docker autónomo con una serie de herramientas de código abierto y un ayudante Python.

Dado que Burp Suite Pro no puede incrustarse en nuestro Docker utilizaremos la alternativa Python

En primer lugar, tendremos que instalar faraday-dispatcher:

➜ pip3 install faraday_agent_dispatcher
➜ .faraday faraday-dispatcher run --token=758481

2022-07-25 15:45:14,812 - faraday_agent_dispatcher - INFO {MainThread} [dispatcher_agent_dispatcher:153 - register() [dispatcher.py:153 - register()] token_registration_url: https://myserver.com:443/_api/v3/agent_registration

2022-07-25 15:45:15,194 - faraday_agent_dispatcher - INFO {MainThread} [dispatcher_agent_dispatcher:192 - register() [dispatcher.py:192 - register()] Registrado con éxito

2022-07-25 15:45:15,917 - faraday_agent_dispatcher - INFO {MainThread} [dispatcher.py:235 - connect() [dispatcher.py:235 - connect()] Conexión con el servidor Faraday realizada con éxito

Si todo va bien, debemos ver el en línea en nuestra interfaz de usuario.

Ejecutar una exploración desde la interfaz de usuario

Está todo listo, sólo tenemos que lanzar la exploración, charm3

La “Configuración con nombre” por defecto en los agentes de Faraday ejecutará un “arrastrarse & auditoría” escanear. Burp Suite ofrece varios perfiles de escaneado integrados.charm4La personalización de los diferentes perfiles de escaneo y lo que funciona en su extremo puede ser revisado aquí:

Configuraciones integradas del escáner de eructos

Nuestros registros verifican que un nuevo escanear fue creado:


➜ .faraday faraday-dispatcher run

2022-07-25 15:50:53,807 - faraday_agent_dispatcher - INFO {MainThread} [dispatcher_agent_dispatcher:256 - run_once() [dispatcher.py:256 - run_once()] Analizando datos: {"execution_id": 5, "agent_id": 4, "workspace": "burpsuite", "action": "RUN", "executor": "burpsuite", "args": {"TARGET_URL": "http://testphp.vulnweb.com/"}}

2022-07-25 15:50:53,812 - faraday_agent_dispatcher - INFO {MainThread} [metadata_utils py:59 - check_commands()] Comprobación de dependencia finalizada. [metadata_utils.py:59 - check_commands()] Comprobación de dependencia finalizada. Listo

2022-07-25 15:50:53,813 - faraday_agent_dispatcher - INFO {MainThread} [dispatcher.py:415 - run_once()] Ejecutando el ejecutor burpsuite. [dispatcher.py:415 - run_once()] Ejecutando burpsuite executor

Y también Burpsuite 🙂 .charm5

Ejecución de escaneos desde la CLI

Una vez que todo está configurado también puede ejecutar cualquier agente directamente desde su CLI, esto es bastante útil ya que le permite la posibilidad de automatizar sus pruebas utilizando scripts personalizados y aprovechando las características de faraday. 

También si usted está buscando para integrar Burp en su CI / CD Pipeline esta es una gran manera de hacer esto y recoger cualquier artefacto producido durante las pruebas.

Si es la primera vez que utiliza faraday-cli, debe autenticarse en el servidor que tiene el agente en ejecución:

 ~ faraday-cli auth

Url de Faraday [https://faraday.mysite.xyz]:

Validar certificado SSL para [faraday.mysite.xyz] (Y, N) [Y]:

Usuario: myuser

Contraseña: ***************

2FA: ****

Guardar configuración

✔ Autentificado con faraday: https://faraday.mysite.xyz

Y luego, una lista de los agentes disponibles:

Faraday> lista de agentes

  ID NOMBRE ESTADO ACTIVO EJECUTORES

-- ---- --- --- -----

   1 demo_agent True online nmap, discovery

   4 DAST - BURP Verdadero eructo en línea

Faraday>

➜ ~ faraday-cli agent run -a 4 -e burpsuite -w burpsuite

TARGET_URL (cadena): http://testphp.vulnweb.com/artists.php?artist=2

NAMED_CONFIGURATION (cadena): Estrategia de rastreo - más rápida

Ejecutor en ejecución: burpsuite/burpsuite

Parámetros: {"TARGET_URL": "http://testphp.vulnweb.com/artists.php?artist=2", "NAMED_CONFIGURATION": "Crawl strategy - fastest"}

Comando generado: 680

Como nota al margen, los parámetros anteriores son:

-a, para nuestro ID de agente.

-e, el nombre del ejecutor

-w, el espacio de trabajo

Obtención de resultados

api14Nuestros registros verifican que un nuevo escanear fue creado:

➜ .faraday faraday-dispatcher run

2022-07-25 15:50:53,807 - faraday_agent_dispatcher - INFO {MainThread} [dispatcher_agent_dispatcher:256 - run_once() [dispatcher.py:256 - run_once()] Analizando datos: {"execution_id": 5, "agent_id": 4, "workspace": "burpsuite", "action": "RUN", "executor": "burpsuite", "args": {"TARGET_URL": "http://testphp.vulnweb.com/"}}

2022-07-25 15:50:53,812 - faraday_agent_dispatcher - INFO {MainThread} [metadata_utils py:59 - check_commands()] Comprobación de dependencia finalizada. [metadata_utils.py:59 - check_commands()] Comprobación de dependencia finalizada. Listo

2022-07-25 15:50:53,813 - faraday_agent_dispatcher - INFO {MainThread} [dispatcher.py:415 - run_once()] Ejecutando el ejecutor burpsuite. [dispatcher.py:415 - run_once()] Ejecutando burpsuite executor

Y también Burpsuite 🙂 .api15charm7charm6¿Listo para salir?

Si tiene alguna pregunta reserve una llamada con uno de nuestros expertosReferencias:

Faraday-cli

Documentos de Faraday

Agentes faraday

Seguir leyendo

Los últimos artículos del blog

Nuestro equipo de investigación de seguridad investiga activamente vulnerabilidades en tecnologías de uso generalizado, con especial atención a la infraestructura de redes y los sistemas integrados. A lo largo de 2024, nuestros investigadores informaron de múltiples problemas de seguridad que afectaban a

8 de enero de 2026

Cada año, la Ekoparty nos recuerda por qué amamos lo que hacemos.Nos preparamos con la misma energía de siempre: para reencontrarnos con la comunidad, compartir lo que investigamos, aprender de otros y..,

6 de enero de 2026

Gabriel Franco es nuestro Jefe de Servicios de Ciberseguridad y nos presenta esta nueva herramienta de código abierto, presentada en Black Hat Arsenal. Emploleaks permite recopilar información personal utilizando inteligencia de código abierto

28 de diciembre de 2025

Manténgase informado, suscríbase a nuestro boletín

Introduzca su correo electrónico y no se pierda nunca las alertas y consejos de seguridad de los expertos de Faraday.

Faraday ayuda a grandes empresas, MSSPs y equipos de seguridad de aplicaciones a aprovechar mejor su ecosistema de seguridad, optimizando lo que ya utilizan.

Sede central

Laboratorio de investigación y desarrollo

Soluciones

Código abierto

2025 Faraday Security. Todos los derechos reservados.
Términos y condiciones | Política de privacidad