O conceito de tunelamento em redes, muitas vezes associado a pivoting, oferece uma maneira poderosa de acessar dispositivos e serviços que não estão diretamente expostos à conexão inicial. Ao criar um túnel seguro através de um sistema comprometido, os invasores (e administradores de rede) podem alcançar recursos que normalmente estariam protegidos (ou indisponíveis) por firewalls, roteamento e outras medidas de segurança.
Entendendo o Tunelamento
Em essência, o tunelamento envolve encapsular o tráfego de rede dentro de outro protocolo. Isso permite que os dados atravessem firewalls e NATs (Network Address Translation), que geralmente bloqueiam conexões diretas. O protocolo mais comum para tunelamento é o SSH (Secure Shell), devido à sua criptografia robusta e ampla disponibilidade.
Pivoting com Túneis
O pivoting é a técnica de usar um sistema comprometido como ponto de partida para atacar outros dispositivos na mesma rede. O tunelamento desempenha um papel crucial nesse processo, permitindo que o invasor acesse a rede interna a partir de sua própria máquina, como se estivesse fisicamente presente.
Exemplos Práticos:
Cenário:
Imagine que você, como um pentester ético, conseguiu acesso a um servidor web (192.168.1.10) dentro de uma rede corporativa. Seu objetivo é acessar um servidor de banco de dados (192.168.1.20) que está na mesma rede, mas não é diretamente acessível de fora.
Solução com SSH Tunneling:
- Criar o Túnel: Na sua máquina, execute o seguinte comando SSH:

Substitua usuário pelo nome de usuário no servidor web e IP_SERVIDOR WEB pelo endereço IP do servidor web.
- Acessar o Banco de Dados: Agora, você pode acessar o banco de dados localmente na porta 8888. Por exemplo, se você usa o MySQL:

Explicação:
- A opção -L no comando SSH cria um túnel local.
- 8888 é a porta na sua máquina que será usada para acessar o banco de dados.
- 192.168.1.20:3306 é o endereço e porta do servidor de banco de dados na rede interna.
O SSH Tunneling encapsula o tráfego para o banco de dados dentro da conexão SSH com o servidor web, permitindo que você acesse o banco de dados como se ele estivesse na sua própria máquina.
Vantagens do SSH Tunneling:
- Simples: Não requer a configuração de regras no servidor comprometido.
- Seguro: O tráfego entre sua máquina e o servidor web é criptografado pelo SSH.
- Flexível: Você pode criar túneis para diferentes portas e protocolos.
Solução com Iptables:
- Configurar o Redirecionamento de Portas: No servidor web comprometido, execute os seguintes comandos iptables:

Substitua IP_EXTERNO pelo seu endereço IP público.
- Conectar via SSH: Na sua máquina, inicie uma conexão SSH para o servidor web, especificando a porta 2222:

Substitua usuario pelo nome de usuário no servidor web e IP_SERVIDOR_WEB pelo endereço IP do servidor web.
- Acesso ao Banco de Dados: Agora, você estará conectado ao servidor de banco de dados (192.168.1.20) através do servidor web (192.168.1.10) como um pivô.
Explicação:
- A primeira regra iptables habilita o encaminhamento de pacotes no servidor web, permitindo que ele atue como um roteador.
- A segunda regra redireciona qualquer tráfego SSH destinado à porta 2222 do seu IP externo para a porta 22 do servidor de banco de dados.
- A terceira regra permite que o tráfego SSH de resposta volte para sua máquina.
Observações:
- Estes são exemplos simplificados. Em um cenário real, você precisaria considerar a configuração do firewall do servidor web e da rede, além de outras medidas de segurança.
- O uso de pivoting pode ser detectado por sistemas de detecção de intrusão (IDS).
- Este tipo de técnica deve ser usado apenas para fins de teste e com autorização prévia.
Considerações de Segurança para o uso de túneis
- Criptografia: Utilize sempre protocolos de tunelamento criptografados, como SSH, para proteger o tráfego de interceptação.
- Autenticação: Implemente mecanismos de autenticação fortes para evitar o acesso não autorizado aos túneis.
- Monitoramento: Monitore o tráfego de rede para detectar atividades suspeitas que possam indicar o uso de túneis maliciosos.
Conclusão
O tunelamento é uma ferramenta poderosa que pode ser usada tanto para fins legítimos (como acesso remoto seguro) quanto para atividades maliciosas (como pivoting em ataques). Compreender como o tunelamento funciona é essencial para proteger suas redes e sistemas contra invasores.