Vulnerability Assessment of SNMP Service – III

来源:互联网 发布:pdm导入oracle数据库 编辑:程序博客网 时间:2024/06/05 06:31

Vulnerability Assessment of SNMP Service – III


背景

这是第三篇关于snmp审计的文章。前面我们已经介绍了基础,探测,及利用工具获取信息。我们已经提到了snmpcheck,使用它可以获取snmpOID中存储的数据。但是,这个工具多少有点无法满足需求。


目标

snmpcheck简单易用,可以快速的攻击目标,但是它不能帮助我们了解OID树形结构。这篇文章中,我们将介绍如何探测指定的OID树。这样允许高级用户探测感兴趣的内容,而不是由程序自动发送请求及收集所有信息,不管是有用的,还是无用的。

这篇文章里面,我们会介绍另一款工具snmpwalk.它可以帮助我们对目标做一些细微的探测。


目标对象

这篇文章针对的是高级读者。假设读者已经深入理解SNMP协议,掌握SNMPOID树结构等。用户应该知道,什么是OID,如何浏览OID树结构,需要获取什么数据。

稍候会给读者介绍一点OID基础,但要注意这不能取代自我学习。如果不熟悉OID,我强烈推荐阅读MIB& OID,然后结合本文的知识,你将获益匪浅。


为何寻找额外的工具

确实,使用一个工具这不是什么问题。但是,有时候因为需求,我们需要选择其他的工具;总会有一种方法,能够将任务完成的很漂亮。当我们学习某些东西的时候,需要的不仅仅是工具。这样能够帮我们了解什么时候事情会失败,怎么样做会更好。

snmpcheck已经能够完成任务,如果我们想要获取更多的信息,这样可能会发送许多的请求。我们不想这么做,但是我们无法控制工具的行为,除非我们修改它。

发送许多的请求,这并不是一个好主意,我们更需要的是用最少的数据包去探测目标,这样可以降低触发入侵防护设施的机率。

snmpwalk会发送一个请求,以便获取OID的位置,但如果OID应答中包含子树,snmpwalk会探测下面的所有节点,这样会针对性的发送一些请求。高级用户与新手之间最大的不同就在这里。高级用户知道自己正在做什么,新手不知道自己探测指定OID的过程中,发送了多少网络请求。后面会介绍有子树,与无子树这两种情况。


假设

  1. 网络上已经有一台运行默认SNMP配置的主机或网络设备。

  2. 你的测试工具包中已经有了snmpwalk


Object ID(OID) 概述

我将粗略的介绍一下对象标识(OID),因为它是snmpwalk的核心.用户可以通过指定的OID去遍历探测MIB树形结构中的对象。

OID树形结构很清晰。每个snmp对象用数字标识,如下所示:


ROOT


Iso(1)

Org(3)

Dod(6)

Internet(1)






Directory(1)

Mgmt(2)

Experimental(3)

Private(4)


从上面的结构中,我们了解到,ISO对象的OID1root的第三个对象是org。所以,如果想参考Iso,需要指明OID1;类似的,如果是orgOID则是1.3dod则是1.3.6。如果你觉得这个没什么用,这意味着,可能需要额外再读一次。下面介绍一下snmpwalk如何从远程主机的SNMP服务获取信息。


SNMPWALK

snmpwalk 可以针对性的查询网络设备,获取树信息。发送GETNEXT请求,snmpwalk会查询OID下面的所有变量,并将根据请求结果返回给用户。这个工具有许多的开关,大部分都很重要。

root@gnu:~# snmpwalk -c public192.168.1.105 -v1 1

iso.3.6.1.2.1.1.1.0 = STRING: "Linuxruby 2.6.32-5-686 #1 SMP Tue May 13 16:33:32 UTC 2014 i686"

iso.3.6.1.2.1.1.2.0 = OID:iso.3.6.1.4.1.8072.3.2.10

