Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
smtp-tunnel-proxy — Un tunnel occulto ad alta velocità che maschera il traffico TCP come comunicazione email SMTP per bypassare i firewall di Ispezione Approfondita dei Pacchetti (DPI). | Kitploit
Strumenti/GitHubGitHub/x011/smtp-tunnel-proxy
Strumenti di Crittografia/DecrittografiaEvasione IDS/IPSSicurezza di ReteAutenticazioneRed Teaming
GitHubx011/smtp-tunnel-proxy

smtp-tunnel-proxy

Un tunnel occulto ad alta velocità che maschera il traffico TCP come comunicazione email SMTP per bypassare i firewall di Ispezione Approfondita dei Pacchetti (DPI).

Vedi Repository
1.8k1647 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

📧 SMTP Tunnel Proxy

Un tunnel occulto ad alta velocità che maschera il traffico TCP come comunicazione email SMTP per bypassare i firewall con Deep Packet Inspection (DPI).

root@kitploit:~
┌─────────────┐      ┌─────────────┐      ┌─────────────┐      ┌──────────────┐
│ Application │─────▶│   Client    │─────▶│   Server    │─────▶│  Internet    │
│  (Browser)  │ TCP  │ SOCKS5:1080 │ SMTP │  Port 587   │ TCP  │              │
│             │◀─────│             │◀─────│             │◀─────│              │
└─────────────┘      └─────────────┘      └─────────────┘      └──────────────┘
                            │                    │
                            │   Sembra           │
                            │   Traffico Email   │
                            ▼                    ▼
                     ┌────────────────────────────────┐
                     │     DPI Firewall               │
                     │  ✅ Vede: Sessione SMTP Normale│
                     │  ❌ Non vede: Dati Tunnel     │
                     └────────────────────────────────┘

🎯 Funzionalità

📚 Per dettagli tecnici approfonditi, specifiche del protocollo e analisi di sicurezza, vedere TECHNICAL.md.


⚡ Guida Rapida

📋 Prerequisiti

  • Server: VPS Linux con Python 3.8+, porta 587 aperta
  • Client: Windows/macOS/Linux con Python 3.8+
  • Nome di dominio: Necessario per la verifica del certificato TLS (opzioni gratuite: DuckDNS, No-IP, FreeDNS)

🚀 Configurazione Server (VPS)

Passo 1️⃣: Ottieni un Nome di Dominio

Ottieni un dominio gratuito che punti al tuo VPS:

  • 🦆 DuckDNS - Consigliato, semplice e gratuito
  • 🌐 No-IP - Piano gratuito disponibile
  • 🆓 FreeDNS - Molte opzioni di dominio

Esempio: myserver.duckdns.org → 203.0.113.50 (IP del tuo VPS)

Passo 2️⃣: Esegui l'Installatore

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

L'installatore:

  1. 📥 Scarica e installa tutto
  2. ❓ Chiede il tuo nome di dominio
  3. 🔐 Genera automaticamente i certificati TLS
  4. 👤 Offre di creare il primo utente
  5. 🔥 Configura il firewall
  6. 🚀 Avvia il servizio

Fatto! Il tuo server è pronto.

➕ Aggiungi Altri Utenti in Seguito

root@kitploit:~
smtp-tunnel-adduser bob      # Aggiunge utente + genera ZIP client
smtp-tunnel-listusers        # Elenca tutti gli utenti
smtp-tunnel-deluser bob      # Rimuove un utente

🔄 Aggiornamento Server

root@kitploit:~
smtp-tunnel-update           # Aggiorna il codice, preserva configurazione/certificati/utenti

💻 Configurazione Client

Opzione A: Via Semplice (Consigliata)

  1. Ottieni il file nomeutente.zip dall'amministratore del server
  2. Estrai il file ZIP
  3. Esegui il launcher:
PiattaformaCome Eseguire
🪟 WindowsFare doppio clic su start.bat

Il launcher installerà automaticamente le dipendenze e avvierà il client.

✅ Dovresti vedere:

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

Opzione B: Via Manuale

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

Opzione C: Configurazione Personalizzata

root@kitploit:~
# Scarica i file
scp [email protected]:/etc/smtp-tunnel/ca.crt .

# Crea 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

# Esegui il client
python client.py -c config.yaml

📖 Utilizzo

🌐 Configura le Tue Applicazioni

Imposta il proxy SOCKS5 su: 127.0.0.1:1080

🦊 Firefox

  1. Impostazioni → Impostazioni di rete → Impostazioni
  2. Configurazione proxy manuale
  3. Host SOCKS: 127.0.0.1, Porta: 1080
  4. Seleziona SOCKS v5
  5. ✅ Spunta "Proxy DNS utilizzando SOCKS v5"

