====== SNMP ====== ===== Introduction ===== ==== Protocole et version ==== SNMP, pour simple network management, est un protocole courant de gestion de noeud IP. Il est défini par la RFC 1157 datant de 1990 et s'appuie sur des MIB (management information base), des bibliothèques d'objets, spécifiées dans la RFC 1156. Le SMI, en tant que recommandation globale, préconise que chaque protocole sur un réseau IP soit gérable et donc dispose de sa MIB. SNMP est dédié à l'interrogation des MIB. Une MIB est une structure arborescente, une MIB s'appliquant à un équipement sur internet aura des OID commençant par ".1.3.6.1". Un objet contenu dans une MIB est appelé OID. Pour plus d'informations sur ce sujet voir : http://www.bortzmeyer.org/1155.html # Schéma en cours Les versions les plus importantes du protocole SNMP sont : === Version 1 : === * Niveau : noAuthNoPriv * Authentification : Community String * Chiffrement : Non * Utilise une chaine de caractères pour l'authentification. === Version 2c : === * Niveau : noAuthNoPriv * Authentification : Community String * Chiffrement : Non * Utilise une chaine de caractères pour l'authentification. * Ajout du support des counter 64bits depuis cette version === Version 3 : === * Niveau : noAuthNoPriv * Authentification : Nom d'utilisateur * Chiffrement : Non * Utilise un nom d'utilisateur pour l'authentification. === Version 3 : === * Niveau : authNoPriv * Authentification : MD5 ou SHA * Chiffrement : Non * Utilise l'algorithme MD5 ou SHA pour l'authentification. === Version 3 : === * Niveau : authPriv * Authentification : MD5 ou SHA * Chiffrement : DES * Utilise l'algorithme MD5 ou SHA pour l'authentification. Utilise l'algorithme DES pour le chiffrement. Plus d'informations sur les counters SNMP (sur équipement Cisco) : http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/26007-faq-snmpcounter.html ==== Port et intégration à la pile IP ==== Le service SNMP est en écoute sur le port 161 et sur le port 162 (réservé aux "trap"). Le protocole SNMP se situe en couche 7 (application) du modèle OSI et s'appuie sur le protocole UDP, couche 4 (transport). ==== Fonctionnement général ==== # Schema en cours ===== Boite à outil SNMP ===== * Note : ces outils sont présents dans net-snmp, pour son installation et sa configuration (notamment pour les mibs), voir : http://ram-0000.developpez.com/tutoriels/reseau/Net-SNMP-1/ * Installation : * yum -y install net-snmp net-snmp-utils ==== snmpget ==== Permet de récupérer la valeur d'une OID. ''# snmpget -v -c '' ==== snmpwalk ==== Permet de récupérer toutes les valeurs d'un sous-arbre. ''# snmpwalk -v -c '' ==== snmptable ==== Identique à snmpwalk mais la sortie est présentée sous forme de tableau plus lisible. ''# snmptable -v -c -Cb '' ==== snmpcheck ==== Outil d'énumération snmp ''#snmpcheck -t '' ==== scapy ==== Outil permettant de forger des paquets. Application à snmp : ''i=IP(src="192.168.2.100",dst="192.168.2.150")/UDP(sport=161,dport=161) s1=SNMP(community="private",PDU=SNMPset(varbindlist=[SNMPvarbind(oid=ASN1_OID("1.3.6.1.4.1.9.9.96.1.1.1.1.14.112"),value=6)]))'' Utilisation de scapy : * http://www.packetlevel.ch/html/scapy/scapychw.html * https://openclassrooms.com/courses/manipulez-les-paquets-reseau-avec-scapy * https://repo.zenk-security.com/Protocoles_reseaux_securisation/Les%20Fourberies%20de%20Scapy.pdf ==== nmap ==== Outil de scan réseau généraliste Usage spécifique à SNMP (source : https://nmap.org) === snmp-info === == Example Usage == ''nmap -sV '' == Script Output == * 161/udp open snmp udp-response ttl 244 ciscoSystems SNMPv3 server (public) * | snmp-info: * | enterprise: ciscoSystems * | engineIDFormat: mac * | engineIDData: 00:d4:8c:00:11:22 * | snmpEngineBoots: 6 * | snmpEngineTime: 358d01h13m46s === snmp-brute === == Example Usage == ''nmap -sU --script snmp-brute [--script-args snmp-brute.communitiesdb= ]'' == Script Output == * PORT STATE SERVICE * 161/udp open snmp * | snmp-brute: * | dragon - Valid credentials * |_ jordan - Valid credentials === snmp-sysdescr === == Example Usage == ''nmap -sU -p 161 --script snmp-sysdescr '' == Script Output == * | snmp-sysdescr: HP ETHERNET MULTI-ENVIRONMENT,ROM A.25.80,JETDIRECT,JD117,EEPROM V.28.22,CIDATE 08/09/2006 * |_ System uptime: 28 days, 17:18:59 (248153900 timeticks) === snmp-interfaces === == Example Usage == ''nmap -sU -p 161 --script=snmp-interfaces '' == Script Output == * | snmp-interfaces: * | eth0 * | IP address: 192.168.221.128 * | MAC address: 00:0c:29:01:e2:74 (VMware) * | Type: ethernetCsmacd Speed: 1 Gbps * |_ Traffic stats: 6.45 Mb sent, 15.01 Mb received