Whackermelon
notes / exploitation-des-services / 161-snmp

161 - SNMP

Community strings, nsExtend.

sommaire

SNMP (161/UDP) — mine d’informations

Communautés fréquentes : public (lecture), private (écriture). SNMP révèle utilisateurs, processus, logiciels, ports en écoute, etc.

Trouver la communauté

onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt 10.10.10.10
nmap -sU -p161 --script snmp-brute 10.10.10.10

Énumération complète

snmpwalk -v2c -c public 10.10.10.10
snmpbulkwalk -v2c -c public 10.10.10.10        # plus rapide
snmp-check 10.10.10.10 -c public
braa public@10.10.10.10:.1.*                   # brute d'OID (rapide)

OID utiles

1.3.6.1.4.1.77.1.2.25    # utilisateurs Windows
1.3.6.1.2.1.25.4.2.1.2    # processus en cours
1.3.6.1.2.1.25.6.3.1.2    # logiciels installes
1.3.6.1.2.1.6.13.1.3      # ports TCP en ecoute
1.3.6.1.2.1.25.4.2.1.5    # parametres des processus (parfois des mdp)

Branche enterprises — souvent oubliée !

Un snmpwalk sans OID ne parcourt QUE la branche mib-2 (1.3.6.1.2.1). La branche enterprises (1.3.6.1.4.1) contient les tables net-snmp/UCD : disques, processus surveillés, et surtout les scripts extend/exec. La walker explicitement :

snmpwalk -v2c -c public <IP> 1.3.6.1.4.1 | tee snmp_ent.txt
# tables utiles dans le resultat :
#   UCD extTable (scripts exec)  : 1.3.6.1.4.1.2021.8.1
#   net-snmp nsExtend (scripts)  : 1.3.6.1.4.1.8072.1.3.2
#   UCD prTable (process surveilles) : 1.3.6.1.4.1.2021.2.1
#   UCD dskTable (disques/chemins)   : 1.3.6.1.4.1.2021.9.1

Piège en or : nsExtend exécute le script à la requête

Si un extend/exec est configuré, le simple fait d’INTERROGER son OID exécute le script sur la cible (cache nsExtendCacheTime, souvent 5s). Repérer nsExtendConfig (chemin du script) et nsExtendOutLine (sa sortie) : la sortie peut révéler users, mots de passe, comportements (ex: reset de mot de passe à une valeur par défaut -> tester les creds par défaut juste après avoir déclenché le script).

Dans cette section