SNMP Pentesting Notes
Protocol Overview
Basic Information
Port: UDP 161 (queries), UDP 162 (traps)
Protocol Type: Network management protocol
Purpose: Monitor and manage network devices
Security: Varies by version (v1/v2c - weak, v3 - strong)
SNMP Versions
SNMPv1
Basic version
No encryption
Uses community strings
Still used in legacy systems
SNMPv2c
Enhanced performance
Community string based
No real security improvements
Widely deployed
SNMPv3
Strong authentication
Data encryption
Username/password based
Most secure version
Initial Enumeration
Port Scanning
Version Detection
Community String Testing
Basic Enumeration
Automated Community Testing
Information Gathering
System Information
Network Information
Using Advanced Tools
braa
snmp-check
Common MIB/OID Values
1.3.6.1.2.1.1.1.0
System Description
1.3.6.1.2.1.25.1.6.0
System Processes
1.3.6.1.2.1.25.4.2.1.2
Running Programs
1.3.6.1.2.1.25.4.2.1.4
Processes Path
1.3.6.1.2.1.25.2.3.1.4
Storage Units
1.3.6.1.2.1.25.6.3.1.2
Software Name
1.3.6.1.4.1.77.1.2.25
User Accounts
Common Vulnerabilities
Weak Security:
Default community strings
SNMPv1/v2c usage
Exposed sensitive data
Writable OIDs
Configuration Issues:
World-readable community strings
Excessive exposed information
Unrestricted access controls
Dangerous settings enabled
Version Specific:
SNMPv1 no encryption
SNMPv2c cleartext transmission
Weak authentication methods
Post Exploitation
Information Extraction
Enumerate all accessible OIDs
Map network topology
Gather system information
Collect user accounts
Identify installed software
System Manipulation
Test write access to OIDs
Modify system configurations
Change network settings
Alter routing tables
Common SNMP Response Codes
noSuchObject
OID doesn't exist
noSuchInstance
No value for OID
endOfMibView
End of MIB tree reached
tooBig
Response too large
genErr
Generic error
Best Practices for Pentesting
Initial Reconnaissance:
Identify SNMP version
Test default community strings
Map accessible OIDs
Check write permissions
Deep Enumeration:
Gather system details
Enumerate users
Check network configuration
Identify sensitive data
Test write capabilities
Documentation:
Record community strings
Document accessible OIDs
Note writable objects
Save system information
List vulnerabilities
Risk Assessment:
Evaluate information exposure
Assess configuration weaknesses
Consider exploitation potential
Recommend security improvements
Mitigation Recommendations
Use SNMPv3 with authentication and encryption
Implement strong community strings
Restrict SNMP access by IP
Limit exposed information
Regular security audits
Monitor SNMP traffic
Update SNMP configurations
Implement access controls