Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
smtp-tunnel-proxy — Un tunnel clandestin à haute vitesse qui déguise le trafic TCP en communication email SMTP pour contourner les pare-feux d'inspection profonde des paquets (DPI). | Kitploit
Outils/GitHubGitHub/x011/smtp-tunnel-proxy
Outils de Chiffrement/DéchiffrementÉvasion IDS/IPSSécurité RéseauAuthentificationRed Teaming
GitHubx011/smtp-tunnel-proxy

smtp-tunnel-proxy

Un tunnel clandestin à haute vitesse qui déguise le trafic TCP en communication email SMTP pour contourner les pare-feux d'inspection profonde des paquets (DPI).

Voir le dépôt
1.8k164il y a 7 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

📧 Proxy Tunnel SMTP

Un tunnel furtif haute vitesse qui déguise le trafic TCP en communication email SMTP pour contourner les pare-feux d'inspection approfondie des paquets (DPI).

root@kitploit:~
┌─────────────┐      ┌─────────────┐      ┌─────────────┐      ┌──────────────┐
│ Application │─────▶│   Client    │─────▶│   Server    │─────▶│  Internet    │
│  (Browser)  │ TCP  │ SOCKS5:1080 │ SMTP │  Port 587   │ TCP  │              │
│             │◀─────│             │◀─────│             │◀─────│              │
└─────────────┘      └─────────────┘      └─────────────┘      └──────────────┘
                            │                    │
                            │   Looks like       │
                            │   Email Traffic    │
                            ▼                    ▼
                     ┌────────────────────────────────┐
                     │     DPI Firewall               │
                     │  ✅ Sees: Normal SMTP Session  │
                     │  ❌ Cannot see: Tunnel Data    │
                     └────────────────────────────────┘

🎯 Fonctionnalités

📚 Pour des détails techniques approfondis, les spécifications du protocole et l'analyse de sécurité, voir TECHNICAL.md.


⚡ Démarrage rapide

📋 Prérequis

  • Serveur : VPS Linux avec Python 3.8+, port 587 ouvert
  • Client : Windows/macOS/Linux avec Python 3.8+
  • Nom de domaine : Nécessaire pour la vérification du certificat TLS (options gratuites : DuckDNS, No-IP, FreeDNS)

🚀 Configuration du serveur (VPS)

Étape 1️⃣ : Obtenir un nom de domaine

Obtenez un domaine gratuit pointant vers votre VPS :

  • 🦆 DuckDNS - Recommandé, simple et gratuit
  • 🌐 No-IP - Offre gratuite disponible
  • 🆓 FreeDNS - De nombreuses options de domaine

