Introdução

Com o aumento da complexidade das infraestruturas de rede e a sofisticação dos ataques cibernéticos, é essencial que as empresas estejam preparadas para identificar e remediar vulnerabilidades em seus sistemas. É nesse contexto que entra em jogo a prática do red teaming.

O red teaming desafia as defesas de uma organização, simulando ataques realistas e fornecendo uma avaliação aprofundada da postura de segurança. Uma das estratégias utilizadas pelo red team é o pivoting. Esta técnica permite que os analistas expandam seu acesso e explorem diferentes máquinas na rede.

Neste artigo, mostraremos os tipos de pivoting, ferramentas e recomendações.

1. O que é Pivoting?

O Pivoting é uma técnica que permite que um atacante progrida de um ponto inicial comprometido para outros na rede alvo, buscando ampliar seu controle e explorar diferentes áreas da infraestrutura.

O objetivo é superar barreiras de segurança, como firewalls, segmentação de rede e restrições de acesso, para explorar redes internas com mais liberdade. Ao se movimentar pela rede por meio do pivoting, um red teamer pode identificar novas vulnerabilidades, explorar ativos importantes e até mesmo obter informações sensíveis.

Pivoting - Red Team - O que é Pivoting? - Softwall

Imagine o seguinte cenário: estamos na máquina A e temos acesso apenas à máquina B em uma rede corporativa. A máquina B, no entanto, possui uma interface de rede adicional que a conecta a outras máquinas na rede (C e D). Inicialmente, não temos acesso direto a essas outras máquinas, mas usando a técnica de pivoting, podemos criar um túnel que passa pela máquina B e nos permite acessar as máquinas C e D.

Nesse caso, o pivoting se torna essencial para expandir nossa presença e explorar os recursos de outras redes. Utilizando ferramentas e técnicas apropriadas, podemos estabelecer uma conexão segura e oculta através da máquina B, usando-a como ponto intermediário para acessar as máquinas em outras redes.

Esse exemplo ilustra como o pivoting pode ser uma estratégia valiosa para red teamers permitindo que eles avancem através de uma rede e acessem sistemas adicionais que, de outra forma, estariam fora de seu alcance.

No próximo estágio, vamos explorar os diferentes tipos de pivoting e as ferramentas e técnicas utilizadas para realizar essa operação.

2. Tipos de Pivoting

A seguir, vamos explorar três dos tipos mais comuns de pivoting: Encaminhamento de portas, proxy tunneling e pivoting duplo.

2.1 Encaminhamento de portas

Encaminhamento de portas (port forwarding) é um tipo de pivoting que envolve redirecionar o tráfego de uma porta específica de uma máquina comprometida para outra máquina na rede alvo. Essa técnica permite que o red teamer acesse serviços ou recursos disponíveis em uma máquina alvo, mesmo que eles estejam originalmente inacessíveis externamente.

Pivoting - Red Team - Encaminhamento de Portas - Softwall

Por exemplo, suponha que o red teamer tenha comprometido a máquina B na rede alvo e queira acessar uma aplicação web na máquina C que está protegida por um firewall. Utilizando o port forwarding, o red teamer pode configurar o redirecionamento de uma porta na máquina B para a porta correspondente na máquina C. Dessa forma, é possível acessar a aplicação web contornando as proteções do firewall.

2.2 Proxy Tunneling

O proxy tunneling é um método de pivoting que permite que o red teamer estabeleça uma conexão segura através de um proxy ou servidor intermediário para acessar sistemas ou recursos na rede alvo. Essa técnica é particularmente útil quando há um firewall ou segmentação na rede que bloqueia o acesso direto aos sistemas internos.

Pivoting - Red Team - Tunneling - Softwall

Por exemplo, o red teamer pode configurar um proxy no sistema comprometido B e redirecionar o tráfego através dele. A partir desse proxy, o red teamer pode estabelecer uma conexão com as máquinas na rede alvo, como a máquina C ou D, e explorar sua infraestrutura.

2.3 Pivoting Duplo

O pivoting duplo envolve o uso de duas máquinas intermediárias para alcançar sistemas adicionais na rede alvo. Nessa técnica, o red teamer estabelece uma cadeia de pivoting, onde cada máquina comprometida é usada como ponto intermediário para acessar a próxima máquina na rede.

Pivoting - Red Team - Pivoting Duplo - Softwall

Por exemplo, o red teamer pode comprometer a máquina B na rede alvo e, a partir dela, estabelecer um túnel para a máquina X na rede C. O pivoting duplo permite uma progressão escalonada pelo ambiente, expandindo o controle e explorando diferentes áreas da rede alvo.

3. Ferramentas e Técnicas de Pivoting