🌐 Chrome

  1. Installa l'estensione "Proxy SwitchyOmega"
  2. Crea un profilo con SOCKS5: 127.0.0.1:1080

🪟 Windows (a livello di sistema)

Impostazioni → Rete e Internet → Proxy → Configurazione manuale → socks=127.0.0.1:1080

🍎 macOS (a livello di sistema)

Preferenze di Sistema → Rete → Avanzate → Proxy → Proxy SOCKS → 127.0.0.1:1080

🐧 Linux (a livello di sistema)

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

💻 Riga di Comando

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

# Variabile d'ambiente
export ALL_PROXY=socks5://127.0.0.1:1080

✅ Testa la Connessione

root@kitploit:~
# Dovrebbe mostrare l'IP del tuo VPS
curl -x socks5://127.0.0.1:1080 https://ifconfig.me

⚙️ Riferimento Configurazione

🖥️ Opzioni Server (config.yaml)

👥 Opzioni Utente (users.yaml)

Ogni utente può avere impostazioni individuali:

root@kitploit:~
users:
  alice:
    secret: "auto-generated-secret"
    # whitelist:              # Opzionale: limita a IP specifici
    #   - "192.168.1.100"
    #   - "10.0.0.0/8"        # Notazione CIDR supportata
    # logging: true           # Opzionale: disabilita per smettere di registrare questo utente

  bob:
    secret: "another-secret"
    whitelist:
      - "203.0.113.50"        # Bob può connettersi solo da questo IP
    logging: false            # Non registrare l'attività di Bob
OpzioneDescrizionePredefinito

💻 Opzioni Client


📋 Gestione del Servizio

root@kitploit:~
# Controlla lo stato
sudo systemctl status smtp-tunnel

# Riavvia dopo modifiche alla configurazione
sudo systemctl restart smtp-tunnel

# Visualizza i log
sudo journalctl -u smtp-tunnel -n 100

# Disinstalla
sudo /opt/smtp-tunnel/uninstall.sh

🔧 Opzioni da Riga di Comando

🖥️ Server

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

  -c, --config    File di configurazione (predefinito: config.yaml)
  -d, --debug     Abilita logging di debug

💻 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      File di configurazione (predefinito: config.yaml)
  --server          Sovrascrive dominio del server
  --server-port     Sovrascrive porta del server
  -p, --socks-port  Sovrascrive porta SOCKS locale
  -u, --username    Il tuo nome utente
  -s, --secret      Sovrascrive segreto
  --ca-cert         Percorso certificato CA
  -d, --debug       Abilita logging di debug

👥 Gestione Utenti

root@kitploit:~
smtp-tunnel-adduser <username> [-u USERS_FILE] [-c CONFIG] [--no-zip]
    Aggiunge un nuovo utente e genera il pacchetto client

smtp-tunnel-deluser <username> [-u USERS_FILE] [-f]
    Rimuove un utente (usa -f per saltare la conferma)

smtp-tunnel-listusers [-u USERS_FILE] [-v]
    Elenca tutti gli utenti (usa -v per info dettagliate)

smtp-tunnel-update
    Aggiorna il server all'ultima versione (preserva configurazione/certificati/utenti)

📁 Struttura dei File

root@kitploit:~
smtp_proxy/
├── 📄 server.py               # Server (eseguito sul VPS)
├── 📄 client.py               # Client (eseguito localmente)
├── 📄 common.py               # Utility condivise
├── 📄 generate_certs.py       # Generatore certificati
├── 📄 config.yaml             # Configurazione server/client
├── 📄 users.yaml              # Database utenti
├── 📄 requirements.txt        # Dipendenze Python
├── 📄 install.sh              # Installatore server con un comando
├── 📄 smtp-tunnel.service     # File unità systemd
├── 🔧 smtp-tunnel-adduser     # Script aggiunta utente
├── 🔧 smtp-tunnel-deluser     # Script rimozione utente
├── 🔧 smtp-tunnel-listusers   # Script elenco utenti
├── 🔧 smtp-tunnel-update      # Script aggiornamento server
├── 📄 README.md               # Questo file
└── 📄 TECHNICAL.md            # Documentazione tecnica

📦 Percorsi di Installazione (dopo install.sh)

root@kitploit:~
/opt/smtp-tunnel/              # File dell'applicazione
/etc/smtp-tunnel/              # File di configurazione
  ├── config.yaml
  ├── users.yaml
  ├── server.crt
  ├── server.key
  └── ca.crt
