Recon of SNMP (UDP: 161 / 162)
The Simple Network Management Protocol (SNMP) is not well-understood by many network administrators. This might result in SNMP misconfigurations and significant information leaks. It's based on UDP.
NOTE: The commonly used SNMP versions
1
,2
, and2c
offer no traffic encryption. SNMP information and credentials can be easily intercepted over a local network.
The SNMP Management Information Base (MIB) is a database containing information usually related to network management. It's organized like a tree, with branches that represent different organizations or network functions. The leaves of the tree (final endpoints) correspond to specific variable values that can then be read by an external user. Here's the IBM explanation of MIB tree.
SNMP Discovery
Brute-force community string
SNMP have weak authentication schemes and are commonly left configured with default public and private community strings. The community string is a sort of a password effectively. public
is the most common read-only community string. private
is the most common admin community string. Different community strings can give different levels of access via SNMP.
SecLists have pretty good wordlists for SNMP community string bruteforcing: /usr/share/wordlists/seclists/Discovery/SNMP/
SNMP Data Enumeration
NOTE: MIB might contain hex values. Use
snmpwalk
with-Oa
param to translate any hex string into ASCII.
Look for strings like: auth, failed, login, log, reset, user, password, pwd, etc...
Extended SNMP Enumeration
It's worth to try many different combinantions. The results may vary in a way I don't understand.
IMPORTANT: MIBs databse might be empty on your system. Snmpwalk will not then use special modules for extended enumeration. Download MIBs database:
sudo apt install snmp-mibs-downloader
Interesting MIB OIDs
OID stands for Object ID and it's unique identifier (key) of value in a MIB tree.