HP muda o envio de pedidos de ping multi-cast

3

Eu não sou o cara normal da minha rede ... Acabei de ser recrutado para ajudar com esse problema, então, por favor, tenha paciência comigo.

Temos uma rede bastante grande (~ 4.000 dispositivos?) composta principalmente de equipamentos HP Procurve. De tempos em tempos, nas últimas duas semanas, temos recebido algumas tempestades de transmissão que praticamente derrubam tudo. Eu configurei o Wireshark para fazer lixões de 3MB, e eu peguei um pouco disso no ato esta manhã.

Existem milhares de pedidos de ping. Eles parecem vir dos endereços MAC de nossos switches e APs, e são enviados para um MAC multicast IPv4. Os endereços IP de origem não correspondem aos dos switches e APs ... eles são endereços IP atribuídos a alguns clientes na rede. O endereço IP de destino é sempre o do gateway.

Minha leitura sobre isso é que o firmware desses dispositivos Procurve está comprometido ou enlouqueceu ... ou alguém está falsificando os endereços e causando essa bagunça. Nenhum dos dois parece provável aqui, então estou perguntando se você tem alguma idéia de outras coisas a considerar.

Em outra nota, nossa rede não é sub-redes. (Sim, eu sei, eu sei ... não minha ligação, infelizmente.) Tudo é plano.

Obrigado pelo seu tempo.

Edit: Abaixo estão dois pacotes sequenciais da minha captura. Eu postei o resumo completo do Wireshark. Peço desculpas por estar um pouco confuso, mas é melhor explicar o que estou vendo.

No.     Time        Source                Destination           Protocol Info
  16885 2.094869    1.2.41.194        1.2.32.250        ICMP     Echo (ping) request

Frame 16885 (98 bytes on wire, 98 bytes captured)
    Arrival Time: Aug 31, 2010 07:59:11.185552000
    [Time delta from previous captured frame: 0.000123000 seconds]
    [Time delta from previous displayed frame: 0.000123000 seconds]
    [Time since reference or first frame: 2.094869000 seconds]
    Frame Number: 16885
    Frame Length: 98 bytes
    Capture Length: 98 bytes
    [Frame is marked: True]
    [Protocols in frame: eth:ip:icmp:data]
    [Coloring Rule Name: ICMP]
    [Coloring Rule String: icmp || icmpv6]
Ethernet II, Src: Procurve_44:0f:26 (00:1f:fe:44:0f:26), Dst: IPv4mcast_62:20:fa (01:00:5e:62:20:fa)
    Destination: IPv4mcast_62:20:fa (01:00:5e:62:20:fa)
        Address: IPv4mcast_62:20:fa (01:00:5e:62:20:fa)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Source: Procurve_44:0f:26 (00:1f:fe:44:0f:26)
        Address: Procurve_44:0f:26 (00:1f:fe:44:0f:26)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IP (0x0800)
Internet Protocol, Src: 1.2.41.194 (1.2.41.194), Dst: 1.2.32.250 (1.2.32.250)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 84
    Identification: 0x7718 (30488)
    Flags: 0x00
        0.. = Reserved bit: Not Set
        .0. = Don't fragment: Not Set
        ..0 = More fragments: Not Set
    Fragment offset: 0
    Time to live: 2
        [Expert Info (Note/Sequence): "Time To Live" only 2]
            [Message: "Time To Live" only 2]
            [Severity level: Note]
            [Group: Sequence]
    Protocol: ICMP (0x01)
    Header checksum: 0xd710 [correct]
        [Good: True]
        [Bad : False]
    Source: 1.2.41.194 (1.2.41.194)
    Destination: 1.2.32.250 (1.2.32.250)
Internet Control Message Protocol
    Type: 8 (Echo (ping) request)
    Code: 0 ()
    Checksum: 0xf112 [correct]
    Identifier: 0xdffd
    Sequence number: 0 (0x0000)
    Data (56 bytes)

0000  f8 17 44 fa 62 8d 00 00 80 11 42 da 8f e2 27 66   ..D.b.....B...'f
0010  8f e2 4e 0d 00 89 00 89 00 3a 2d df 00 00 00 00   ..N......:-.....
0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030  00 00 00 00 00 00 00 00                           ........
        Data: F81744FA628D0000801142DA8FE227668FE24E0D00890089...
        [Length: 56]

No.     Time        Source                Destination           Protocol Info
  16886 2.094991    1.2.44.101        1.2.32.250        ICMP     Echo (ping) request

Frame 16886 (98 bytes on wire, 98 bytes captured)
    Arrival Time: Aug 31, 2010 07:59:11.185674000
    [Time delta from previous captured frame: 0.000122000 seconds]
    [Time delta from previous displayed frame: 0.000122000 seconds]
    [Time since reference or first frame: 2.094991000 seconds]
    Frame Number: 16886
    Frame Length: 98 bytes
    Capture Length: 98 bytes
    [Frame is marked: True]
    [Protocols in frame: eth:ip:icmp:data]
    [Coloring Rule Name: ICMP]
    [Coloring Rule String: icmp || icmpv6]
