SNMPwalk: Enumeración de servicios SNMP


El protocolo SNMP suele pasar desapercibido en routers, switches, impresoras y servidores, pero cuando mantiene una community string por defecto puede revelar muchísima información sin necesidad de credenciales. SNMPwalk es la herramienta clásica para recorrer ese árbol de información y extraer datos valiosos durante la fase de enumeración.


¿Qué es SNMPwalk? 📡

SNMPwalk es una herramienta de línea de comandos que permite:

✔ Recorrer (walk) el árbol de OIDs expuesto por un dispositivo.
✔ Obtener información del sistema, interfaces de red y tablas de enrutamiento.
✔ Enumerar procesos en ejecución y software instalado.
✔ En algunos sistemas Windows, listar incluso cuentas de usuario locales.

Forma parte del proyecto Net-SNMP y funciona contra dispositivos que hablan SNMPv1, SNMPv2c (mediante community strings) o SNMPv3 (con autenticación y cifrado).


Instalación de SNMPwalk ⚙️

En distribuciones basadas en Debian, como Kali Linux o Parrot OS, las herramientas de Net-SNMP suelen venir preinstaladas. Si necesitas instalarlas manualmente:

sudo apt install snmp

Para verificar la instalación:

snmpwalk --version

Uso básico de SNMPwalk 🔍

🔹 Enumeración completa del árbol MIB

snmpwalk -c public -v2c 192.168.1.100

🔹 Información del sistema

snmpwalk -c public -v2c 192.168.1.100 1.3.6.1.2.1.1

🔹 Interfaces de red

snmpwalk -c public -v2c 192.168.1.100 1.3.6.1.2.1.2.2

🔹 Procesos en ejecución

snmpwalk -c public -v2c 192.168.1.100 1.3.6.1.2.1.25.4.2.1.2

🔹 Software instalado

snmpwalk -c public -v2c 192.168.1.100 1.3.6.1.2.1.25.6.3.1.2

🔹 Cuentas de usuario (sistemas Windows)

snmpwalk -c public -v2c 192.168.1.100 1.3.6.1.4.1.77.1.2.25

Tabla de OIDs útiles para enumeración 📋

OIDDescripción
1.3.6.1.2.1.1Información general del sistema.
1.3.6.1.2.1.2.2Interfaces de red.
1.3.6.1.2.1.25.1.6.0Número de procesos en ejecución.
1.3.6.1.2.1.25.4.2.1.2Procesos en ejecución (detalle).
1.3.6.1.2.1.25.6.3.1.2Software instalado.
1.3.6.1.4.1.77.1.2.25Cuentas de usuario en Windows.
1.3.6.1.2.1.6.13.1.3Puertos TCP locales en escucha.

Enumeración avanzada 🚀

🔹 Descubrir community strings válidas

Antes de profundizar con SNMPwalk, puedes usar onesixtyone para identificar rápidamente qué hosts responden y con qué community string:

onesixtyone -c community.txt 192.168.1.0/24

🔹 Consultas más rápidas con snmpbulkwalk

En árboles MIB grandes, snmpbulkwalk suele ser más eficiente al usar peticiones GETBULK:

snmpbulkwalk -c public -v2c 192.168.1.100 .

Exportación de resultados 📄

Puedes guardar toda la salida de SNMPwalk en un archivo para analizarla más tarde:

snmpwalk -c public -v2c 192.168.1.100 > snmp_resultados.txt

Para filtrar, por ejemplo, los procesos en ejecución detectados:

grep -i "hrSWRunName" snmp_resultados.txt

Esto mostrará solo las líneas correspondientes a los nombres de procesos enumerados.


Desafío para ti 🎯

Utiliza SNMPwalk para enumerar la información de sistema, interfaces y procesos de un dispositivo de prueba:

snmpwalk -c public -v2c 192.168.1.100