Aller au contenu

Pont Burp Suite

PDX se connecte à Burp Suite via une extension Java et un proxy Python. Cela permet aux deltas HTTP capturés pendant les pentests web de transiter par le même pipeline dual-use que les sessions SSH de HYDRA.

Pourquoi l'intégration Burp

HYDRA capture des données passives — les attaquants viennent à vous. Mais la recherche en sécurité nécessite aussi des données actives — vous allez vers la cible. Le pont Burp comble cette lacune.

Les deux sources produisent le même format delta .pdx, passent par le même DataRouter et alimentent les mêmes générateurs d'entraînement.

Architecture

graph LR
    B[Burp Suite] --> E[Extension Java]
    E --> P[Proxy Python]
    P --> R[PDX DataRouter]
    R --> D[Flux défensif]
    R --> O[Flux offensif]

Extension Java (burp_extension/pdx_burp.py + burp_java/)

L'extension s'accroche au handler HTTP de Burp et extrait : méthode, URL, headers, body de la requête et réponse, timing et points d'injection.

Proxy Python (burp_bridge.py)

Le pont reçoit les données et :

  1. Convertit les paires requête/réponse HTTP en deltas .pdx
  2. Classifie chaque delta par type (INJECTION, AUTH_BYPASS, MISCONFIG, INFO_LEAK, etc.)
  3. Génère un vecteur delta 16D pour chaque observation
  4. Transmet tout au DataRouter

Types de delta Burp

Type delta Déclencheur HTTP Exemple
INJECTION SQLi, XSS, SSTI POST /login avec ' OR 1=1--
AUTH_BYPASS IDOR, contrôle d'accès cassé GET /api/users/2 sans auth
MISCONFIG CORS *, headers manquants Access-Control-Allow-Origin: *
INFO_LEAK Stack traces, headers de version Server: Apache/2.4.49
FILE_UPLOAD Upload sans restriction PUT /upload acceptant .php
CRYPTO_WEAK TLS faible, crypto cassée TLS 1.0, certificats expirés
SSRF Server-side request forgery /api/fetch?url=http://169.254.169.254/

Utilisation

# 1. Démarrer le proxy Python
python burp_bridge.py --port 8089

# 2. Dans Burp Suite, charger l'extension Java
#    Extender → Add → Python → sélectionner burp_extension/pdx_burp.py

# 3. Configurer l'extension vers le proxy
#    Extension tab → PDX Bridge → Host: localhost, Port: 8089

# 4. Scanner/naviguer normalement dans Burp
#    Chaque finding est automatiquement converti en format .pdx

# 5. Exécuter le DataRouter
python -m pdx.training.data_router split
python -m pdx.training.data_router generate --all

Spécifications de scan

PDX embarque 15 fichiers YAML de spécifications : injection.yaml, auth.yaml, cors.yaml, cookies.yaml, headers.yaml, tls.yaml, infrastructure.yaml, js_client.yaml, api.yaml, et plus. Chaque spec définit le comportement attendu vs observé, et le routeur score le delta.