iso.3.6.1.2.1.1.3.0 = Timeticks:(2249333) 6:14:53.33

iso.3.6.1.2.1.1.4.0 = STRING: "Me<me@example.org>"

iso.3.6.1.2.1.1.5.0 = STRING:"ruby"

iso.3.6.1.2.1.1.6.0 = STRING:"Sitting on the Dock of the Bay"

iso.3.6.1.2.1.1.7.0 = INTEGER: 72

iso.3.6.1.2.1.1.8.0 = Timeticks: (0)0:00:00.00

iso.3.6.1.2.1.1.9.1.2.1 = OID:iso.3.6.1.6.3.10.3.1.1

iso.3.6.1.2.1.1.9.1.2.2 = OID:iso.3.6.1.6.3.11.3.1.1

iso.3.6.1.2.1.1.9.1.2.3 = OID:iso.3.6.1.6.3.15.2.1.1

iso.3.6.1.2.1.1.9.1.2.4 = OID:iso.3.6.1.6.3.1

iso.3.6.1.2.1.1.9.1.2.5 = OID:iso.3.6.1.2.1.49

iso.3.6.1.2.1.1.9.1.2.6 = OID:iso.3.6.1.2.1.4

iso.3.6.1.2.1.1.9.1.2.7 = OID:iso.3.6.1.2.1.50

iso.3.6.1.2.1.1.9.1.2.8 = OID:iso.3.6.1.6.3.16.2.2.1

iso.3.6.1.2.1.1.9.1.3.1 = STRING:"The SNMP Management Architecture MIB."

iso.3.6.1.2.1.1.9.1.3.2 = STRING:"The MIB for Message Processing and Dispatching."

iso.3.6.1.2.1.1.9.1.3.3 = STRING:"The management information definitions for the SNMPUser-based Security Model."

iso.3.6.1.2.1.1.9.1.3.4 = STRING:"The MIB module for SNMPv2 entities"

iso.3.6.1.2.1.1.9.1.3.5 = STRING:"The MIB module for managing TCP implementations"

iso.3.6.1.2.1.1.9.1.3.6 = STRING:"The MIB module for managing IP and ICMP implementations"

iso.3.6.1.2.1.1.9.1.3.7 = STRING:"The MIB module for managing UDP implementations"

iso.3.6.1.2.1.1.9.1.3.8 = STRING:"View-based Access Control Model for SNMP."

iso.3.6.1.2.1.1.9.1.4.1 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.2 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.3 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.4 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.5 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.6 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.7 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.8 = Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.25.1.1.0 = Timeticks:(2572475) 7:08:44.75

iso.3.6.1.2.1.25.1.2.0 = Hex-STRING:07 DE 08 0A 13 0C 1B 00 2D 04 00

iso.3.6.1.2.1.25.1.3.0 = INTEGER:1536

iso.3.6.1.2.1.25.1.4.0 = STRING:"BOOT_IMAGE=/boot/vmlinuz-2.6.32-5-686root=UUID=a01d3689-98bb-47e9-9be0-fe57c7d89628 ro quiet

"

iso.3.6.1.2.1.25.1.5.0 = Gauge32: 3

iso.3.6.1.2.1.25.1.6.0 = Gauge32:123

iso.3.6.1.2.1.25.1.7.0 = INTEGER: 0

End of MIB

root@gnu:~# snmpwalk -c public192.168.1.105 -v1 1.3.6.1.2.1.1.1.0

iso.3.6.1.2.1.1.1.0 = STRING: "Linux ruby 2.6.32-5-686 #1SMP Tue May 13 16:33:32 UTC 2014 i686"


we can also use iReasoning MIB Browser and SnmpB.


参考链接
http://resources.infosecinstitute.com/vulnerability-assessment-of-snmp-service-part-4/

http://pen-testing.sans.org/blog/2013/05/31/invasion-of-the-network-snatchers-part-i

0 0
原创粉丝点击