Tutorials

Guida Approfondita a snmpwalk

snmpwalk è uno strumento della suite Net-SNMP utilizzato per interrogare dispositivi SNMP-enabled e raccogliere in maniera ricorsiva le informazioni memorizzate nella Management Information Base MIB.

#enumeration

Guida Approfondita a snmpwalk

Cos'è snmpwalk

snmpwalk è uno strumento della suite Net-SNMP utilizzato per interrogare dispositivi SNMP-enabled e raccogliere in maniera ricorsiva le informazioni memorizzate nella Management Information Base (MIB). Viene spesso impiegato in ambito di penetration testing, network auditing e troubleshooting per ottenere una panoramica dettagliata della configurazione e dello stato dei dispositivi di rete.

Utilizzo di Base

bash
snmpwalk -v <versione> -c <community> <IP/hostname> [OID]
  • -v: specifica la versione del protocollo SNMP (1, 2c, o 3).
  • -c: definisce la community string (ad es. "public" per lettura).
  • OID: opzionale. Se omesso, interroga tutto l'albero partendo da .1 (root).

Esempio:

bash
snmpwalk -v 2c -c public 192.168.1.1

Questo comando interroga l'intero MIB del dispositivo all'indirizzo 192.168.1.1 usando SNMPv2c e la community string "public".

Versioni del Protocollo

  • SNMPv1: versione base, priva di cifratura.
  • SNMPv2c: miglioramenti in velocità e funzionalità, ma ancora senza sicurezza.
  • SNMPv3: supporta autenticazione e cifratura, più complesso ma più sicuro.

Esempi Avanzati

Specifica di un OID

bash
snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.2.1.1

Interroga solo l'albero relativo a system (descrizione del sistema, uptime, nome host, etc).

Salvataggio in un File

bash
snmpwalk -v 2c -c public 192.168.1.1 > output_snmp.txt

Uso con SNMPv3

bash
snmpwalk -v 3 -l authPriv -u <user> -a MD5 -A <auth_pass> -x DES -X <priv_pass> 192.168.1.1
  • -l: livello di sicurezza (noAuthNoPriv, authNoPriv, authPriv)
  • -u: nome utente
  • -a: algoritmo di autenticazione (MD5 o SHA)
  • -x: algoritmo di cifratura (DES, AES)

OID Comuni di Interesse

  • .1.3.6.1.2.1.1: Informazioni sul sistema
  • .1.3.6.1.2.1.2: Interfacce di rete
  • .1.3.6.1.2.1.4: Protocolli IP
  • .1.3.6.1.2.1.25.1: Informazioni host (processi, storage, utenti)
  • .1.3.6.1.2.1.6: Informazioni TCP

Vantaggi in Attività di Pentesting

  • Rilevamento di nomi host, OS, software installati.
  • Enumerazione utenti (in alcuni casi).
  • Rilevamento di community string deboli o di default (es. "public").
  • Accesso a routing table, ARP, interfacce di rete.
  • Potenziale esposizione di dati sensibili se SNMP è mal configurato.

Best Practice

  • Testare più community string ("public", "private", "admin", ecc).
  • Integrare con script NSE di Nmap (es. snmp-brute, snmp-interfaces).
  • Usare tool come onesixtyone per brute-forcing delle community.
  • Validare le informazioni raccolte per identificare vulnerabilità note.

Conclusione

snmpwalk è uno strumento potente e indispensabile per chi opera in ambito di penetration testing e sicurezza delle reti. L'accesso non autorizzato alle informazioni SNMP può rivelare una grande quantità di dati sensibili, per cui il suo utilizzo dovrebbe sempre essere accompagnato da consapevolezza e rispetto delle policy etiche e legali in ambito di security testing.