Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
wa-tunnel — Tunelamento de tráfego da Internet via Whatsapp | Kitploit
Ferramentas/GitHubGitHub/aleixrodriala/wa-tunnel
Segurança de RedeAprendizado e EducaçãoRed Teaming
GitHubaleixrodriala/wa-tunnel

wa-tunnel

Tunelamento de tráfego da Internet via Whatsapp

Ver Repositório
3.3k163há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

wa-tunnel - Tunelamento TCP através do Whatsapp

Este é um código baseado em Baileys que permite tunelar dados TCP através de duas contas do Whatsapp.

Isso pode ser útil em diferentes situações, por exemplo, operadoras de rede que oferecem dados ilimitados do WhatsApp ou em aviões onde você também tem dados ilimitados de redes sociais.

Ele usa o Baileys por ser uma biblioteca WhatsApp multi-dispositivo baseada em WS e, portanto, pode ser usado no Android no futuro, usando o Termux, por exemplo.

A ideia é usá-lo com uma configuração de proxy no servidor assim: [Cliente (acesso restrito) -> Whatsapp -> Servidor -> Proxy -> Internet]

Peço desculpas antecipadamente, já que Javascript não é uma das minhas principais linguagens de programação :/

Use apenas para fins educacionais.

Como funciona?

Ele envia pacotes de rede TCP através de mensagens de texto e arquivo do WhatsApp, dependendo da quantidade de caracteres, ele os divide em diferentes mensagens de texto ou arquivos.

Para não ser desconectado pelo WhatsApp, por padrão é limitado a 20 mil caracteres por mensagem, no momento está codificado em wasocket.js.

Fiz vários testes e qualquer valor abaixo disso pode resultar em banimento por enviar muitas mensagens e qualquer valor acima de 80 mil pode causar timeout.

Se um pacote de rede exceder o limite (20 mil caracteres por padrão), ele será enviado como um arquivo se ativado. Além disso, se vários pacotes de rede forem armazenados em cache, ele usará o mesmo critério.

As mensagens de arquivo são enviadas como arquivos binários, as respostas TCP são concatenadas com um delimitador e comprimidas usando brotli para reduzir o uso de dados.

Ele armazena em cache as respostas do socket TCP para agrupá-las e enviar a quantidade máxima de dados em uma mensagem, reduzindo assim a quantidade de mensagens, melhorando a velocidade e reduzindo a probabilidade de banimento.

Melhorias de desempenho

Antes: (sem arquivos e sem cache de respostas)

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

Depois: (com arquivos e cache de respostas)

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

Caso você não tenha permissão para enviar arquivos, use a flag --disable-files ao iniciar o servidor e o cliente para desabilitar essa funcionalidade.

Por quê?

Tive a ideia enquanto viajava pela América do Sul. Os dados de rede das operadoras são geralmente limitados a poucos GBs, mas o WhatsApp costuma ser ilimitado. Tentei criar esta biblioteca, pois não encontrei nenhuma utilizável na época.

Configuração

Você precisa ter acesso a duas contas do WhatsApp, uma para o servidor e outra para o cliente. Você pode encaminhar uma porta local ou usar um proxy externo.

Lado do servidor

Clone o repositório no seu servidor e instale as dependências do Node.

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

Então você pode iniciar o servidor com o seguinte comando, onde porta é a porta do proxy e host é o host do proxy que você deseja encaminhar. E número é o número do WhatsApp do cliente com o código do país junto e sem o +.

root@kitploit:~
npm run server host port number

Você pode usar um proxy local da seguinte forma:

root@kitploit:~
npm run server localhost 3128 12345678901

Ou você pode usar um proxy normal da seguinte forma:

root@kitploit:~
npm run server 192.168.0.1 3128 12345678901

Lado do cliente

Clone o repositório no seu servidor e instale as dependências do Node.

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

Então você pode iniciar o cliente com o seguinte comando, onde porta é a porta local onde você irá se conectar e número é o número do WhatsApp do servidor com o código do país junto e sem o +.

root@kitploit:~
npm run client port number

Por exemplo

root@kitploit:~
npm run client 8080 1234567890

Uso

Na primeira vez que você abrir o script, o Baileys solicitará que você escaneie o código QR com o aplicativo do WhatsApp. Depois disso, a sessão é salva para uso posterior.

Pode travar, isso é normal. Depois disso, basta reiniciar o script e seu cliente/servidor estará pronto!

Depois de ter o cliente e o servidor prontos, você pode testar usando o curl e ver a mágica acontecer.

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

Com os comandos de exemplo seria:

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

Também foi testado com um navegador normal como o Firefox, é lento, mas pode ser usado.

Você também pode encaminhar outras portas de protocolo como SSH configurando o servidor assim:

root@kitploit:~
npm run server localhost 22 12345678901

E então conectar ao servidor usando no cliente:

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

Uso no Android

Para usar no Android, você pode usá-lo com o Termux usando os seguintes 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

Aviso legal

Usar esta biblioteca pode resultar no banimento da sua conta do WhatsApp. Use com um número temporário ou por sua própria conta e risco.

A FAZER

  • Criar um script Android para instalar dependências do Node no Termux
  • Quando o Baileys suportar chamadas, implementar o envio de pacotes por chamadas
  • Implementar o envio de arquivos para pacotes grandes de dados para reduzir mensagens e talvez melhorar a velocidade
  • Armazenar em cache as respostas do socket para reduzir ainda mais a quantidade de mensagens enviadas
  • Documentação

Licença

MIT

Baixar ferramenta