snmpcheck

Outil d'énumération SNMP. Collecte des informations système via SNMP : nom d'hôte, OS, processus en cours, logiciels installés, interfaces réseau et tables de routage. SNMP enumeration tool. Collects system information via SNMP — hostname, OS, running processes, installed software, network interfaces, and routing tables.

↗ https://www.nothink.org/codes/snmpcheck/index.php

Overview

snmpcheck collects information from network devices via SNMP (Simple Network Management Protocol). SNMP v1 and v2c use community strings instead of proper authentication — “public” is the default and is often left unchanged. snmpcheck extracts a comprehensive set of data when it finds accessible SNMP.

Basic Usage

Basic scan with default community string

snmpcheck 10.10.10.1
# With specific community string
snmpcheck -c public 10.10.10.1
snmpcheck -c private 10.10.10.1

With SNMP v2c

snmpcheck -v 2c -c public 10.10.10.1

Verbose output

snmpcheck -c public 10.10.10.1 -a

Save output to file

snmpcheck -c public 10.10.10.1 | tee snmp_output.txt

What snmpcheck Collects

System Info:
  - Hostname, OS version, uptime
  - System description
  - Contact and location (often reveals company info)

Network:
  - Network interfaces (IP, MAC, speed)
  - Routing table
  - ARP table (reveals other hosts)
  - TCP/UDP connections

Processes:
  - All running processes with PID and path

Software:
  - Installed software (Windows targets)
  - Package names and versions

Users:
  - Local user accounts (Windows targets)

Storage:
  - Disk/filesystem info
  - Storage capacity and usage

Community String Discovery

# Common community strings to try
for community in public private community manager monitor admin; do
    snmpcheck -c "$community" 10.10.10.1 2>/dev/null && echo "Found: $community"
done

With onesixtyone (faster brute-force)

onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt 10.10.10.1

With hydra

hydra -P /usr/share/wordlists/snmp-default.txt -t 4 10.10.10.1 snmp

Alternative: snmpwalk

Raw SNMP walk (more verbose)

snmpwalk -v 2c -c public 10.10.10.1
snmpwalk -v 2c -c public 10.10.10.1 1.3.6.1.2.1.25.4.2.1.2  # Processes
snmpwalk -v 2c -c public 10.10.10.1 1.3.6.1.2.1.4.34         # ARP table
snmpwalk -v 2c -c public 10.10.10.1 1.3.6.1.4.1.77.1.2.25   # Users (Windows)

Get specific OID

snmpget -v 2c -c public 10.10.10.1 1.3.6.1.2.1.1.1.0  # sysDescr

Useful OIDs

1.3.6.1.2.1.1.1.0       sysDescr (OS description)
1.3.6.1.2.1.1.5.0       sysName (hostname)
1.3.6.1.2.1.25.4.2.1.2  hrSWRunName (running processes)
1.3.6.1.2.1.25.6.3.1.2  hrSWInstalledName (installed software)
1.3.6.1.4.1.77.1.2.25   winSysUsers (Windows users)
1.3.6.1.2.1.4.34.1.3    ARP table
1.3.6.1.2.1.2.2.1.2     ifDescr (interface descriptions)

Tips

  • SNMP v1/v2c uses cleartext community strings — always sniff traffic on a MITM position
  • SNMP v3 uses proper auth/encryption — brute-forcing is much harder
  • Windows devices with SNMP often expose user lists — valuable for AD password spraying
  • Check UDP 161 (and 162 for traps) — nmap -sU -p 161
Help / Man page
snmpcheck [options] <host>

-p PORT     SNMP port (default: 161)
-c COMMUNITY  Community string (default: public)
-v VERSION  SNMP version: 1 or 2c (default: 1)
-t TIMEOUT  Timeout in seconds (default: 5)
-r RETRIES  Retry count (default: 1)
-d          Disable TCP connections check
-l          Enumerate only local information
-a          All checks (verbose)
-w          Include user accounts (Windows)

Vue d’ensemble

