
Demonstriert CVE-2026-11116, einen SNMPv3-Authentifizierungs-Bypass, der durch erratbare Standard-EngineIDs verursacht wird, mit einer Python-pysnmp-Simulation und Hinweisen zur Erkennung und zum Verständnis des Angriffs.
# snmp_agent_sim.py - SNMPv3 agent using well-known EngineID
from pysnmp.hlapi import *
def snmp_get(engine_id=SnmpEngineID(hexValue='8000000001020304')):
iterator = getCmd(
SnmpEngine(engineID=engine_id),
CommunityData('public', mpModel=0), # not v3, but demo
UdpTransportTarget(('localhost', 161)),
ContextData(),
ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0))
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
print(varBinds)
# Vulnerability: EngineID is guessable; attacker can compute authentication keys offline.
print("SNMPv3 with default EngineID vulnerable to key derivation attacks.")
Ein SNMPv3-Gerät verwendet eine bekannte oder leicht zu erratende EngineID (z. B. lauter Nullen oder aus der MAC-Adresse abgeleitet). Ein Angreifer kann Authentifizierungs- und Verschlüsselungsschlüssel vorab berechnen, die SNMPv3-Sicherheit umgehen und Lese-/Schreibzugriff auf das Gerät erlangen.
Die Simulation gibt eine Warnung aus; ein realer Angriff umfasst das Abhören der EngineID und das Erraten per Brute-Force oder die Verwendung von Standardkennwörtern. Führen Sie Folgendes aus:
pip install pysnmp
python snmp_agent_sim.py