
CVE-2026-11116 SNMPv3 인증 우회(추측 가능한 기본 EngineID로 인해 발생)를 시연하며, Python pysnmp 시뮬레이션과 공격 탐지 및 이해를 위한 지침을 제공합니다.
# 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.")
SNMPv3 장치는 잘 알려졌거나 쉽게 추측 가능한 EngineID(예: 모두 0이거나 MAC 주소에서 파생된 값)를 사용합니다. 공격자는 인증 키와 프라이버시 키를 사전 계산하여 SNMPv3 보안을 우회하고 장치에 대한 읽기/쓰기 액세스 권한을 얻을 수 있습니다.
시뮬레이션은 경고를 출력합니다. 실제 공격은 EngineID를 스니핑하고 무차별 대입(brute-force)하거나 기본 비밀번호를 사용하는 방식입니다. 실행:
pip install pysnmp
python snmp_agent_sim.py