<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
**Conseil pour les bug bounties** : **inscrivez-vous** sur **Intigriti**, une plateforme de bug bounties premium créée par des hackers, pour des hackers ! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) dès aujourd'hui et commencez à gagner des bounties jusqu'à **100 000 $** !
**SNMP - Simple Network Management Protocol** est un protocole utilisé pour surveiller différents appareils dans le réseau (comme les routeurs, les commutateurs, les imprimantes, les IoTs...).
SNMP utilise également le port **162/UDP** pour les **traps**. Ce sont des **paquets de données envoyés du serveur SNMP au client sans être explicitement demandés**.
Pour garantir que l'accès SNMP fonctionne entre les fabricants et avec différentes combinaisons client-serveur, la **Base d'Informations de Gestion (MIB)** a été créée. MIB est un **format indépendant pour stocker les informations des appareils**. Un MIB est un fichier **texte** dans lequel tous les **objets SNMP interrogeables** d'un appareil sont listés dans une hiérarchie arborescente **standardisée**. Il contient au **moins un `Identifiant d'Objet` (`OID`)**, qui, en plus de l'adresse **unique** nécessaire et d'un **nom**, fournit également des informations sur le type, les droits d'accès et une description de l'objet respectif.
Les fichiers MIB sont écrits dans le format de texte ASCII basé sur la `Notation Syntaxique Abstraite Un` (`ASN.1`). Les **MIB ne contiennent pas de données**, mais ils expliquent **où trouver quelle information** et à quoi elle ressemble, quelles valeurs de retour pour l'OID spécifique, ou quel type de données est utilisé.
**OIDs** signifie **Identifiants d'Objets**. **Les OIDs identifient de manière unique les objets gérés dans une hiérarchie MIB**. Cela peut être représenté comme un arbre, dont les niveaux sont attribués par différentes organisations. Les identifiants d'objets MIB de niveau supérieur (OIDs) appartiennent à différentes organisations standard.
Vous pouvez **naviguer** à travers un **arbre OID** depuis le web ici : [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) ou **voir ce qu'un OID signifie** (comme `1.3.6.1.2.1.1`) en accédant à [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).
Il existe certains **OIDs bien connus** comme ceux à l'intérieur de [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) qui référencent les variables du protocole de gestion de réseau simple (SNMP) définies par MIB-2. Et à partir des **OIDs dépendant de celui-ci**, vous pouvez obtenir des données intéressantes sur l'hôte (données système, données réseau, données de processus...)
Ces six premières valeurs ont tendance à être les mêmes pour tous les appareils et elles vous donnent les informations de base à leur sujet. Cette séquence de chiffres sera la même pour tous les OIDs, sauf lorsque l'appareil est fabriqué par le gouvernement.
* **SNMPv1** : La principale, elle est encore la plus fréquente, l'**authentification est basée sur une chaîne** (chaîne de communauté) qui circule en **texte clair** (toutes les informations circulent en texte clair). Les **versions 2 et 2c** envoient également le **trafic en texte clair** et utilisent une **chaîne de communauté comme authentification**.
* **SNMPv3** : Utilise une meilleure forme d'**authentification** et les informations circulent **chiffrées** en utilisant (**une attaque par dictionnaire** pourrait être effectuée mais il serait beaucoup plus difficile de trouver les identifiants corrects que dans SNMPv1 et v2).
Comme mentionné précédemment, **afin d'accéder aux informations enregistrées sur le MIB, vous devez connaître la chaîne de communauté dans les versions 1 et 2/2c et les identifiants dans la version 3.**\
Notez que **la possibilité d'écrire sur un OID dépend de la chaîne de communauté utilisée**, donc **même** si vous trouvez que "**public**" est utilisé, vous pourriez être capable d'**écrire certaines valeurs**. De plus, il **peut** exister des objets qui sont **toujours "Lecture Seule"**.\
Si vous essayez d'**écrire** sur un objet, une erreur **`noSuchName` ou `readOnly`** est reçue**.**
Dans les versions 1 et 2/2c, si vous utilisez une **mauvaise** chaîne de communauté, le serveur ne **répondra** pas. Donc, s'il répond, une **chaîne de communauté valide a été utilisée**.
* L'agent SNMP reçoit les requêtes sur le port UDP **161**.
* Le gestionnaire reçoit les notifications ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) et [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) sur le port **162**.
* Lorsqu'il est utilisé avec [Transport Layer Security](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) ou [Datagram Transport Layer Security](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), les requêtes sont reçues sur le port **10161** et les notifications sont envoyées au port **10162**.
## Forcer Brutalement la Chaîne de Communauté (v1 et v2c)
Pour **deviner la chaîne de communauté**, vous pourriez effectuer une attaque par dictionnaire. Consultez [ici différentes manières de réaliser une attaque par force brute contre SNMP](../../generic-methodologies-and-resources/brute-force.md#snmp). Une chaîne de communauté fréquemment utilisée est `public`.
**SNMP** contient beaucoup d'informations sur l'hôte et vous pourriez trouver intéressants : **Interfaces réseau** (adresse IPv4 et **IPv6**), Noms d'utilisateur, Temps de fonctionnement, Version du serveur/OS, et **processus**
**en cours** (peut contenir des mots de passe)....
[Braa](https://github.com/mteg/braa) est un scanner SNMP de masse. L'utilisation prévue d'un tel outil est, bien sûr, de faire des requêtes SNMP – mais contrairement à snmpwalk de net-snmp, il est capable de requêter des dizaines ou des centaines d'hôtes simultanément, et dans un seul processus. Ainsi, il consomme très peu de ressources système et effectue le balayage TRÈS rapidement.
Alors, cherchons les informations les plus intéressantes (de [https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/](https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/)) :
L'une des premières choses que je fais est d'extraire les données MIB sysDesc .1.3.6.1.2.1.1.1.0 de chaque fichier pour déterminer de quels appareils j'ai récolté des informations. Cela peut facilement être fait en utilisant la commande grep suivante :
Par exemple, si je parviens à identifier la chaîne de communauté privée utilisée par une organisation sur leurs routeurs Cisco IOS, je pourrais alors utiliser cette chaîne pour extraire les configurations en cours de ces routeurs. La meilleure méthode pour trouver de telles données a souvent été liée aux données de piège SNMP. Donc, encore une fois, en utilisant le grep suivant, nous pouvons parcourir rapidement beaucoup de données MIB à la recherche du mot-clé « trap » :
Un autre domaine d'intérêt est les journaux, j'ai découvert qu'il y a des appareils qui conservent des journaux dans les tables MIB. Ces journaux peuvent également contenir des tentatives de connexion échouées. Pensez à la dernière fois que vous vous êtes connecté à un appareil via Telnet ou SSH et que vous avez involontairement entré votre mot de passe comme nom d'utilisateur. Je recherche généralement des mots-clés tels que _échec_, _échoué_ ou _connexion_ et j'examine ces données pour voir s'il y a quelque chose de valeur.
S'il existe une ACL qui n'autorise que certaines adresses IP à interroger le service SMNP, vous pouvez usurper l'une de ces adresses dans le paquet UDP et renifler le trafic.
**Conseil pour les bug bounties** : **inscrivez-vous** sur **Intigriti**, une plateforme de bug bounties premium **créée par des hackers, pour des hackers** ! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) dès aujourd'hui et commencez à gagner des primes allant jusqu'à **100 000 $** !
<summary><strong>Apprenez le hacking AWS du débutant à l'expert avec</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> !</strong></summary>
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-moi** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Partagez vos astuces de hacking en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).