← retour aux outils back to tools

# 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)