Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
15 KiB
mitmproxy - Proxy d'Interception HTTPS
Proxy HTTPS interactif pour le debogage, les tests et l'analyse de securite avec support du mode transparent et inspection du trafic via interface web.
Fonctionnalites
| Fonctionnalite | Description |
|---|---|
| Inspection du Trafic | Voir et analyser les requetes HTTP/HTTPS en temps reel |
| Interface Web | Interface mitmweb integree avec token d'authentification automatique |
| Mode Transparent | Intercepter le trafic automatiquement via nftables |
| Detection de Menaces | Detecter les injections SQL, XSS, injections de commandes, Log4Shell |
| Integration HAProxy | Inspecter tous les backends vhost avec detection de menaces |
| Certificat CA | Generer et gerer les certificats d'interception SSL |
| Logging CrowdSec | Journaliser les menaces vers CrowdSec pour blocage automatique |
| Filtrage | Filtrer et suivre CDN, media, publicites et trackers |
| Liste Blanche | Contourner l'interception pour des IPs/domaines specifiques |
Demarrage Rapide
Modes Proxy
| Mode | Description | Cas d'Utilisation |
|---|---|---|
| Regular | Configurer les clients manuellement | Tester des apps specifiques |
| Transparent | Interception auto via pare-feu | Inspection reseau globale |
| Upstream | Transmettre a un autre proxy | Chainage de proxies |
| Reverse | Mode reverse proxy | Analyse de backends |
Activer le Mode Transparent
- Aller dans Securite -> mitmproxy -> Parametres
- Definir Mode Proxy sur
Transparent - Activer Pare-feu Transparent
- Cliquer Sauvegarder & Appliquer
Installer le Certificat CA
Pour l'interception HTTPS, installer le CA mitmproxy sur les peripheriques clients :
- Configurer le peripherique pour utiliser le proxy (ou utiliser le mode transparent)
- Naviguer vers
http://mitm.itdepuis le peripherique - Telecharger et installer le certificat pour votre OS
- Faire confiance au certificat dans les parametres systeme
Tableau de Bord
+--------------------------------------------------------------+
| mitmproxy En cours |
+--------------------------------------------------------------+
| |
| +------------+ +------------+ +------------+ +--------+ |
| | 12.5K | | 245 | | 45 Mo | | 8080 | |
| | Requetes | | Hotes | | Flux | | Port | |
| +------------+ +------------+ +------------+ +--------+ |
| |
| Top Hotes Certificat CA |
| +------------------------------+ +-------------------------+|
| | api.example.com 1,234 | | mitmproxy CA ||
| | cdn.cloudflare.com 890 | | Certificat installe ||
| | www.google.com 567 | | Expire: 2026-01-28 ||
| | analytics.google.com 432 | | [Telecharger] ||
| +------------------------------+ +-------------------------+|
| |
+--------------------------------------------------------------+
Capture de Requetes
Visualiseur de Requetes en Direct
L'onglet Requetes affiche le trafic HTTP capture en temps reel :
+--------------------------------------------------------------+
| Requetes Capturees Pause |
+--------------------------------------------------------------+
| |
| [GET] api.example.com/users 200 application/json |
| [POST] auth.example.com/login 201 application/json |
| [GET] cdn.cloudflare.com/script.js 200 text/javascript |
| [GET] www.google.com/search 200 text/html |
| [PUT] api.example.com/user/123 204 - |
| |
+--------------------------------------------------------------+
Voir les Details d'une Requete
Cliquer sur n'importe quelle requete pour voir :
- En-tetes de requete complets
- En-tetes de reponse
- Cookies
- Corps de requete/reponse (si capture)
Mode Transparent
Architecture
Peripherique Client Routeur SecuBox
+----------------+ +------------------------+
| | | |
| Navigateur |<-- HTTP/S -->| nftables REDIRECT |
| | | | |
+----------------+ | v |
| +------------------+ |
| | mitmproxy | |
| | (port 8080) | |
| +--------+---------+ |
| | |
| v |
| Internet |
+------------------------+
Configuration Pare-feu
Quand le mode transparent est active, mitmproxy cree automatiquement les regles nftables :
# Redirection HTTP (port 80 -> 8080)
nft add rule inet fw4 prerouting tcp dport 80 redirect to :8080
# Redirection HTTPS (port 443 -> 8080)
nft add rule inet fw4 prerouting tcp dport 443 redirect to :8080
Inspection Backend HAProxy
Router tout le trafic vhost HAProxy via mitmproxy pour la detection de menaces.
Architecture
Internet -> HAProxy (terminaison SSL) -> mitmproxy :8890 -> Backends Reels
|
Detection Menaces
|
Logging CrowdSec
Activer l'Inspection HAProxy
# Via CLI
mitmproxyctl haproxy-enable
# Ce que ca fait :
# 1. Synchronise les backends HAProxy vers les routes mitmproxy
# 2. Met a jour tous les vhosts pour router via mitmproxy
# 3. Redemarre les deux services
Desactiver l'Inspection HAProxy
# Restaurer les backends originaux
mitmproxyctl haproxy-disable
Synchronisation Manuelle des Routes
# Synchroniser les routes depuis HAProxy UCI sans activer l'inspection
mitmproxyctl sync-routes
Commandes HAProxy Inspector
| Commande | Description |
|---|---|
mitmproxyctl haproxy-enable |
Activer l'inspection des backends |
mitmproxyctl haproxy-disable |
Restaurer les backends originaux |
mitmproxyctl sync-routes |
Synchroniser les routes depuis HAProxy UCI |
Detection de Menaces
L'addon analytics detecte plus de 90 patterns d'attaque incluant :
| Categorie | Exemples |
|---|---|
| Injection SQL | UNION SELECT, OR 1=1, time-based blind |
| XSS | balises script, gestionnaires d'evenements, javascript: |
| Injection de Commandes | commandes shell, injection pipe |
| Traversee de Chemin | ../../../etc/passwd |
| SSRF | acces IP interne, endpoints metadata |
| Log4Shell | ${jndi:ldap://...} |
| Scanners Admin | /wp-admin, /phpmyadmin, /.env |
Voir les Menaces
Les menaces sont affichees dans le tableau de bord LuCI avec :
- Niveau de severite (critique/haute/moyenne/basse)
- Type de pattern d'attaque
- IP source et pays
- Chemin de requete et methode
Integration CrowdSec
Les menaces detectees sont journalisees dans /var/log/crowdsec/mitmproxy-threats.log pour :
- Blocage automatique des IP via le bouncer CrowdSec
- Partage de renseignements sur les menaces
- Analytique de securite
Configuration
Parametres UCI
# /etc/config/mitmproxy
config mitmproxy 'main'
option enabled '1'
option mode 'transparent' # regular | transparent | upstream | reverse
option proxy_port '8080'
option web_host '0.0.0.0'
option web_port '8081'
option data_path '/srv/mitmproxy'
option memory_limit '256M'
option ssl_insecure '0' # Accepter les certs upstream invalides
option anticache '0' # Supprimer les en-tetes cache
option anticomp '0' # Desactiver la compression
option flow_detail '1' # Niveau de detail des logs (0-4)
config transparent 'transparent'
option enabled '1'
option interface 'br-lan'
option redirect_http '1'
option redirect_https '1'
option http_port '80'
option https_port '443'
config whitelist 'whitelist'
option enabled '1'
list bypass_ip '192.168.255.0/24'
list bypass_domain 'banking.com'
config filtering 'filtering'
option enabled '1'
option log_requests '1'
option filter_cdn '0'
option filter_media '0'
option block_ads '0'
option addon_script '/data/addons/secubox_analytics.py'
config haproxy_router 'haproxy_router'
option enabled '0'
option listen_port '8889'
option threat_detection '1'
option routes_file '/srv/mitmproxy/haproxy-routes.json'
config capture 'capture'
option save_flows '0'
option capture_request_headers '1'
option capture_response_headers '1'
option capture_request_body '0'
option capture_response_body '0'
API RPCD
Controle du Service
| Methode | Description |
|---|---|
status |
Obtenir le statut du service (inclut le token auth) |
start |
Demarrer mitmproxy |
stop |
Arreter mitmproxy |
restart |
Redemarrer le service |
install |
Installer le conteneur mitmproxy |
Configuration
| Methode | Description |
|---|---|
settings |
Obtenir tous les parametres |
save_settings |
Sauvegarder la configuration |
set_mode |
Definir le mode proxy |
Detection de Menaces
| Methode | Description |
|---|---|
alerts |
Obtenir les menaces detectees |
threat_stats |
Obtenir les statistiques de menaces |
clear_alerts |
Effacer toutes les alertes |
Integration HAProxy
| Methode | Description |
|---|---|
haproxy_enable |
Activer l'inspection des backends |
haproxy_disable |
Restaurer les backends originaux |
sync_routes |
Synchroniser les routes depuis HAProxy |
Pare-feu
| Methode | Description |
|---|---|
setup_firewall |
Configurer les regles du mode transparent |
clear_firewall |
Supprimer les regles pare-feu |
Exemple d'Utilisation
# Obtenir le statut (inclut le token auth pour l'interface Web)
ubus call luci.mitmproxy status
# Reponse :
{
"enabled": true,
"running": true,
"installed": true,
"web_port": 8081,
"proxy_port": 8888,
"mode": "regular",
"token": "abc123xyz...",
"haproxy_router_enabled": false,
"haproxy_listen_port": 8889
}
# Obtenir les menaces detectees
ubus call luci.mitmproxy alerts
# Reponse :
{
"success": true,
"alerts": [
{
"time": "2026-01-31T12:00:00",
"severity": "high",
"pattern": "sql_injection",
"method": "GET",
"path": "/api?id=1' OR 1=1--",
"ip": "192.168.1.100"
}
]
}
# Activer l'inspection backend HAProxy
ubus call luci.mitmproxy haproxy_enable
# Reponse :
{
"success": true,
"message": "Inspection backend HAProxy activee"
}
Acces Interface Web
L'interface mitmweb necessite une authentification via token.
Auto-Auth via LuCI
Le tableau de bord LuCI affiche le lien Web UI avec le token inclus :
http://192.168.255.1:8081/?token=abc123xyz
Acces Manuel au Token
# Le token est stocke dans le repertoire de donnees
cat /srv/mitmproxy/.mitmproxy_token
# Ou via RPCD
ubus call luci.mitmproxy status | jsonfilter -e '@.token'
Certificat CA
Generer un Nouveau Certificat
# Le certificat est auto-genere au premier demarrage
# Situe dans : /srv/mitmproxy/mitmproxy-ca-cert.pem
Telecharger le Certificat
- Acceder a l'interface mitmweb (utiliser le token du tableau de bord LuCI)
- Ou naviguer vers
http://mitm.itdepuis un peripherique proxifie - Telecharger le certificat pour votre plateforme
Emplacements des Certificats
| Chemin | Description |
|---|---|
/srv/mitmproxy/certs/mitmproxy-ca.pem |
Cle privee CA + certificat |
/srv/mitmproxy/certs/mitmproxy-ca-cert.pem |
Certificat CA uniquement |
/srv/mitmproxy/certs/mitmproxy-ca-cert.cer |
Certificat (format DER) |
Filtrage & Analytique
Suivi CDN
Suivre le trafic vers les principaux fournisseurs CDN :
- Cloudflare
- Akamai
- Fastly
- AWS CloudFront
- Google Cloud CDN
Suivi Streaming Media
Suivre les services de streaming :
- YouTube
- Netflix
- Spotify
- Twitch
- Amazon Prime Video
Blocage de Publicites
Bloquer les domaines de publicite et de tracking connus avec l'addon de filtrage integre.
Emplacements des Fichiers
| Chemin | Description |
|---|---|
/etc/config/mitmproxy |
Configuration UCI |
/srv/mitmproxy/ |
Repertoire de donnees |
/srv/mitmproxy/certs/ |
Certificats CA |
/srv/mitmproxy/flows/ |
Fichiers de flux captures |
/var/lib/lxc/mitmproxy/ |
Racine conteneur LXC |
/usr/libexec/rpcd/luci.mitmproxy |
Backend RPCD |
Depannage
Le Service Ne Demarre Pas
# Verifier le statut du conteneur
lxc-info -n mitmproxy
# Verifier les logs
logread | grep mitmproxy
# Verifier si Docker est disponible
docker ps
Pas de Trafic Capture
- Mode regular : Verifier que les parametres proxy du client pointent vers
192.168.255.1:8080 - Mode transparent : Verifier les regles pare-feu avec
nft list ruleset | grep redirect - Verifier que mitmproxy ecoute :
netstat -tln | grep 8080
L'Interception HTTPS Ne Fonctionne Pas
- Installer le certificat CA sur le peripherique client
- Faire confiance au certificat dans les parametres systeme
- Certaines apps utilisent le certificate pinning et ne peuvent pas etre interceptees
Interface Web Inaccessible
# Verifier que le port web ecoute
netstat -tln | grep 8081
# Verifier depuis le routeur
curl -I http://127.0.0.1:8081
# Verifier que le pare-feu autorise l'acces
uci show firewall | grep mitmproxy
Problemes de Memoire
# Augmenter la limite memoire
uci set mitmproxy.main.memory_limit='512M'
uci commit mitmproxy
/etc/init.d/mitmproxy restart
Notes de Securite
- Outil Sensible - mitmproxy peut intercepter tout le trafic reseau incluant les mots de passe. Utiliser de maniere responsable.
- Certificat CA - Proteger la cle privee CA. Toute personne y ayant acces peut intercepter le trafic.
- Liste Blanche Banques - Ajouter les sites bancaires et financiers a la liste de contournement.
- Desactiver Quand Non Utilise - Desactiver le mode transparent quand vous ne debuguez pas activement.
- Piste d'Audit - Toutes les requetes capturees peuvent contenir des donnees sensibles.
Licence
MIT License - Copyright (C) 2025-2026 CyberMind.fr