SNMP (Simple Network Management Protocol) was designed to help administrators monitor and manage network devices. In practice, it's like giving everyone a master key to your building and hoping they'll only use it to check if the lights are on.
Running on UDP port 161, SNMP is found on routers, switches, printers, servers, and IoT devices. The protocol is notoriously insecure - especially SNMP v1 and v2c, which use cleartext "community strings" as passwords. These strings are often left at defaults: "public" for read access and "private" for write access.
SNMP = Security Not My Problem
SNMP Basics
SNMP Versions
- SNMP v1: Original, cleartext, weak security
- SNMP v2c: Better performance, still cleartext
- SNMP v3: Encryption and authentication (rare)
Community Strings
Community strings are essentially passwords. SNMPv1/v2c sends them in cleartext:
- Read-only (RO): Usually "public" - can read all data
- Read-write (RW): Usually "private" - can modify device
MIB - Management Information Base
MIB is a hierarchical database of values (OIDs) that can be queried. Think of it as a tree where each branch leads to different information:
SNMP Discovery
SNMP Enumeration
SNMPwalk
SNMPwalk queries entire subtrees of the MIB, dumping all accessible information. It's the go-to tool for SNMP enumeration.
SNMPcheck
Windows User Enumeration
Community String Brute Force
Common Community Strings
Windows SNMP
Linux SNMP
Credentials in Process Lists
SNMP Write Access
If you have write access (usually with "private" community string), you can modify device configurations - potentially catastrophic.
SNMP v3
SNMP v3 adds authentication and encryption. It's more secure but still attackable if credentials are weak.
SNMP Enumeration Methodology
SNMP Enumeration Process
Knowledge Check
Challenges
Key Takeaways
- SNMP runs on UDP port 161 - often forgotten and misconfigured
- Default community strings are "public" (read) and "private" (write)
- SNMPv1/v2c send community strings in cleartext
- SNMP can expose users, processes, shares, and network config
- Process command lines may contain credentials
- Write access can allow device reconfiguration
- onesixtyone is fastest for community string brute forcing