Ethernet II, Src: HewlettP_05:5e:70 (00:17:a4:05:5e:70), Dst: IPv4mcast_62:20:fa (01:00:5e:62:20:fa)
    Destination: IPv4mcast_62:20:fa (01:00:5e:62:20:fa)
        Address: IPv4mcast_62:20:fa (01:00:5e:62:20:fa)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Source: HewlettP_05:5e:70 (00:17:a4:05:5e:70)
        Address: HewlettP_05:5e:70 (00:17:a4:05:5e:70)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IP (0x0800)
Internet Protocol, Src: 1.2.44.101 (1.2.44.101), Dst: 1.2.32.250 (1.2.32.250)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 84
    Identification: 0x7718 (30488)
    Flags: 0x00
        0.. = Reserved bit: Not Set
        .0. = Don't fragment: Not Set
        ..0 = More fragments: Not Set
    Fragment offset: 0
    Time to live: 2
        [Expert Info (Note/Sequence): "Time To Live" only 2]
            [Message: "Time To Live" only 2]
            [Severity level: Note]
            [Group: Sequence]
    Protocol: ICMP (0x01)
    Header checksum: 0xd46d [correct]
        [Good: True]
        [Bad : False]
    Source: 1.2.44.101 (1.2.44.101)
    Destination: 1.2.32.250 (1.2.32.250)
Internet Control Message Protocol
    Type: 8 (Echo (ping) request)
    Code: 0 ()
    Checksum: 0xf112 [correct]
    Identifier: 0xdffd
    Sequence number: 0 (0x0000)
    Data (56 bytes)

0000  f8 17 44 fa 62 8d 00 00 80 11 42 da 8f e2 27 66   ..D.b.....B...'f
0010  8f e2 4e 0d 00 89 00 89 00 3a 2d df 00 00 00 00   ..N......:-.....
0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030  00 00 00 00 00 00 00 00                           ........
        Data: F81744FA628D0000801142DA8FE227668FE24E0D00890089...
        [Length: 56]
    
por Brad 31.08.2010 / 17:17

5 respostas

1

Vou despejar muitos pensamentos e observações disjuntas em você, no caso de qualquer um deles ser capaz de estimular seu pensamento ou de outra pessoa.

  1. O endereço MAC de destino multicast corresponde ao endereço IPv4 unicast do seu firewall.
    É como se algum software pegasse o endereço IP do seu firewall, fingisse ser um endereço multicast e seguisse a fórmula para gerar um endereço MAC multicast Ethernet correspondente. Ou seja, foram necessários os últimos 23 bits do endereço IP e anexados ao final do 01: 00: 5e OUI.

    Eu tenho uma vaga lembrança de que pode haver protocolos que fazem isso (use um endereço multicast baseado em um endereço unicast), mas minhas vagas memórias me dizem que isso é algo mais provável de ser feito no IPv6 do que no IPv4. Vou ter que pesquisar um pouco mais depois.

    Atualização: Eu estava pensando no uso do IPv6 Neighbor Discovery (equivalente a ARP do IPv6) de um "endereço multicast de nó solicitado". Não tenho certeza se isso é uma grande vantagem, porque não vejo por que alguém iria querer fazer isso com pings IPv4.

  2. As cargas úteis desses pacotes de ping multicasts que você capturou não se parecem com cargas de ping típicas; eles têm dados significativos que podem ser uma pista.

    As cargas normais de ping geralmente contêm todo valor de byte de 0x00 a 0xff em ordem, portanto, na versão ASCII do dump, você verá todos os caracteres em ordem. Esses pings capturados parecem conter dados significativos. Eu vejo alguns endereços IP definidos e alguns números de porta possíveis:

    0000 f8 17 44 fa 62 8d 00 00 80 11 42 da 8f e2 27 66 ..D.b.....B...'f e 0010 8f e2 4e 0d 00 89 00 89 00 3a 2d df 00 00 00 00 ..N......:-.....

    No deslocamento 0x000c , vejo 8f e2 27 66 , que é o endereço IP [your class B].39.102 . Pesquisa de DNS reverso que revela justin.[your school].edu . Esse nome de host é significativo para você? Rastrear o que é esse host e quais softwares e serviços estão sendo executados (e possivelmente se estão infectados ou infectados) podem fornecer pistas sobre o que é esse tráfego.

    Seguindo diretamente, no deslocamento 0x0010 , vejo 8f e2 4e 0d , que é o endereço IP [your class B].78.13 , no qual não consigo obter um resultado de DNS reverso, mas talvez você possa descobrir de que é onde você está.

    Diretamente depois desses endereços IP, vejo o que eu considero serem dois números de porta, 00 89 (== 137, NetBIOS Name Service) e 00 89 novamente.

    Esta poderia ser uma mensagem do netbios-ns que de alguma forma foi escrita como ICMP em vez de UDP? Parece improvável. Muitos campos nos lugares errados, parece-me.

    Isso deveria ser uma mensagem inacessível de destino ICMP em resposta a uma mensagem netbios-ns, mas o cabeçalho ICMP foi gravado errado (como "solicitação de eco", em vez de "destino inacessível")? Parece improvável também. Muitos campos nos lugares errados novamente.

    Isso é algum tipo de mensagem de malware, coordenando quais hosts estão infectados / pwned e quais atacar em seguida? A navalha de Hanlon parece desconsiderar isso, mas acho que é plausível.

    Update: Pensando nisso, talvez a possibilidade mais provável seja de que algo esteja apenas reutilizando um buffer para preencher o corpo dessa solicitação de ping. Assim, o conteúdo pode ser um arenque vermelho.

  3. Os TTLs desses quadros sempre são apenas 2, ou você vê rajadas de TTLs decrescentes?
    Os mesmos TTLs sempre indicam que a tempestade de pacotes é uma espécie de loop de bridge de camada 2 pura. Decrementar TTLs indicaria que a camada 3, a camada IP, está se envolvendo; um desses códigos de gateway NAT do roteador sem fio pessoal do aluno pode estar cheio de bugs e encaminhar certos quadros que ele não tem encaminhamento de negócios, criando potencialmente um loop.

    Ou seja, estou sugerindo que pode haver dois problemas separados interagindo aqui. Um é o que está enviando esses pings estranhos com cargas úteis para um endereço MAC multicast, mas um endereço IPv4 unicast. O segundo problema poderia ser um dispositivo de buggy separado que vê os quadros que normalmente não veria e os encaminha de volta para a rede por um tempo extra, criando um loop.

