161 - SNMP
Enumeration
The SNMP Management Information Base (MIB) is a database that typically contains network management information. The database is organized in a tree-like structure, where branches represent different organizations or network functions. The leaves of the tree (final endpoints) correspond to specific variable values that can be accessed and probed by an external user.
Scan for SNMP:
sudo nmap -sU --open -p 161 10.11.1.1-254 -oG open-snmp.txt
We can leverage a tool like onesixtyone to perform a brute force attack against a list of IP addresses.
onesixtyone -c wordlist.txt -i iplist.txt
After identifying SNMP services, we can initiate queries to extract specific MIB data that could be of interest.
Inspect exposed script paths, arguments and output
With a working SNMPv2c community, query Net-SNMP's extension subtree rather than repeating a whole walk:
snmpwalk -v2c -c COMMUNITY -On TARGET 1.3.6.1.4.1.8072.1.3.2
Look for nsExtendCommand, nsExtendArgs and returned output: a script path, account name or exposed secret gives a focused next check. The numeric OID works without installing MIB names. No Such Object can mean an absent extension or a restricted view; a timeout can mean filtering, a wrong community/version or an unavailable service. None proves the host has no leads. Reading an output object may refresh a configured extension's cache; it does not grant permission to submit arbitrary commands. Net-SNMP extension objects.
Windows SNMP Enumeration Example
MIB Tree:
snmpwalk -c public -v1 -t 10 10.11.1.14
Windows users:
snmpwalk -c public -v1 10.11.1.14 1.3.6.1.4.1.77.1.2.25
Windows processes:
snmpwalk -c public -v1 10.11.1.73 1.3.6.1.2.1.25.4.2.1.2
Open TCP ports:
snmpwalk -c public -v1 10.11.1.14 1.3.6.1.2.1.6.13.1.3
Installed software:
snmpwalk -c public -v1 10.11.1.50 1.3.6.1.2.1.25.6.3.1.2