snmpcheck collecte des informations sur des équipements réseau via SNMP (Simple Network Management Protocol). SNMP v1 et v2c utilisent des community strings au lieu d’une authentification appropriée : “public” est la valeur par défaut et est souvent laissée inchangée. snmpcheck extrait un ensemble complet de données lorsqu’il trouve un SNMP accessible.

Utilisation de base

# Scan de base avec la community string par défaut
snmpcheck 10.10.10.1

# Avec une community string spécifique
snmpcheck -c public 10.10.10.1
snmpcheck -c private 10.10.10.1

# Avec SNMP v2c
snmpcheck -v 2c -c public 10.10.10.1

# Sortie verbeuse
snmpcheck -c public 10.10.10.1 -a

# Sauvegarder la sortie dans un fichier
snmpcheck -c public 10.10.10.1 | tee snmp_output.txt

Ce que collecte snmpcheck

Infos système :
  - Nom d'hôte, version de l'OS, uptime
  - Description système
  - Contact et localisation (révèle souvent des infos sur l'entreprise)

Réseau :
  - Interfaces réseau (IP, MAC, vitesse)
  - Table de routage
  - Table ARP (révèle d'autres hôtes)
  - Connexions TCP/UDP

Processus :
  - Tous les processus en cours avec PID et chemin

Logiciels :
  - Logiciels installés (cibles Windows)
  - Noms et versions des paquets

Utilisateurs :
  - Comptes utilisateurs locaux (cibles Windows)

Stockage :
  - Infos disque/système de fichiers
  - Capacité et utilisation du stockage

Découverte de community string

# Community strings courantes à essayer
for community in public private community manager monitor admin; do
    snmpcheck -c "$community" 10.10.10.1 2>/dev/null && echo "Found: $community"
done
# Avec onesixtyone (brute-force plus rapide)
onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt 10.10.10.1
# Avec hydra
hydra -P /usr/share/wordlists/snmp-default.txt -t 4 10.10.10.1 snmp

Alternative : snmpwalk

# Walk SNMP brut (plus verbeux)
snmpwalk -v 2c -c public 10.10.10.1
snmpwalk -v 2c -c public 10.10.10.1 1.3.6.1.2.1.25.4.2.1.2  # Processus
snmpwalk -v 2c -c public 10.10.10.1 1.3.6.1.2.1.4.34         # Table ARP
snmpwalk -v 2c -c public 10.10.10.1 1.3.6.1.4.1.77.1.2.25   # Utilisateurs (Windows)
# Obtenir un OID spécifique
snmpget -v 2c -c public 10.10.10.1 1.3.6.1.2.1.1.1.0  # sysDescr

OID utiles

1.3.6.1.2.1.1.1.0       sysDescr (description de l'OS)
1.3.6.1.2.1.1.5.0       sysName (nom d'hôte)
1.3.6.1.2.1.25.4.2.1.2  hrSWRunName (processus en cours)
1.3.6.1.2.1.25.6.3.1.2  hrSWInstalledName (logiciels installés)
1.3.6.1.4.1.77.1.2.25   winSysUsers (utilisateurs Windows)
1.3.6.1.2.1.4.34.1.3    Table ARP
1.3.6.1.2.1.2.2.1.2     ifDescr (descriptions d'interfaces)

Conseils

  • SNMP v1/v2c utilise des community strings en clair : toujours sniffer le trafic depuis une position MITM
  • SNMP v3 utilise une authentification/un chiffrement appropriés : le brute-force est bien plus difficile
  • Les équipements Windows avec SNMP exposent souvent des listes d’utilisateurs : précieux pour le password spraying AD
  • Vérifier l’UDP 161 (et 162 pour les traps) : nmap -sU -p 161
Aide / Page de manuel
snmpcheck [options] <host>

-p PORT     SNMP port (default: 161)
-c COMMUNITY  Community string (default: public)
-v VERSION  SNMP version: 1 or 2c (default: 1)
-t TIMEOUT  Timeout in seconds (default: 5)
-r RETRIES  Retry count (default: 1)
-d          Disable TCP connections check
-l          Enumerate only local information
-a          All checks (verbose)
-w          Include user accounts (Windows)