snmpenum
snmpenum is a simple Perl script that enumerates information on machines running SNMP by performing SNMP table dumps. It helps security professionals gather system details from vulnerable SNMP services.
Description
snmpenum is designed to extract valuable information from devices that have SNMP services enabled with weak or default community strings. By connecting to a target IP address using a known SNMP community string and a configuration file, the tool dumps tables containing system data such as network interfaces, routing tables, and other enumerated details.
Use cases include reconnaissance during penetration testing, where testers identify exposed SNMP services to map network topology and gather host information. It is particularly useful against legacy systems or misconfigured devices that expose SNMP v1 or v2c without proper access controls.
The tool relies on standard SNMP protocols and requires the libnet-snmp-perl library, making it lightweight with an installed size of just 21 KB. It fits into broader information gathering workflows in Kali Linux environments.
How It Works
snmpenum uses the SNMP protocol to query target machines via UDP port 161. It authenticates with a community string and references a configfile to determine which Management Information Base (MIB) tables to dump. The Perl script leverages libnet-snmp-perl to send SNMP GET requests for bulk table data, parsing and displaying enumerated information like interfaces, addresses, and system details from vulnerable SNMP implementations.
Installation
sudo apt install snmpenumFlags
Examples
snmpenum <IP-address> <community> <configfile>snmpenum 192.168.1.1 public /usr/share/snmpenum/snmpenum.confsnmpenum 10.0.0.50 private snmpenum.confsnmpenum target.example.com public config.confsnmpenum 172.16.1.100 admin /path/to/custom.confsnmpenum -h