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
wa-tunnel — Tunelización de tráfico de Internet a través de WhatsApp | Kitploit
Herramientas/GitHubGitHub/aleixrodriala/wa-tunnel
Seguridad de RedesAprendizaje y EducaciónRed Teaming
GitHubaleixrodriala/wa-tunnel

wa-tunnel

Tunelización de tráfico de Internet a través de WhatsApp

Ver Repositorio
3.3k1632hace 3 añosRevisado 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

wa-tunnel - Túnel TCP a través de Whatsapp

Esto es un fragmento de código basado en Baileys que permite tunelizar datos TCP a través de dos cuentas de Whatsapp.

Esto puede ser útil en diferentes situaciones, por ejemplo, operadores de red que ofrecen datos ilimitados de whatsapp o aviones donde también se obtienen datos ilimitados de redes sociales.

Utiliza Baileys ya que es una biblioteca de Whatsapp multidispositivo basada en WS y, por lo tanto, podría usarse en Android en el futuro, usando Termux por ejemplo.

La idea es usarlo con una configuración de proxy en el servidor de esta manera: [Cliente (acceso restringido) -> Whatsapp -> Servidor -> Proxy -> Internet]

Disculpas de antemano ya que Javascript no es uno de mis lenguajes de programación principales :/

Usar solo con fines educativos.

¿Cómo funciona?

Envía paquetes de red TCP a través de mensajes de texto y archivos de WhatsApp, dependiendo de la cantidad de caracteres los divide en diferentes mensajes de texto o archivos.

Para no ser desconectado por WhatsApp por defecto está limitado a 20k caracteres por mensaje, por el momento está codificado en wasocket.js.

He realizado múltiples pruebas y cualquier cosa por debajo de eso puede hacer que te prohiban por enviar demasiados mensajes y cualquier cosa por encima de 80k puede provocar un tiempo de espera.

Si un paquete de red supera el límite (20k caracteres por defecto) se enviará como archivo si está habilitado. También si se almacenan en caché múltiples paquetes de red, usará el mismo criterio.

Los mensajes de archivo se envían como archivos binarios, las respuestas TCP se concatenan con un delimitador y se comprimen usando brotli para reducir el uso de datos.

Almacena en caché las respuestas de los sockets TCP para agruparlas y enviar la máxima cantidad de datos en un mensaje, reduciendo así la cantidad de mensajes, mejorando la velocidad y reduciendo la probabilidad de ser prohibido.

Mejoras de rendimiento

Before: (without files and no response caching)

root@kitploit:~
curl -x localhost:12345 https://www.youtube.com
- 50-80 messages
- 30-40 seconds

After: (with files and response caching)

root@kitploit:~
curl -x localhost:12345 https://www.youtube.com
- 6-8 messages
- 7-15 seconds

En caso de que no se permita enviar archivos, use la bandera --disable-files al iniciar el servidor y el cliente para deshabilitar esta funcionalidad.

¿Por qué?

La idea me llegó mientras viajaba por Sudamérica, los datos de red en los operadores suelen estar restringidos a no muchos GB, pero WhatsApp suele ser ilimitado. Intenté crear esta biblioteca ya que no encontré ninguna utilizable en la fecha.

Configuración

Debes tener acceso a dos cuentas de Whatsapp, una para el servidor y otra para el cliente. Puedes reenviar un puerto local o usar un proxy externo.

Lado del servidor

Clona el repositorio en tu servidor e instala las dependencias de node.

  1. cd path/to/wa-tunnel
  2. npm install

Luego puedes iniciar el servidor con el siguiente comando, donde puerto es el puerto del proxy y host es el host del proxy que deseas reenviar. Y número es el número de WhatsApp del cliente con el código de país junto y sin +.

root@kitploit:~
npm run server host port number

Puedes usar un servidor proxy local de la siguiente manera:

root@kitploit:~
npm run server localhost 3128 12345678901

O puedes usar un servidor proxy normal de la siguiente manera:

root@kitploit:~
npm run server 192.168.0.1 3128 12345678901

Lado del cliente

Clona el repositorio en tu servidor e instala las dependencias de node.

  1. cd path/to/wa-tunnel
  2. npm install

Luego puedes iniciar el servidor con el siguiente comando, donde puerto es el puerto local al que te conectarás y número es el número de WhatsApp del servidor con el código de país junto y sin +.

root@kitploit:~
npm run client port number

Por ejemplo

root@kitploit:~
npm run client 8080 1234567890

Uso

La primera vez que abras el script, Baileys te pedirá que escanees el código QR con la aplicación de whatsapp, después de eso la sesión se guarda para uso posterior.

Puede fallar, eso es normal, después de eso simplemente reinicia el script y tendrás tu cliente/servidor listo.

Una vez que tengas tanto el cliente como el servidor listos, puedes probar usando curl y ver la magia suceder.

root@kitploit:~
curl -v -x proxyHost:proxyPort https://httpbin.org/ip

Con los comandos de ejemplo sería:

root@kitploit:~
curl -v -x localhost:8080 https://httpbin.org/ip

También ha sido probado con un navegador normal como Firefox, es lento pero se puede usar.

También puedes reenviar otros puertos de protocolo como SSH configurando el servidor de esta manera:

root@kitploit:~
npm run server localhost 22 12345678901

Y luego conectar al servidor usando en el cliente:

root@kitploit:~
ssh root@localhost -p 8080

Uso en Android

Para usar en Android, puedes usarlo con Termux usando los siguientes comandos:

root@kitploit:~
pkg update && pkg upgrade
pkg install git nodejs -y
git clone https://github.com/aleixrodriala/wa-tunnel.git
cd wa-tunnel
npm install

Descargo de responsabilidad

El uso de esta biblioteca puede llevar a la suspensión de tu cuenta de WhatsApp, usa un número temporal o bajo tu propio riesgo.

PENDIENTE

  • Crear un script de Android para instalar dependencias de node en termux
  • Cuando Baileys soporte llamadas, implementar el envío de paquetes a través de llamadas
  • Implementar el envío de archivos para paquetes de datos grandes para reducir mensajes y quizás mejorar la velocidad
  • Almacenar en caché las respuestas de los sockets para reducir aún más la cantidad de mensajes enviados
  • Documentación

Licencia

MIT

Descargar herramienta