por 06.09.2010 / 18:29
2

9 vezes em 10 quando vejo algo assim, é um loop em algum lugar. Se for pouco frequente, alguém está inserindo algo, depois fica perplexo porque não está funcionando e, em seguida, desconecta-o novamente. Isso é assassinato para encontrar em um laboratório ou ambiente de desenvolvimento, e é por isso que eu sempre tento insistir em separar os dois fisicamente e com um firewall.

O próximo problema mais frequente é algum tipo de atividade viral. Com menos frequência, é uma tempestade de árvore de abrangência e, com menos frequência, é um dispositivo de rede realmente quebrado.

Os loops sempre foram os frutos mais fáceis para mim. Se a spanning-tree não estiver ativada, você poderá investigar isso; Alguns switches HP ainda têm recursos de proteção de loop que desligarão uma porta se detectarem um loop nessa porta. Muito legal de ver em ação.

    
por 31.08.2010 / 17:22
1

verifique os tempos de anúncio padrão para seus protocolos de roteamento.

e qual configuração de árvore de abrangência você está usando nesses switches hp?

    
por 05.09.2010 / 21:30
1

Por favor, você pode fornecer mais informações sobre o endereço IP de destino? Da sua captura, parece ser um endereço unicast. Você pode confirmar que vem do mesmo / 16 (Classe B) que o resto do seu equipamento?

  • O endereço realmente existe na sua LAN?
  • Em caso afirmativo, que tipo de dispositivo é esse?

Edite com base no comentário:

Você poderia fornecer um diagrama de topologia? Se eu entendi corretamente, você tem algo como a topologia física a seguir, com seus switches conectados ao firewall:

                       {
Router --- Firewall ---{ [multiple switches]
                       {

Algumas outras perguntas adicionais:

  • Você tem os switches conectados a outros switches?
  • Qual máscara de rede você está usando em todos os seus hosts? Você está usando / 16 (255.255.0.0) em todos os dispositivos ou possui várias VLANs / sub-redes menores?
  • Qual gateway padrão está configurado nos seus switches?
  • O endereço MAC de destino no tráfego capturado corresponde ao endereço MAC da interface de firewall que possui o IP de destino configurado?

Se você tiver um contrato de suporte válido, eu consideraria abrir um caso com a HP e perguntar a eles o que seria o caso de os switches usarem um endereço MAC multicast ao enviar tráfego para um destino de unicast conhecido. Isso parece um bug para mim.

    
por 06.09.2010 / 01:02
0

Eu não estou entendendo sua pergunta. Você diz que tem solicitações de ping para endereços multicast? Eu nunca vi isso e estou me perguntando exatamente como você determinou isso, eles são realmente pacotes de solicitação de eco ICMP indo para endereços multicast ?. Você também afirmou que os pedidos de ping parecem vir dos seus switches, mas depois você diz que os endereços MAC de origem não são dos seus switches, então estou confuso quanto ao que você realmente está vendo. Você pode nos dar mais detalhes sobre o que exatamente você está vendo na captura? Talvez até postar uma ou duas linhas da captura mostrando os pacotes aos quais você está se referindo. Obrigado.

    
por 31.08.2010 / 18:03

Tags