
Demonstra o bypass de autenticação do SNMPv3 da CVE-2026-11116 causado por EngineIDs padrão previsíveis, com uma simulação em Python pysnmp e orientações para detectar e entender o ataque.
# 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.")
Um dispositivo SNMPv3 usa um EngineID bem conhecido ou facilmente adivinhável (por exemplo, todos os zeros ou derivado do endereço MAC). Um atacante pode pré-computar as chaves de autenticação e privacidade, contornando a segurança do SNMPv3 e obtendo acesso de leitura/gravação ao dispositivo.
A simulação imprime um aviso; um ataque real envolve a interceptação do EngineID e força bruta ou uso de senhas padrão. Execute:
pip install pysnmp
python snmp_agent_sim.py