/usr/local/bin/                # Comandi di gestione
  ├── smtp-tunnel-adduser
  ├── smtp-tunnel-deluser
  ├── smtp-tunnel-listusers
  └── smtp-tunnel-update

🔧 Risoluzione dei Problemi

❌ "Connessione rifiutata"

  • Controlla che il server sia in esecuzione: systemctl status smtp-tunnel o ps aux | grep server.py
  • Controlla che la porta sia aperta: netstat -tlnp | grep 587
  • Controlla il firewall: ufw status

❌ "Autenticazione fallita"

  • Verifica che username e secret corrispondano in users.yaml
  • Controlla che l'ora del server sia precisa (entro 5 minuti)
  • Esegui smtp-tunnel-listusers -v per verificare che l'utente esista

❌ "IP non in whitelist"

  • Controlla la whitelist dell'utente in users.yaml
  • Il tuo IP attuale deve corrispondere a un elemento della whitelist
  • La notazione CIDR è supportata (es. 10.0.0.0/8)

❌ "Verifica certificato fallita"

  • Assicurati di utilizzare un nome di dominio, non un indirizzo IP
  • Verifica che server_host corrisponda al nome host del certificato
  • Assicurati di avere il ca.crt corretto dal server

🐛 Modalità Debug

root@kitploit:~
# Abilita logging dettagliato
python server.py -d
python client.py -d

# Visualizza i log di systemd
journalctl -u smtp-tunnel -f

🔐 Note di Sicurezza

  • ✅ Usa sempre un nome di dominio per una corretta verifica TLS
  • ✅ Usa sempre ca_cert per prevenire attacchi man-in-the-middle
  • ✅ Usa smtp-tunnel-adduser per generare automaticamente segreti robusti
  • ✅ Usa whitelist IP per utente se conosci gli IP dei client
  • ✅ Proteggi users.yaml - contiene tutti i segreti degli utenti (chmod 600)
  • ✅ Disabilita il logging per utenti sensibili con logging: false

📚 Per analisi di sicurezza dettagliata e modello delle minacce, vedere TECHNICAL.md.


📄 Licenza

Questo progetto è fornito solo per scopi educativi e per utilizzo autorizzato. Usalo in modo responsabile e in conformità con le leggi applicabili.


⚠️ Disclaimer

Questo strumento è progettato per scopi legittimi di privacy e aggiramento della censura. Gli utenti sono responsabili di assicurarsi che il loro utilizzo sia conforme alle leggi e ai regolamenti applicabili.


Realizzato con ❤️ per la libertà di Internet

Scarica lo strumento
FunzionalitàDescrizione
🔒 Crittografia TLSTutto il traffico è crittografato con TLS 1.2+ dopo STARTTLS
🎭 Elusione DPIL'handshake iniziale imita i server SMTP reali (Postfix)
⚡ Alta VelocitàProtocollo di streaming binario dopo l'handshake - overhead minimo
👥 Multi-UtenteSegreti per utente, whitelist IP e impostazioni di logging
🔑 AutenticazioneChiavi pre-condivise per utente con HMAC-SHA256
🌐 Proxy SOCKS5Interfaccia proxy standard - funziona con qualsiasi applicazione
📡 MultiplexingMultiple connessioni su un singolo tunnel
🛡️ Whitelist IPControllo accesso per utente tramite indirizzo IP/CIDR
📦 Installazione SempliceInstallazione server con un comando e servizio systemd
🎁 Pacchetti ClientFile ZIP generati automaticamente per ogni utente
🔄 Riconnessione AutomaticaIl client si riconnette automaticamente in caso di perdita di connessione
🐧 LinuxEseguire ./start.sh
🍎 macOSEseguire ./start.sh
OpzioneDescrizionePredefinito
hostInterfaccia di ascolto0.0.0.0
portPorta di ascolto587
hostnameNome host SMTP (deve corrispondere al certificato)mail.example.com
cert_filePercorso certificato TLSserver.crt
key_filePercorso chiave privata TLSserver.key
users_filePercorso file configurazione utentiusers.yaml
log_usersImpostazione di logging globaletrue
secretSegreto di autenticazione dell'utenteObbligatorio
whitelistIP consentiti per questo utente (CIDR supportato)Tutti gli IP
loggingAbilita la registrazione dell'attività per questo utentetrue
OpzioneDescrizionePredefinito
server_hostNome di dominio del serverObbligatorio
server_portPorta del server587
socks_portPorta SOCKS5 locale1080
socks_hostInterfaccia SOCKS5 locale127.0.0.1
usernameIl tuo nome utenteObbligatorio
secretIl tuo segreto di autenticazioneObbligatorio
ca_certCertificato CA per la verificaConsigliato