Existem várias ferramentas e técnicas disponíveis para auxiliar na realização de pivoting durante atividades de red teaming em cybersecurity. Por exemplo:

  • Chisel
  • Udp2Raw
  • Fraud Bridge
  • SSF
  • Egress-Assess
  • Ligolo-ng
  • Sshuttle
  • Rpivot
  • Tunna
  • reGeorg/neo-Georg
  • PivotSuite
  • Entre outros
Exploraremos aqui os dois primeiros: Chisel e Udp2Raw. Para informações sobre as outras ferramentas, acesse: https://johnermac.gitbook.io

3.1 Chisel

Chisel é uma ferramenta para tunel TCP/UDP, transportado por HTTP e seguro por meio de SSH. Ao utilizar o Chisel, um red teamer pode implantar um servidor Chisel em uma máquina intermediária comprometida na rede alvo. Em seguida, estabelecer uma conexão segura com esse servidor a partir de uma máquina externa, permitindo a criação de um túnel criptografado entre as duas máquinas. Esse túnel possibilita o acesso a sistemas adicionais na rede alvo de forma segura e discreta.

Pivoting - Red Team - Chisel - Softwall

Chisel é uma ferramenta completa que oferece opções como Local Port Forwarding, Remote Port Forwarding e a utilização de proxy SOCKS para acesso de interfaces de forma dinamica, encaminhando todo o tráfego da máquina target para nossa máquina.

3.1.1 Considerações

Pontos Positivos:

  • Fácil utilização
  • Não é precisar de servidor SSH no target
  • Comunicação criptografada
  • Abertura de porta de destino de forma dinamica
  • Não é necessário saber a senha da máquina target

Pontos Negativos:

  • Necessário abrir porta na máquina do target
  • Necessário enviar o arquivo chisel client para a máquina target

3.1.2 Modo de Uso

Local Port Forwarding

Target: chisel server -p 9999 –host -v
Kali: chisel client -v 127.0.0.1:8080::80

Desse modo podemos acessar a porta 80 do Target:
Kali: Curl 127.0.0.1:8080
Reverse Remote Port Forwarding

Kali: chisel server -p 9999 –host –reverse -v
Target: chisel client -v R:127.0.0.1:8080::80

Desse modo podemos acessar a porta 80 do Target:
Kali: curl 127.0.0.1:8080

Podemos utilizar o proxy SOCKS em ambos os métodos, ao aplicá-lo temos o redirecionamento de todo o tráfego, não apenas de uma porta.

Por exemplo – Reverse Remote Port Fowarding utilizando Proxy SOCKS

Kali: chisel server -p 9999 –host –reverse -v
Target: chisel client -v R:127.0.0.1:8080:127.0.0.1:5555
Target: chisel server -p 8181 -–host 127.0.0.1 –socks5 -v
Target: chisel client -v 127.0.0.1:8181 127.0.0.1:5555:socks

Configure o socks5 no arquivo /etc/proxychains.conf do Kali para conseguir utilizar o proxychains.

  • Socks5 127.0.0.1 1080

Agora podemos acessar o Target atraves do tunelamento criado:

Kali: proxychains -q nmap -p 21,22,80 -sT -Pn

3.1.3 Demonstração

A seguir um video demonstrando o funcionamento do Chisel:

3.2 Udp2Raw

Com o UDP2Raw, podemos encapsular o tráfego UDP em pacotes TCP e enviá-los através de uma conexão estabelecida com uma máquina intermediária comprometida na rede alvo. Essa técnica permite contornar as restrições do firewall e encaminhar o tráfego UDP para acessar sistemas adicionais na rede alvo. Quando usado sozinho, o udp2raw apenas tuneliza o tráfego UDP. No entanto, se você utilizar o udp2raw em conjunto com qualquer VPN baseada em UDP, é possível tunelizar qualquer tipo de tráfego (incluindo TCP/UDP/ICMP). Atualmente, OpenVPN/L2TP/ShadowVPN e tinyfecVPN são confirmados como suportados.

Pivoting - Red Team - Udp2Raw - Softwall

Utilizando ICMP/FakeTCP header conseguimos bypassar bloqueios de firewall para protocolos UDP, UDP QOS ou alguns comportamentos inadequados de NAT. Tambem podemos utilizar header UDP, dessa forma udp2raw funciona como um tunel de UDP com algumas opções extras como criptografia (AES-128-CBC), anti-replay ou estabilização da conexão.

3.2.1 Considerações

Pontos Positivos:

  • Fácil utilização
  • Servidor pode ter multiplos clientes
  • Possui método de encapsulamento do header para bypassar firewall e dificultar detecção
  • Fechamento do tunelamento com senha

