Comprendre les pare-feu IP et leurs limites
Les pare-feu IP, véritables sentinelles de la sécurité réseau, autorisent ou refusent le trafic en fonction de l'adresse IP source ou de destination. Pourtant, leur intransigeance n'est pas sans faille. Un pare-feu configuré pour n'autoriser que les requêtes provenant de plages d'adresses IP autorisées peut être contourné si une requête semble provenir de cette enclave de confiance. C'est l'essence même de l'« astuce du proxy » : une méthode à la fois élégante et subversive, rappelant les magistrales intrigues de Dumas.
L'astuce du proxy : contourner les pare-feu IP avec des relais internes
Fondamentalement, l'astuce du proxy utilise une machine intermédiaire, généralement située dans la zone de confiance du pare-feu, pour relayer le trafic. En orchestrant soigneusement les requêtes via ce proxy, un acteur externe peut se faire passer pour un initié, contournant ainsi la façade rigide du pare-feu.
Types de proxys utilisés
Type de proxy | Description | Cas d'utilisation typique | Complexité | Caractère furtif |
---|---|---|---|---|
Tunnel SSH | Transfère en toute sécurité les ports locaux via SSH | Accès administratif, tests | Faible | Haut |
CONNEXION HTTP | Utilise la méthode HTTP CONNECT pour tunneliser le trafic TCP arbitraire | Accès Web et API | Moyen | Moyen |
Proxy SOCKS | Relais générique pour les connexions TCP, souvent via SSH ou un serveur proxy dédié | Navigation Web, exfiltration de données | Faible | Haut |
Proxy inverse | Transfère le trafic des clients externes vers les services internes | Accès aux serveurs Web internes | Haut | Moyen |
Étape par étape : Implémentation de l'astuce proxy avec tunneling SSH
Supposons que vous disposez d'informations d'identification pour une jump box dans le pare-feu.
- Établir un tunnel SSH
frapper
ssh -L 8080:internal.service.local:80 [email protected]
Cette commande lie le port 8080 de votre machine locale au port 80 de service.interne.local
, relayé via jumpbox.corp.com
.
- Accéder au service interne
Dans votre navigateur ou avec curl :
frapper
boucle http://localhost:8080/
La demande semble provenir de jumpbox.corp.com
, auquel le pare-feu fait confiance.
Ressource: Tutoriel sur la redirection de port SSH
Création de proxys HTTP CONNECT avec socat
et ncat
Si le pare-feu autorise les connexions HTTP/HTTPS sortantes, la méthode HTTP CONNECT est un outil précieux. Il est possible de déployer un proxy léger sur un hôte de confiance :
- Déployer un proxy avec Socat
Sur l'hôte interne :
frapper
socat TCP-LISTEN:3128,reuseaddr,fork TCP:target.internal:80
- Configurez votre client
Dirigez votre navigateur ou votre outil pour utiliser l'hôte interne comme proxy HTTP (port 3128).
Référence: Documentation Socat
Proxies SOCKS : la fonctionnalité la plus subtile de SSH
La redirection dynamique de SSH peut transformer votre session en un proxy SOCKS :
ssh -D 1080 [email protected]
Configurez votre application pour acheminer le trafic via localhost:1080
Le trafic, après avoir été chiffré et acheminé via le boîtier de jonction, émerge dans le sanctuaire du réseau interne.
Ressource: Guide du proxy OpenSSH SOCKS
Proxies inverses : le pare-feu à l'envers
Pour des besoins plus persistants ou complexes, un proxy inverse tel que ngrok ou PRF Peut être installé sur un hôte interne de confiance. Le proxy inverse établit un tunnel sortant vers un serveur externe, puis relaie les connexions entrantes vers le réseau interne ; la directionnalité du pare-feu est ainsi altérée.
Exemple de configuration FRP (sur un hôte interne)
[commun] server_addr = external.server.com server_port = 7000 [web] type = http local_port = 80 custom_domains = myinternal.example.com
Comparaison : approches proxy pour contourner les pare-feu
Méthode | Configuration requise sur l'hôte interne | Contrôle externe | Cryptage | Évasion d'audit | Convient pour |
---|---|---|---|---|---|
Tunnel SSH | Serveur SSH | Oui | Oui | Modéré | Accès manuel occasionnel |
CONNEXION HTTP | Proxy HTTP (par exemple, socat) | Oui | Non | Faible | Trafic Web/API |
Proxy SOCKS | Serveur SSH | Oui | Oui | Haut | Web, outils CLI, automatisation |
Proxy inverse | Logiciel personnalisé (ngrok, frp) | Oui | Varie | Faible | Accès Web persistant |
Contre-mesures pratiques
- Segmentation du réseau : Limitez l'accès des hôtes proxy internes dans la mesure du possible.
- Filtrage de sortie : Désactiver ou limiter les connexions sortantes des hôtes internes.
- Détection de proxy : Surveiller les processus proxy anormaux (par exemple,
socat
,ncat
, SSH avec les indicateurs -L/-D). - Modèles Zero Trust : Dépassez la confiance basée sur la propriété intellectuelle ; employez TLS mutuel, des proxys inverses authentifiés ou des contrôles d'accès par utilisateur.
Lectures complémentaires
- L'art du pivot : post-exploitation avec des proxys
- Explication du tunneling SSH
- Modèles de proxy inverse et sécurité
- FRP – Proxy inverse rapide
Exemple : flux de travail d'exploitation complet
Supposons qu'une application web ne soit accessible qu'à partir d'une plage d'adresses IP interne. La séquence suivante illustre une exploitation typique :
- Compromettre un hôte à l'intérieur du pare-feu (jump box).
- Établir un proxy SSH SOCKS :
frapper
ssh -D 1080 [email protected]
- Acheminez le trafic du navigateur ou de l'outil via le proxy.
- Accédez à l'application Web interne via le proxy local SOCKS.
- Facultatif : déployez un proxy inverse (frp, ngrok) pour un accès persistant.
Tableau récapitulatif : étapes et outils pratiques
Étape | Exemple d'outil/commande | But |
---|---|---|
Redirection de port locale (SSH) | ssh -L 8080:cible:80 utilisateur@jumpbox |
Accéder à un service interne unique |
Proxy dynamique SOCKS (SSH) | ssh -D 1080 utilisateur@jumpbox |
Trafic arbitraire par proxy |
Proxy HTTP CONNECT (socat/ncat) | socat TCP-LISTEN:3128,fork TCP:cible:80 |
Proxy Web/API |
Proxy inverse (frp) | Voir la configuration frp ci-dessus | Accès persistant, de l'externe vers l'interne |
Dans le domaine de la sécurité des réseaux, l'astuce du proxy témoigne de l'ingéniosité de ceux qui, tel le Comte de Monte-Cristo, cherchent un passage là où il n'est pas possible de s'y introduire. La leçon pour les défenseurs : ne faites pas confiance à l'adresse IP, car ce n'est qu'un masque qui peut être utilisé aussi bien par un ami que par un ennemi.
Commentaires (0)
Il n'y a pas encore de commentaires ici, vous pouvez être le premier !