Exemple : myserver.duckdns.org → 203.0.113.50 (l'IP de votre VPS)

Étape 2️⃣ : Exécuter l'installateur

root@kitploit:~
curl -sSL https://raw.githubusercontent.com/x011/smtp-tunnel-proxy/main/install.sh | sudo bash

L'installateur va :

  1. 📥 Télécharger et installer tout
  2. ❓ Demander votre nom de domaine
  3. 🔐 Générer automatiquement les certificats TLS
  4. 👤 Proposer de créer votre premier utilisateur
  5. 🔥 Configurer le pare-feu
  6. 🚀 Démarrer le service

Et voilà ! Votre serveur est prêt.

➕ Ajouter d'autres utilisateurs plus tard

root@kitploit:~
smtp-tunnel-adduser bob      # Ajouter un utilisateur + générer un ZIP client
smtp-tunnel-listusers        # Lister tous les utilisateurs
smtp-tunnel-deluser bob      # Supprimer un utilisateur

🔄 Mettre à jour le serveur

root@kitploit:~
smtp-tunnel-update           # Met à jour le code, préserve la configuration/certificats/utilisateurs

💻 Configuration du client

Option A : Méthode facile (recommandée)

  1. Obtenez votre fichier username.zip auprès de l'administrateur du serveur
  2. Extrayez le fichier ZIP
  3. Exécutez le lanceur :
PlateformeComment exécuter
🪟 WindowsDouble-cliquez sur start.bat

Le lanceur installera automatiquement les dépendances et démarrera le client.

✅ Vous devriez voir :

root@kitploit:~
SMTP Tunnel Proxy Client
User: alice

[INFO] Starting SMTP Tunnel...
[INFO] SOCKS5 proxy will be available at 127.0.0.1:1080

Connecting to myserver.duckdns.org:587
Connected - binary mode active
SOCKS5 proxy on 127.0.0.1:1080

Option B : Méthode manuelle

root@kitploit:~
cd alice
pip install -r requirements.txt
python client.py

Option C : Configuration personnalisée

root@kitploit:~
# Download files
scp [email protected]:/etc/smtp-tunnel/ca.crt .

# Create config.yaml:
cat > config.yaml << EOF
client:
  server_host: "myserver.duckdns.org"
  server_port: 587
  socks_port: 1080
  username: "alice"
  secret: "your-secret-from-admin"
  ca_cert: "ca.crt"
EOF

# Run client
python client.py -c config.yaml

📖 Utilisation

🌐 Configurer vos applications

Définir le proxy SOCKS5 sur : 127.0.0.1:1080

🦊 Firefox

  1. Paramètres → Paramètres réseau → Paramètres
  2. Configuration manuelle du proxy
  3. SOCKS Host : 127.0.0.1, Port : 1080
  4. Sélectionnez SOCKS v5
  5. ✅ Cochez "Proxy DNS lors de l'utilisation de SOCKS v5"

🌐 Chrome

  1. Installez l'extension "Proxy SwitchyOmega"
  2. Créez un profil avec SOCKS5 : 127.0.0.1:1080

🪟 Windows (système entier)

Paramètres → Réseau et Internet → Proxy → Configuration manuelle → socks=127.0.0.1:1080

🍎 macOS (système entier)

Préférences Système → Réseau → Avancé → Proxies → Proxy SOCKS → 127.0.0.1:1080

🐧 Linux (système entier)

root@kitploit:~
export ALL_PROXY=socks5://127.0.0.1:1080

💻 Ligne de commande

root@kitploit:~
# curl
curl -x socks5h://127.0.0.1:1080 https://ifconfig.me

# git
git config --global http.proxy socks5://127.0.0.1:1080

# Environment variable
export ALL_PROXY=socks5://127.0.0.1:1080

✅ Tester la connexion

root@kitploit:~
# Should show your VPS IP
curl -x socks5://127.0.0.1:1080 https://ifconfig.me

⚙️ Référence de configuration

🖥️ Options du serveur (config.yaml)

👥 Options utilisateur (users.yaml)

Chaque utilisateur peut avoir des paramètres individuels :

root@kitploit:~
users:
  alice:
    secret: "auto-generated-secret"
    # whitelist:              # Optionnel : restreindre à des IP spécifiques
    #   - "192.168.1.100"
    #   - "10.0.0.0/8"        # Notation CIDR prise en charge
    # logging: true           # Optionnel : désactiver pour arrêter la journalisation de cet utilisateur

  bob:
    secret: "another-secret"
    whitelist:
      - "203.0.113.50"        # Bob ne peut se connecter qu'à partir de cette IP
    logging: false            # Ne pas journaliser l'activité de Bob
OptionDescriptionDéfaut

💻 Options du client


📋 Gestion du service

root@kitploit:~
# Vérifier le statut
sudo systemctl status smtp-tunnel

# Redémarrer après modifications de configuration
sudo systemctl restart smtp-tunnel

# Voir les journaux
sudo journalctl -u smtp-tunnel -n 100

# Désinstaller
sudo /opt/smtp-tunnel/uninstall.sh

🔧 Options en ligne de commande

🖥️ Serveur

root@kitploit:~
python server.py [-c CONFIG] [-d]

  -c, --config    Config file (default: config.yaml)
  -d, --debug     Enable debug logging

💻 Client

root@kitploit:~
python client.py [-c CONFIG] [--server HOST] [--server-port PORT]
                 [-p SOCKS_PORT] [-u USERNAME] [-s SECRET] [--ca-cert FILE] [-d]

  -c, --config      Config file (default: config.yaml)
  --server          Override server domain
  --server-port     Override server port
  -p, --socks-port  Override local SOCKS port
  -u, --username    Your username
  -s, --secret      Override secret
  --ca-cert         CA certificate path
  -d, --debug       Enable debug logging

👥 Gestion des utilisateurs

root@kitploit:~
smtp-tunnel-adduser <username> [-u USERS_FILE] [-c CONFIG] [--no-zip]
    Ajouter un nouvel utilisateur et générer un paquet client

smtp-tunnel-deluser <username> [-u USERS_FILE] [-f]
    Supprimer un utilisateur (utiliser -f pour ignorer la confirmation)

smtp-tunnel-listusers [-u USERS_FILE] [-v]
    Lister tous les utilisateurs (utiliser -v pour des infos détaillées)

smtp-tunnel-update
    Mettre à jour le serveur vers la dernière version (préserve configuration/certificats/utilisateurs)

📁 Structure des fichiers

root@kitploit:~
smtp_proxy/
├── 📄 server.py               # Serveur (s'exécute sur le VPS)
├── 📄 client.py               # Client (s'exécute localement)
├── 📄 common.py               # Utilitaires partagés
├── 📄 generate_certs.py       # Générateur de certificats
├── 📄 config.yaml             # Configuration serveur/client
├── 📄 users.yaml              # Base de données utilisateurs
├── 📄 requirements.txt        # Dépendances Python
├── 📄 install.sh              # Installateur serveur en une ligne
├── 📄 smtp-tunnel.service     # Fichier unité systemd
├── 🔧 smtp-tunnel-adduser     # Script d'ajout d'utilisateur
├── 🔧 smtp-tunnel-deluser     # Script de suppression d'utilisateur
├── 🔧 smtp-tunnel-listusers   # Script de liste des utilisateurs
├── 🔧 smtp-tunnel-update      # Script de mise à jour du serveur
├── 📄 README.md               # Ce fichier
└── 📄 TECHNICAL.md            # Documentation technique

📦 Chemins d'installation (après install.sh)

root@kitploit:~
/opt/smtp-tunnel/              # Fichiers d'application
/etc/smtp-tunnel/              # Fichiers de configuration
  ├── config.yaml
  ├── users.yaml
  ├── server.crt
  ├── server.key
  └── ca.crt
/usr/local/bin/                # Commandes de gestion
  ├── smtp-tunnel-adduser
  ├── smtp-tunnel-deluser
  ├── smtp-tunnel-listusers
  └── smtp-tunnel-update

🔧 Dépannage

❌ "Connexion refusée"

  • Vérifiez que le serveur fonctionne : systemctl status smtp-tunnel ou ps aux | grep server.py
  • Vérifiez que le port est ouvert : netstat -tlnp | grep 587
  • Vérifiez le pare-feu : ufw status

❌ "Échec d'authentification"

  • Vérifiez que username et secret correspondent dans users.yaml
  • Vérifiez que l'heure du serveur est exacte (à 5 minutes près)
  • Exécutez smtp-tunnel-listusers -v pour vérifier que l'utilisateur existe

❌ "IP non autorisée"

  • Vérifiez la liste blanche de l'utilisateur dans users.yaml
  • Votre IP actuelle doit correspondre à une entrée de la liste blanche
  • La notation CIDR est prise en charge (par ex., 10.0.0.0/8)

❌ "Échec de la vérification du certificat"

  • Assurez-vous d'utiliser un nom de domaine, pas une adresse IP
  • Vérifiez que server_host correspond au nom d'hôte du certificat
  • Assurez-vous d'avoir le bon ca.crt du serveur

🐛 Mode débogage

root@kitploit:~
# Activer la journalisation détaillée
python server.py -d
python client.py -d

# Voir les journaux systemd
journalctl -u smtp-tunnel -f

🔐 Notes de sécurité

  • ✅ Utilisez toujours un nom de domaine pour une vérification TLS correcte
  • ✅ Utilisez toujours ca_cert pour prévenir les attaques de l'homme du milieu
  • ✅ Utilisez smtp-tunnel-adduser pour générer automatiquement des secrets forts
  • ✅ Utilisez des listes blanches IP par utilisateur si vous connaissez les IP des clients
  • ✅ Protégez users.yaml - contient tous les secrets des utilisateurs (chmod 600)
  • ✅ Désactivez la journalisation pour les utilisateurs sensibles avec logging: false

📚 Pour une analyse de sécurité détaillée et un modèle de menace, voir TECHNICAL.md.


📄 Licence

Ce projet est fourni uniquement à des fins éducatives et d'utilisation autorisée. Utilisez-le de manière responsable et conformément aux lois applicables.


⚠️ Avertissement

Cet outil est conçu pour des fins légitimes de confidentialité et de contournement de la censure. Les utilisateurs sont responsables de s'assurer que leur utilisation est conforme aux lois et réglementations applicables.


Fait avec ❤️ pour la liberté d'Internet

Télécharger l’outil
FonctionnalitéDescription
🔒 Chiffrement TLSTout le trafic chiffré avec TLS 1.2+ après STARTTLS
🎭 Contournement DPILa poignée de main initiale imite les serveurs SMTP réels (Postfix)
⚡ Haute vitesseProtocole de flux binaire après la poignée de main - surcharge minimale
👥 Multi-utilisateurSecrets par utilisateur, listes blanches IP et paramètres de journalisation
🔑 AuthentificationClés pré-partagées par utilisateur avec HMAC-SHA256
🌐 Proxy SOCKS5Interface proxy standard - fonctionne avec n'importe quelle application
📡 MultiplexageConnexions multiples sur un seul tunnel
🛡️ Liste blanche IPContrôle d'accès par utilisateur par adresse IP/CIDR
📦 Installation facileInstallation du serveur en une ligne avec service systemd
🎁 Paquets clientsFichiers ZIP générés automatiquement pour chaque utilisateur
🔄 Reconnexion automatiqueLe client se reconnecte automatiquement en cas de perte de connexion
🐧 LinuxExécutez ./start.sh
🍎 macOSExécutez ./start.sh
OptionDescriptionDéfaut
hostInterface d'écoute0.0.0.0
portPort d'écoute587
hostnameNom d'hôte SMTP (doit correspondre au certificat)mail.example.com
cert_fileChemin du certificat TLSserver.crt
key_fileChemin de la clé privée TLSserver.key
users_fileChemin vers la configuration des utilisateursusers.yaml
log_usersParamètre global de journalisationtrue
secretSecret d'authentification de l'utilisateurRequis
whitelistIP autorisées pour cet utilisateur (CIDR pris en charge)Toutes les IP
loggingActiver la journalisation des activités pour cet utilisateurtrue
OptionDescriptionDéfaut
server_hostNom de domaine du serveurRequis
server_portPort du serveur587
socks_portPort SOCKS5 local1080
socks_hostInterface SOCKS5 locale127.0.0.1
usernameVotre nom d'utilisateurRequis
secretVotre secret d'authentificationRequis
ca_certCertificat CA pour vérificationRecommandé