SNMP
SNMP - Guide Complet pour l'Énumération et le Pentest
⚠️ Avertissement : Ce contenu est strictement destiné à un usage éducatif et éthique dans le domaine de la cybersécurité. Toute utilisation illégale ou malveillante est interdite et engage la seule responsabilité de l’utilisateur.
Introduction
Le SNMP (Simple Network Management Protocol) est un protocole couramment utilisé pour la gestion et la surveillance des équipements réseau tels que routeurs, commutateurs, imprimantes, serveurs, etc. Si mal configuré, il peut exposer des informations sensibles ou permettre des modifications non autorisées.
1. Fonctionnement du Protocole SNMP
1.1 Ports et Versions
Port 161 (UDP) : Utilisé pour interroger les agents SNMP.
Port 162 (UDP) : Utilisé pour les notifications SNMP (traps).
Versions :
SNMPv1 : Basique, non sécurisé (texte clair).
SNMPv2c : Fonctionnalités supplémentaires, mais toujours non sécurisé.
SNMPv3 : Authentification et chiffrement, recommandé.
1.2 Concepts Clés
OID (Object Identifier) : Identifie les paramètres ou ressources d'un dispositif.
MIB (Management Information Base) : Structure hiérarchique définissant les OID.
Community Strings :
public : Lecture seule (souvent vulnérable).
private : Accès en écriture.
2. Outils pour Énumérer SNMP
Les outils suivants permettent d'explorer SNMP à différents niveaux :
2.1 snmpwalk
Utilisé pour parcourir et extraire les informations disponibles via SNMP.
Idéal pour une exploration détaillée d'un hôte.
2.2 snmpget
Permet d’interroger des OID spécifiques pour récupérer des valeurs précises.
2.3 onesixtyone
Optimisé pour tester rapidement des community strings sur un ou plusieurs hôtes.
2.4 Braa
Conçu pour des scans massifs en parallèle sur plusieurs cibles SNMP.
2.5 Nmap
Dispose de scripts puissants pour énumérer SNMP et détecter des configurations vulnérables.
3. Énumération de Base de SNMP
3.1 Scanner les Ports SNMP
Identifiez les appareils avec le port SNMP ouvert :
Explications :
-p 161
: Cible le port SNMP.-sU
: Scan UDP.-sV
: Détecte la version du service.
3.2 Tester les Community Strings
Avec onesixtyone
Brute-force des community strings :
Explications :
-c community_strings.txt
: Fichier contenant une liste de chaînes à tester.
Résultat attendu : Affiche les chaînes valides détectées.
3.3 Interroger un Appareil
Avec snmpwalk
Récupérez toutes les informations disponibles :
Explications :
-v 2c
: Utilise SNMP version 2c.-c public
: Spécifie la community string (lecture seule).
Avec snmpget
Interrogez un OID précis :
OID courants :
1.3.6.1.2.1.1.1.0
: Description du système.1.3.6.1.2.1.1.5.0
: Nom du système.
3.4 Interroger plusieurs hôtes
Avec Braa
Scannez plusieurs hôtes simultanément :
Explications :
Spécifie plusieurs cibles séparées par des virgules.
Utilise la community string
public
par défaut.
Exemple avec OID spécifique
Résultat attendu : Retourne la description des systèmes pour chaque cible.
3.5 Scripts avec Nmap
Automatisez les requêtes SNMP avec des scripts dédiés :
Scripts utiles :
snmp-info
: Récupère des informations générales.snmp-interfaces
: Liste les interfaces réseau.snmp-brute
: Teste les community strings.
4. Énumération Avancée
4.1 Découvrir des Utilisateurs
Utilisez snmpwalk pour énumérer les utilisateurs locaux :
4.2 Processus Actifs
Identifiez les processus actifs :
4.3 Configurations Réseau
Récupérez les adresses IP configurées :
4.4 Interrogation de Masses avec Braa
Pour un grand nombre de cibles :
Préparez un fichier
targets.txt
contenant les adresses IP.Utilisez Braa avec ce fichier :
5. Exploitation de SNMP
5.1 Modifier les Configurations
Si la community string d'écriture (private
) est trouvée, utilisez snmpset
:
Exemple : Changer le nom du système :
5.2 Utilisation avec Metasploit
Lancez Metasploit :
Chargez le module SNMP :
6. Sécurisation de SNMP
Désactiver les Versions Insecure :
Remplacez SNMPv1 et SNMPv2c par SNMPv3.
Changer les Community Strings :
Évitez les valeurs par défaut (
public
,private
).Utilisez des chaînes complexes.
Restreindre les Accès :
Configurez des ACL pour limiter l'accès aux adresses IP de confiance.
Désactiver SNMP si Inutilisé :
Désactivez complètement SNMP sur les appareils non surveillés.
Surveiller les Logs :
Détectez les tentatives de scans ou d’accès non autorisés.
7. Comparaison des Outils SNMP
snmpwalk
Exploration en profondeur d'un hôte
Simplicité, informations détaillées
snmpget
Récupération ciblée d'informations
Précision
onesixtyone
Brute-force des community strings
Rapidité
Braa
Scans massifs en parallèle
Efficace sur des réseaux larges
Nmap
Énumération et détection de vulnérabilités
Polyvalence grâce aux scripts
8. Bonnes Pratiques
Testez avec Autorisation : Effectuez vos tests uniquement dans un cadre légal et éthique.
Corrélez les Données : Combinez les informations SNMP avec d’autres sources (DNS, LDAP) pour une analyse complète.
Documentez Vos Résultats : Notez les community strings, OID intéressants, et autres failles pour proposer des correctifs.
Liens utiles :
Dernière mise à jour