Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/x011/smtp-tunnel-proxy
Herramientas de Cifrado/DescifradoEvasión de IDS/IPSSeguridad de RedesAutenticaciónRed Teaming
GitHubx011/smtp-tunnel-proxy

smtp-tunnel-proxy

Un túnel encubierto de alta velocidad que disfraza el tráfico TCP como comunicación de correo electrónico SMTP para evadir firewalls de inspección profunda de paquetes (DPI).

Ver Repositorio
1.8k164hace 7 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

📧 Proxy de Túnel SMTP

Un túnel encubierto de alta velocidad que disfraza el tráfico TCP como comunicación de correo electrónico SMTP para evadir firewalls de inspección profunda de paquetes (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    │
                     └────────────────────────────────┘

🎯 Características

📚 Para detalles técnicos exhaustivos, especificaciones del protocolo y análisis de seguridad, consulta TECHNICAL.md.


⚡ Inicio Rápido

📋 Requisitos Previos

  • Servidor: VPS Linux con Python 3.8+, puerto 587 abierto
  • Cliente: Windows/macOS/Linux con Python 3.8+
  • Nombre de dominio: Necesario para la verificación del certificado TLS (opciones gratuitas: DuckDNS, No-IP, FreeDNS

🚀 Configuración del Servidor (VPS)

Paso 1️⃣: Obtener un Nombre de Dominio

Obtén un dominio gratuito que apunte a tu VPS:

  • 🦆 DuckDNS - Recomendado, simple y gratuito
  • 🌐 No-IP - Nivel gratuito disponible
  • 🆓 FreeDNS - Muchas opciones de dominio

Ejemplo: myserver.duckdns.org → 203.0.113.50 (la IP de tu VPS)

Paso 2️⃣: Ejecutar el Instalador

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

El instalador hará lo siguiente:

  1. 📥 Descargar e instalar todo
  2. ❓ Preguntar por tu nombre de dominio
  3. 🔐 Generar certificados TLS automáticamente
  4. 👤 Ofrecer crear tu primer usuario
  5. 🔥 Configurar firewall
  6. 🚀 Iniciar el servicio

¡Eso es todo! Tu servidor está listo.

➕ Agregar Más Usuarios Después

root@kitploit:~
smtp-tunnel-adduser bob      # Agregar usuario + generar ZIP de cliente
smtp-tunnel-listusers        # Listar todos los usuarios
smtp-tunnel-deluser bob      # Eliminar un usuario

🔄 Actualizar Servidor

root@kitploit:~
smtp-tunnel-update           # Actualiza el código, preserva configuración/certificados/usuarios

💻 Configuración del Cliente

Opción A: Forma Fácil (Recomendada)

  1. Obtén tu archivo username.zip del administrador del servidor
  2. Extrae el archivo ZIP
  3. Ejecuta el lanzador:
PlataformaCómo Ejecutar
🪟 WindowsHaz doble clic en start.bat

El lanzador instalará automáticamente las dependencias e iniciará el cliente.

✅ Deberías ver:

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

Opción B: Forma Manual

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

Opción C: Configuración Personalizada

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

📖 Uso

🌐 Configurar tus Aplicaciones

Configura el proxy SOCKS5 en: 127.0.0.1:1080

🦊 Firefox

  1. Configuración → Configuración de Red → Configuración
  2. Configuración manual del proxy
  3. Host SOCKS: 127.0.0.1, Puerto: 1080
  4. Seleccionar SOCKS v5
  5. ✅ Marcar "Usar DNS del proxy al configurar SOCKS v5"

🌐 Chrome

  1. Instalar la extensión "Proxy SwitchyOmega"
  2. Crear perfil con SOCKS5: 127.0.0.1:1080

🪟 Windows (Sistema Completo)

Configuración → Red e Internet → Proxy → Configuración manual → socks=127.0.0.1:1080

🍎 macOS (Sistema Completo)

Preferencias del Sistema → Red → Avanzado → Proxies → Proxy SOCKS → 127.0.0.1:1080

🐧 Linux (Sistema Completo)

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

💻 Línea de Comandos

  • curl
root@kitploit:~
curl -x socks5h://127.0.0.1:1080 https://ifconfig.me
  • git
root@kitploit:~
git config --global http.proxy socks5://127.0.0.1:1080
  • Variable de entorno
root@kitploit:~
export ALL_PROXY=socks5://127.0.0.1:1080

✅ Probar Conexión

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

⚙️ Referencia de Configuración

🖥️ Opciones del Servidor (config.yaml)

👥 Opciones de Usuario (users.yaml)

Cada usuario puede tener configuraciones individuales:

root@kitploit:~
users:
  alice:
    secret: "auto-generated-secret"
    # whitelist:              # Optional: restrict to specific IPs
    #   - "192.168.1.100"
    #   - "10.0.0.0/8"        # CIDR notation supported
    # logging: true           # Optional: disable to stop logging this user

  bob:
    secret: "another-secret"
    whitelist:
      - "203.0.113.50"        # Bob can only connect from this IP
    logging: false            # Don't log Bob's activity
OpciónDescripciónValor por Defecto

💻 Opciones del Cliente


📋 Gestión del Servicio

root@kitploit:~
# Check status
sudo systemctl status smtp-tunnel

# Restart after config changes
sudo systemctl restart smtp-tunnel

# View logs
sudo journalctl -u smtp-tunnel -n 100

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

🔧 Opciones de Línea de Comandos

🖥️ Servidor

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

  -c, --config    Archivo de configuración (por defecto: config.yaml)
  -d, --debug     Habilitar registro de depuración

💻 Cliente

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      Archivo de configuración (por defecto: config.yaml)
  --server          Sobrescribir dominio del servidor
  --server-port     Sobrescribir puerto del servidor
  -p, --socks-port  Sobrescribir puerto SOCKS local
  -u, --username    Tu nombre de usuario
  -s, --secret      Sobrescribir secreto
  --ca-cert         Ruta del certificado CA
  -d, --debug       Habilitar registro de depuración

👥 Gestión de Usuarios

root@kitploit:~
smtp-tunnel-adduser <username> [-u USERS_FILE] [-c CONFIG] [--no-zip]
    Agregar un nuevo usuario y generar paquete de cliente

smtp-tunnel-deluser <username> [-u USERS_FILE] [-f]
    Eliminar un usuario (usa -f para omitir confirmación)

smtp-tunnel-listusers [-u USERS_FILE] [-v]
    Listar todos los usuarios (usa -v para información detallada)

smtp-tunnel-update
    Actualizar servidor a la última versión (preserva configuración/certificados/usuarios)

📁 Estructura de Archivos

root@kitploit:~
smtp_proxy/
├── 📄 server.py               # Servidor (se ejecuta en VPS)
├── 📄 client.py               # Cliente (se ejecuta localmente)
├── 📄 common.py               # Utilidades compartidas
├── 📄 generate_certs.py       # Generador de certificados
├── 📄 config.yaml             # Configuración del servidor/cliente
├── 📄 users.yaml              # Base de datos de usuarios
├── 📄 requirements.txt        # Dependencias de Python
├── 📄 install.sh              # Instalador del servidor en una línea
├── 📄 smtp-tunnel.service     # Archivo de unidad systemd
├── 🔧 smtp-tunnel-adduser     # Script para agregar usuario
├── 🔧 smtp-tunnel-deluser     # Script para eliminar usuario
├── 🔧 smtp-tunnel-listusers   # Script para listar usuarios
├── 🔧 smtp-tunnel-update      # Script para actualizar servidor
├── 📄 README.md               # Este archivo
└── 📄 TECHNICAL.md            # Documentación técnica

📦 Rutas de Instalación (después de install.sh)

root@kitploit:~
/opt/smtp-tunnel/              # Application files
/etc/smtp-tunnel/              # Configuration files
  ├── config.yaml
  ├── users.yaml
  ├── server.crt
  ├── server.key
  └── ca.crt
/usr/local/bin/                # Management commands
  ├── smtp-tunnel-adduser
  ├── smtp-tunnel-deluser
  ├── smtp-tunnel-listusers
  └── smtp-tunnel-update

🔧 Solución de Problemas

❌ "Conexión rechazada"

  • Verifica que el servidor esté ejecutándose: systemctl status smtp-tunnel o ps aux | grep server.py
  • Verifica que el puerto esté abierto: netstat -tlnp | grep 587
  • Verifica el firewall: ufw status

❌ "Autenticación fallida"

  • Verifica que username y secret coincidan en users.yaml
  • Verifica que la hora del servidor sea precisa (dentro de 5 minutos)
  • Ejecuta smtp-tunnel-listusers -v para verificar que el usuario existe

❌ "IP no está en la lista blanca"

  • Verifica la lista blanca del usuario en users.yaml
  • Tu IP actual debe coincidir con una entrada de la lista blanca
  • Se admite notación CIDR (ej., 10.0.0.0/8)

❌ "Error de verificación del certificado"

  • Asegúrate de usar un nombre de dominio, no una dirección IP
  • Verifica que server_host coincida con el nombre de host del certificado
  • Asegúrate de tener el ca.crt correcto del servidor

🐛 Modo de Depuración

root@kitploit:~
# Enable detailed logging
python server.py -d
python client.py -d

# View systemd logs
journalctl -u smtp-tunnel -f

🔐 Notas de Seguridad

  • ✅ Usa siempre un nombre de dominio para una verificación TLS correcta
  • ✅ Usa siempre ca_cert para evitar ataques de intermediario
  • ✅ Usa smtp-tunnel-adduser para generar secretos fuertes automáticamente
  • ✅ Usa listas blancas IP por usuario si conoces las IPs de los clientes
  • ✅ Protege users.yaml - contiene todos los secretos de usuario (chmod 600)
  • ✅ Desactiva el registro para usuarios sensibles con logging: false

📚 Para un análisis de seguridad detallado y modelo de amenazas, consulta TECHNICAL.md.


📄 Licencia

Este proyecto se proporciona solo para uso educativo y autorizado. Úsalo de manera responsable y de acuerdo con las leyes aplicables.


⚠️ Descargo de Responsabilidad

Esta herramienta está diseñada para fines legítimos de privacidad y elusión de censura. Los usuarios son responsables de asegurar que su uso cumple con las leyes y regulaciones aplicables.


Hecho con ❤️ por la libertad de internet

Descargar herramienta
CaracterísticaDescripción
🔒 Cifrado TLSTodo el tráfico se cifra con TLS 1.2+ después de STARTTLS
🎭 Evasión de DPIEl handshake inicial imita servidores SMTP reales (Postfix)
⚡ Alta VelocidadProtocolo de transmisión binaria tras el handshake - sobrecarga mínima
👥 Multi-UsuarioSecretos por usuario, listas blancas IP y configuración de registro
🔑 AutenticaciónClaves precompartidas por usuario con HMAC-SHA256
🌐 Proxy SOCKS5Interfaz de proxy estándar - funciona con cualquier aplicación
📡 MultiplexaciónMúltiples conexiones a través de un solo túnel
🛡️ Lista Blanca IPControl de acceso por usuario mediante dirección IP/CIDR
📦 Instalación FácilInstalación del servidor en una sola línea con servicio systemd
🎁 Paquetes de ClienteArchivos ZIP generados automáticamente para cada usuario
🔄 Reconexión AutomáticaEl cliente se reconecta automáticamente ante pérdida de conexión
🐧 LinuxEjecuta ./start.sh
🍎 macOSEjecuta ./start.sh
OpciónDescripciónValor por Defecto
hostInterfaz de escucha0.0.0.0
portPuerto de escucha587
hostnameNombre de host SMTP (debe coincidir con el certificado)mail.example.com
cert_fileRuta del certificado TLSserver.crt
key_fileRuta de la clave privada TLSserver.key
users_fileRuta del archivo de usuariosusers.yaml
log_usersConfiguración global de registrotrue
secretSecreto de autenticación del usuarioRequerido
whitelistIPs permitidas para este usuario (soporta CIDR)Todas las IPs
loggingHabilitar registro de actividad para este usuariotrue
OpciónDescripciónValor por Defecto
server_hostNombre de dominio del servidorRequerido
server_portPuerto del servidor587
socks_portPuerto local SOCKS51080
socks_hostInterfaz local SOCKS5127.0.0.1
usernameTu nombre de usuarioRequerido
secretTu secreto de autenticaciónRequerido
ca_certCertificado CA para verificaciónRecomendado