SNMPv3-Beispiel

Die Version 3 von SNMP (Simple Network Management Protocol) erschien vor langer Zeit als Antwort auf die schwachen Sicherheitsfunktionen von Version 2. Trotz der Verfügbarkeit und Verbreitung der Protokollbeschreibungen von Version 3 [1] gibt es nur wenige Beschreibungen von Implementierungen, die auf SNMP v3 basieren. Der aktuelle Beitrag spiegelt eine Studie zu den Dump-Dumps der 'Element Manager GUI' (im Folgenden: EM) und der Multi-Haul Transport Platform (im Folgenden: MHTP) wider.

Wir werden eine Reihe von SNMP-Abruf- und Einstellanforderungen untersuchen, die von EM zum Zeitpunkt des Starts und der Authentifizierung der Anwendung ausgegeben wurden, sowie MHTP-Antworten auf diese Anforderungen. Bevor Sie sich mit der Reihenfolge und dem Inhalt von Abfragen befassen, müssen Sie Folgendes beachten:

1) Der Client (EM) muss für eine erfolgreiche Authentifizierung über Informationen zu den folgenden USM-Parametern (RFC 3414) verfügen:

• Benutzername - z "Administrator",
• Authentifizierungsprotokoll - MD5,
• Authentifizierungsschlüssel - z "12345",
• Datenschutzprotokoll - AES,
• Datenschutzschlüssel - z "12345",
• Kontextname - 'tnms'.

2) Beim Herstellen einer UDP-Verbindung auf der Clientseite wählt das Betriebssystem den Quellport (nicht zu verwechseln mit dem Zielport, der standardmäßig 161 für SNMP get / set ist). Der Wert von 'Quellport' kann sich bei verschiedenen Starts der Client-Anwendung ändern. In dieser Implementierung wird der Wert von "Quellport" bei der dynamischen Bildung der OID verwendet. Wenn Sie beispielsweise "Quellport" = 60583 auswählen, haben wir die Bytes 0xEC und 0xA7 sowie ein dynamisches Suffix als Teil einer OID der Form ".236.167".

3) Die eigene IP-Adresse ist dem Client bekannt und wird bei der dynamischen Bildung der OID verwendet. Beispielsweise ist für die Client-IP-Adresse '10 .60.1.5 'ein Teil von' .10.60.1.5. 'In der OID einiger Anforderungen vorhanden.

4) Der oben genannte Benutzername wird auch bei der Bildung der OID verwendet. Zum Beispiel für 'Administrator', Teil des '.65.100.109.105.110.105.115.116.114.97.116.111.114. (ASCII).

Wir wenden uns nun der Reihenfolge und dem Inhalt von Get- und Set-Anforderungen zu, wenn Sie EM starten, authentifizieren und eine Sitzung erstellen (der Dump-Teil wird unten nicht angegeben):

Anforderungen 1 und 2. Gemäß RFC 5343 „ermitteln“ wir die Parameter EngineID, EngineBoots und EngineTime.

Anfrage:
Daten: Get-Request,
msgData: Klartext,
Variablenbindungen: -


Antwort:
Daten: Bericht,
msgData: Klartext,
Variablenbindungen: (1 Artikel)
1.3.6.1.6.3.15.1.1.4 ( usmStatsUnknownEngineIDs ) (Integer32) ==> 1.


Interessanterweise werden die erhaltenen EngineBoots- und EngineTime-Werte ab Anforderung 4 verwendet, und in Anforderung 3 müssen für sie Nullwerte festgelegt werden.

Request 3. Fordern Sie usmStatsNotInTimeWindows an

Anfrage:
Daten: Get-Request,
msgData: encryptedPDU,
Variablenbindungen: -


Antwort:
Daten: Bericht,
msgData: encryptedPDU,
Variablenbindungen: (1 Artikel)
1.3.6.1.6.3.15.1.1.2.0 ( usmStatsNotInTimeWindows ) (Integer32) ==> 0.


Die Gesamtzahl der Pakete, die von der SNMP-Engine außerhalb des autorisierenden Fensters empfangen wurden.

Anfrage 4 . SnmpAgentState-Anforderung.
Anfrage:
Daten: Get-Request,
msgData: encryptedPDU,
Variablenbindungen: (1 Artikel)
1.3.6.1.4.1.42229.1.1.1.7.128.6.0

Antwort:
Daten: Get-Responce,
msgData: encryptedPDU,
Variablenbindungen: (1 Artikel)
1.3.6.1.4.1.42229.1.1.1.7.128.6.0 (snmpAgentState) (Integer32) ==> 3 (AKTIVIERT).

Agentenstatus.

Anfrage 5 . SysDescr-Anfrage
Anfrage:
Daten: Get-Request,
msgData: encryptedPDU,
Variablenbindungen: (1 Artikel)
1.3.6.1.2.1.1.1.0 (sysDescr)

Antwort:
Daten: Get-Responce,
msgData: encryptedPDU,
Variablenbindungen: (1 Artikel)
1.3.6.1.2.1.1.1.0 (sysDescr) ==> '--------- Copyright 2019 ******. Alle Rechte vorbehalten. ' (OctetString)

Anfrage 6. Die interfaceVersion-Anfrage ist strukturell ähnlich zu 4 und 5.
Request 7. Fordern Sie usmXUserLastSuccessfulLogin an
Anfrage:
Daten: Get-Request,
msgData: encryptedPDU,
Variablenbindungen: (1 Artikel)
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

Antwort:
Daten: Get-Responce,
msgData: encryptedPDU,
Variablenbindungen: (1 Artikel)
1.3.6.1.4.1.42229.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 usw.
Benutzername ('Administrator') - '. 65.100.109.105.110.105.115.116.114.97.116.111.114.' Ist direkt in der OID enthalten, für die der Zeitpunkt der letzten erfolgreichen Authentifizierung angefordert wird.

Anfrage 8. Fordern Sie an, eine Sitzung zu erstellen
Anfrage:
Daten: Set-Request,
msgData: encryptedPDU,
Variablenbindungen: (4 Artikel)
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.9.6.1.5.6.10.60.1. 5.236.167 ==> 2 (Integer32) ==> sessionRemoteLogin
1.3.6.1.4.1.42229.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'
Antwort:
Daten: Get-Responce,
msgData: encryptedPDU,
Variablenbindungen: (4 Artikel)
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.9.6.1.5.6.10.60.1. 5.236.167 ==> 2 (Integer32) ==> sessionRemoteLogin
1.3.6.1.4.1.42229.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'
Die IP-Adresse und der Quellport sind direkt in der OID enthalten: '.10.60.1.5.236.167'.

In diesem Beitrag werden die Funktionen der SNMP v3-Implementierung von MHTP kurz erläutert.

[1] Douglas R. Mauro und Kevin J. Schmidt "Essential SNMP" (zweite Auflage).
[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/de484442/


All Articles