Pontos Negativos:

  • Necessário abrir porta na máquina do target
  • Necessário enviar o arquivo upd2raw para a máquina target
  • Possui uma limitação no tamanho do arquivo se for realizar data exfiltration

3.2.2 Modo de Uso

Target:
./udp2raw_amd64 -s -l :4000 -r 127.0.0.1:12345 -k “senha” –raw-mode faketcp -a

Kali:
./udp2raw_amd64 -c -l :3000 -r :4000 -k “senha” –raw-mode faketcp -a

Simulamos no exemplo, acesso a um serviço UDP na porta 12345 do Target. Após o tunelamento podemos acessar da seguinte forma:

Kali: nc -u 127.0.0.1 3000

Pivoting - Red Team - Modo de Uso - Softwall

3.2.3 Demonstração

A seguir um video demonstrando o funcionamento de Udp2Raw:

4. Melhores Práticas e Recomendações

4.1 Para Red Team

Autorização

Certifique-se de obter autorização por escrito e seguir as políticas, diretrizes e regulamentos da empresa antes de realizar qualquer atividade que possa sair do escopo do pentest. É fundamental respeitar a legalidade e garantir que todas as acões sejam realizadas dentro dos limites estabelecidos.

Confidencialidade

Mantenha a confidencialidade das informações sensíveis encontradas durante as atividades de pivoting. Respeite a privacidade dos sistemas e dados, evitando acessar, modificar ou divulgar informações que não sejam relevantes para os objetivos do red teaming.

Limpeza

Após a conclusão das atividades de pivoting, assegure-se de limpar adequadamente quaisquer vestígios deixados nos sistemas comprometidos. Restaure as configurações originais, remova ferramentas e arquivos utilizados e reverta quaisquer alterações feitas durante o processo.

Uso responsável das ferramentas

Utilize as ferramentas e técnicas com responsabilidade e entendimento completo de suas funcionalidades. Evite o uso indevido de técnicas que possam causar danos ou interrupções nos sistemas.

Documentação

Registre todas as atividades realizadas durante o pivoting de forma detalhada e precisa. Documente os passos executados, os sistemas acessados, as técnicas utilizadas e as descobertas relevantes.
Elabore relatórios claros e concisos para comunicar os resultados e as recomendações de segurança.

4.2 Para Blue Team

Implementar DLP (Data Loss Prevention)

DLP consegue detectar e bloquear transferencia de dados sensiveis de forma não autorizada

Filtrar tráfego da rede

Implemente proxies e utilize servidores dedicados para serviços como DNS, permitindo apenas que esses sistemas se comuniquem por meio de portas/protocolos específicos, em vez de permitir a comunicação de todos os sistemas dentro de uma rede. Os provedores de serviços em nuvem oferecem suporte a restrições baseadas em IP ao acessar recursos em nuvem. Considere utilizar listas de permissão de IP juntamente com gerenciamento de contas de usuário para garantir que o acesso aos dados seja restrito não apenas a usuários válidos, mas também a intervalos de IP esperados, a fim de mitigar o uso de credenciais roubadas para acessar dados.

Implementar NIDS/NIPS

Sistemas de detecção e prevenção de intrusões em rede que utilizam assinaturas de rede para identificar o tráfego relacionado à infraestrutura de comando e controle de adversários específicos, bem como ao malware, podem ser usados para mitigar atividades em nível de rede.

Efetuar segmentação da rede

Siga as melhores práticas para as configurações do firewall de rede, permitindo apenas as portas e o tráfego necessários para entrar e sair da rede.

Restringir as permissões de arquivos e diretórios

Utilize listas de controle de acesso (ACL) em sistemas de armazenamento em nuvem e objetos.

Aplicar gerenciamento de contas de usuário

Configure grupos de permissões e funções de usuário para o acesso ao armazenamento em nuvem. Implemente controles rígidos de Gerenciamento de Identidade e Acesso (IAM) para evitar o acesso a soluções de armazenamento, exceto para as aplicações, usuários e serviços que realmente necessitam de acesso. Certifique-se de emitir tokens de acesso temporários em vez de credenciais permanentes, principalmente quando o acesso está sendo concedido a entidades fora dos limites de segurança internos.

5. Referências

https://github.com/jpillora/chisel

https://github.com/wangyu-/udp2raw

https://attack.mitre.org/techniques/T1048/

https: //www.cloudflare.com/learning/network-layer/what-is-tunneling/
SOFTWALL – Em Curitiba e Região – Paraná:
Telefone: (41) 3153-5090
E-mail: comercial@softwall.com.br

Também em Balneário Camboriú e Região – Santa Catarina:
Telefone: (41) 3153-5090
E-mail: comercial@softwall.com.br
“Sua segurança é o nosso objetivo”