# 161 - SNMP

**Simple Network Management Protocol (SNMP)** runs over UDP port `161` and is used to monitor and manage network devices like routers and servers. It allows querying for system info (e.g. uptime, CPU, interfaces) and is commonly used in network monitoring tools. If misconfigured—especially with default "public" community strings—it can leak sensitive data or be abused in DDoS attacks.

{% tabs %}
{% tab title="snmpwalk" %}
Enumerate public strings:

```bash
snmpwalk -v2c -c public <target>
```

Dig deeper with specific OIDs:

```bash
# System info
snmpwalk -v2c -c public <target> 1.3.6.1.2.1.1

# NICs
snmpwalk -v2c -c public <target> 1.3.6.1.2.1.2.2

# Users
snmpwalk -v2c -c public <target> 1.3.6.1.4.1

# Running processes
snmpwalk -v2c -c public <target> 1.3.6.1.2.1.25.4.2.1.2

# Open TCP ports
snmpwalk -v2c -c public <target> 1.3.6.1.2.1.6.13.1.3
```

Or grep for keywords:

```bash
snmpwalk -v2c -c public <target> | grep -Ei 'user|admin|name|password|pass'
```

{% endtab %}

{% tab title="onesixtyone" %}
Brute-force community strings:

{% code overflow="wrap" %}

```bash
onesixtyone -c /usr/share/seclists/Discovery/SNMP/snmp-onesixtyone.txt <target>
onesixtyone -c /usr/share/wordlists/metasploit/snmp_default_pass.txt <target>

```

{% endcode %}
{% endtab %}

{% tab title="nmap" %}
asd

{% code overflow="wrap" %}

```bash
sudo nmap -sU -p 161 --script snmp-info,snmp-interfaces,snmp-processes <target>
```

{% endcode %}
{% endtab %}

{% tab title="snmp-check" %}

```bash
snmp-check -c public <target>
```

{% endtab %}
{% endtabs %}
