Exemplo de SNMPv3

A versão 3 do SNMP (Simple Network Management Protocol) apareceu hÔ muito tempo em resposta aos fracos recursos da versão 2 em termos de segurança. No entanto, apesar da disponibilidade e ampla distribuição das descrições do protocolo versão 3 do protocolo [1], existem poucas descrições de implementações baseadas no SNMP v3. A publicação atual reflete um estudo dos despejos de despejo da 'GUI do Element Manager' (doravante EM) e da Plataforma de Transporte Multi-Transporte (doravante MHTP).

Examinaremos uma série de solicitações SNMP de obtenção e definição emitidas pelo EM no momento em que o aplicativo foi iniciado e autenticado e respostas MHTP a essas solicitações. Antes de investigar a sequência e o conteúdo das consultas, preste atenção ao seguinte:

1) O cliente (EM), para autenticação bem-sucedida, deve ter informações sobre os seguintes parâmetros do USM (RFC 3414):

• Nome de usuĆ”rio - por exemplo "Administrador",
• Protocolo de autenticação - MD5,
• Chave de autenticação - por exemplo '12345',
• Protocolo de privacidade - AES,
• Chave de privacidade - por exemplo '12345',
• Nome do contexto - 'tnms'.

2) Ao criar uma conexão UDP no lado do cliente, o sistema operacional seleciona 'porta de origem' (não confunda com a 'porta de destino', que é 161 por padrão para obter / configurar SNMP). O valor de 'porta de origem' pode mudar com diferentes ativações do aplicativo cliente. Nesta implementação, o valor de 'porta de origem' é usado na formação dinâmica do OID. Por exemplo, se você selecionar 'porta de origem' = 60583, teremos o byte 0xEC e 0xA7 e um sufixo dinâmico como parte de um OID do formulÔrio '.236.167'.

3) O endereço IP próprio é conhecido pelo lado do cliente e é usado na formação dinâmica do OID. Por exemplo, para o endereço IP do cliente '10 .60.1.5 ', parte do' .10.60.1.5. 'EstarÔ presente no OID de algumas solicitações.

4) O valor do nome de usuÔrio mencionado acima também é usado na formação do OID. Por exemplo, para 'Administrador', parte de '.65.100.109.105.110.105.115.116.114.97.116.111.114. (ASCII).

Agora, passamos à sequência e ao conteúdo das solicitações get e set ao iniciar o EM, a autenticação e a criação de uma sessão (a parte do dump não é fornecida abaixo):

Solicitações 1 e 2. De acordo com a RFC 5343, "descobrimos" os parâmetros EngineID, EngineBoots e EngineTime,

Pedido:
data: get-request,
msgData: texto simples,
associaƧƵes de variƔveis: -


Resposta:
dados: relatório,
msgData: texto simples,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.6.3.15.1.1.4 ( usmStatsUnknownEngineIDs ) (Integer32) ==> 1.


Curiosamente, os valores EngineBoots e EngineTime obtidos sĆ£o usados ​​a partir da solicitação 4, e na solicitação 3 Ć© necessĆ”rio definir valores zero para eles.

Solicitação 3. Solicite usStatsNotInTimeWindows

Pedido:
data: get-request,
msgData: encryptedPDU,
associaƧƵes de variƔveis: -


Resposta:
dados: relatório,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.6.3.15.1.1.2.0 ( usmStatsNotInTimeWindows ) (Integer32) ==> 0.


O nĆŗmero total de pacotes recebidos pelo mecanismo SNMP fora da janela autoritativa.

Pedido 4 . Solicitação SnmpAgentState.
Pedido:
data: get-request,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.4.1.42229.1.1.1.7.128.6.0

Resposta:
dados: obter resposta,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.4.1.42229.1.1.1.7.128.6.0 (snmpAgentState) (Integer32) ==> 3 (ENABLED).

Status do agente.

Pedido 5 . Solicitação SysDescr
Pedido:
data: get-request,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.2.1.1.1.0 (sysDescr)

Resposta:
dados: obter resposta,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.2.1.1.1.0 (sysDescr) ==> '--------- Copyright 2019 ******. Todos os direitos reservados. (OctetString)

Solicitação 6. A solicitação interfaceVersion é estruturalmente semelhante a 4 e 5.
Solicitação 7. Solicite usmXUserLastSuccessfulLogin
Pedido:
data: get-request,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.4.1.42229.1.1.1.9.2.1.13.13.65.100.109.105.110.105.115.116.114.97.116.111.114

Resposta:
dados: obter resposta,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (1 item)
1.3.6.1.4.1.42229.1.1.1.9.2.1.13.13.65.100.109.105.110.105.115.116.114.97.116.111.114 (usmXUserLastSuccessfulLogin)
==> 07: e3: 09: 0a: 06: 1f: 36: 00: 2b: 00: 00 (OctetString)
==> 10/09/2019, etc.
Nome de usuÔrio ('Administrador') - '. 65.100.109.105.110.105.115.116.114.97.116.111.114.' EstÔ incluído diretamente no OID, para o qual é solicitada a hora da sua última autenticação bem-sucedida.

Pedido 8. Pedido para criar uma sessão
Pedido:
data: set-request,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (4 itens)
1.3.6.1.4.1.42229.1.1.1.9.6.1.2.6.10.60.1.5.236.167 ==> 4 (Integer32) ==> createAndGo 1.3.6.1.4.1.42229.1.1.1.9.6.1.5.6.10.60.1. 5.236.167 ==> 2 (Integer32) ==> sessionRemoteLogin
1.3.6.1.4.1.42229.1.1.1.9.6.1.3.6.10.60.1.5.236.167 ==> 41646d696e6973747261746f72 (OctetString) ==> sessionUserName ('Administrator')
1.3.6.1.4.1.42229.1.1.1.9.6.1.4.6.10.60.1.5.236.167 ==> 4043542020 (OctetString) ==> sessionManager ==> 'root'
Resposta:
dados: obter resposta,
msgData: encryptedPDU,
associaƧƵes de variƔveis: (4 itens)
1.3.6.1.4.1.42229.1.1.1.9.6.1.2.6.10.60.1.5.236.167 ==> 4 (Integer32) ==> createAndGo 1.3.6.1.4.1.42229.1.1.1.9.6.1.5.6.10.60.1. 5.236.167 ==> 2 (Integer32) ==> sessionRemoteLogin
1.3.6.1.4.1.42229.1.1.1.9.6.1.3.6.10.60.1.5.236.167 ==> 41646d696e6973747261746f72 (OctetString) ==> sessionUserName ('Administrator')
1.3.6.1.4.1.42229.1.1.1.9.6.1.4.6.10.60.1.5.236.167 ==> 4043542020 (OctetString) ==> sessionManager ==> 'root'
O endereço IP e a porta de origem estão incluídos diretamente no OID: '.10.60.1.5.236.167'.

A publicação ilustra brevemente os recursos da implementação do SNMP v3 inerentes ao MHTP.

[1] Douglas R. Mauro e Kevin J. Schmidt, ā€œSNMP Essencialā€ (segunda edição).
[2] gtacknowledge.extremenetworks.com/articles/How_To/How-to-decrypt-SNMPv3-packets-in-Wireshark
[3] labs.spritelink.net/talking-snmpv3-with-nsn-hit7300

Source: https://habr.com/ru/post/pt484442/


All Articles