SNMP (Simple Network Management Protocol) fonctionne sur UDP 161 et expose l'état d'un équipement géré sous la forme d'un arbre d'identifiants d'objets (OID) organisés en MIB. Sur SNMPv1 et v2c, toujours dominants, le seul contrôle d'accès est une community string envoyée en clair, une chaîne de lecture (par convention public) pour les requêtes et une chaîne de lecture-écriture (par convention private) pour modifier les paramètres. Ce modèle faible fait de SNMP l'une des surfaces de reconnaissance et d'exposition d'identifiants les plus productives d'un réseau : routeurs, commutateurs, pare-feu, imprimantes, serveurs et appliances y répondent tous, et ce qu'ils renvoient comprend l'inventaire système, la topologie réseau et, fréquemment, des identifiants et des configurations complètes d'équipements. Avec une chaîne de lecture-écriture, SNMP permet aussi de reconfigurer l'équipement.
# detect and version the agent
nmap -sU -p161 -sV --script snmp-info <target>
snmpwalk -v2c -c public <target> 2>/dev/null | head # does a read string work?
Sous-sujets#
- Énumération : parcourir l'agent et lire les données de l'équipement.
- Community strings : obtenir des chaînes de lecture et de lecture-écriture.
- Divulgation d'informations : exposition du système, de la topologie, de la configuration et des identifiants.
- Versions : faiblesses en clair de v1/v2c et attaque de v3.
- Accès en écriture : reconfigurer l'équipement avec une chaîne de lecture-écriture.