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 :
- Convertit les paires requête/réponse HTTP en deltas
.pdx - Classifie chaque delta par type (INJECTION, AUTH_BYPASS, MISCONFIG, INFO_LEAK, etc.)
- Génère un vecteur delta 16D pour chaque observation
- 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.