Snmputil知识.docx

上传人:b****5 文档编号:5930892 上传时间:2023-01-02 格式:DOCX 页数:24 大小:378.43KB
下载 相关 举报
Snmputil知识.docx_第1页
第1页 / 共24页
Snmputil知识.docx_第2页
第2页 / 共24页
Snmputil知识.docx_第3页
第3页 / 共24页
Snmputil知识.docx_第4页
第4页 / 共24页
Snmputil知识.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

Snmputil知识.docx

《Snmputil知识.docx》由会员分享,可在线阅读,更多相关《Snmputil知识.docx(24页珍藏版)》请在冰豆网上搜索。

Snmputil知识.docx

Snmputil知识

Snmputil知识

                    

Snmputil是一个命令行下的软件,使用语法如下:

usage:

snmputilget|getnext|walk]agentcommunityoid[oid...]snmputiltrap

   其中agent表示代理进程的IP地址,community表示团体名,oid表示MIB对象ID。

   举例说明:

   1)查看本地计算机(IP地址为192.168.0.3)的系统信息

   通过对系统组的MIB对象的查阅,我们知道系统信息所对应的MIB对象为.1.3.6.1.2.1.1.1(参看系统组对象),我们使用get参数来查询:

C:

>snmputilget192.168.0.3public.1.3.6.1.2.1.1.1.0

Variable=system.sysDescr.0

Value=StringHardware:

x86Family15Model2Stepping7AT/ATCOMPATIBLE-

Software:

Windows2000Version5.1(Build2600UniprocessorFree)

   其中public是192.168.0.3计算机上的团体名,.1.3.6.1.2.1.1.1.0是对象实例,注意对象ID前面要加一个点".",后面还要加一个"0"。

如果不在对象ID末尾加上一个0,那么用get参数查询就会出错。

从查询结果中我们能够看出操作系统版本和CPU类型。

   2)查询计算机连续开机多长时间

C:

>snmputilget192.168.0.3public.1.3.6.1.2.1.1.3.0

Variable=system.sysUpTime.0

Value=TimeTicks447614

   如果我们在对象ID后面不加0,使用getnext参数能得到同样的效果:

C:

>snmputilgetnext192.168.0.3public.1.3.6.1.2.1.1.3

Variable=system.sysUpTime.0

Value=TimeTicks476123

   3)查询计算机的联系人

C:

>snmputilget192.168.0.3public.1.3.6.1.2.1.1.4.0

Variable=system.sysContact.0

Value=Stringadministrator

   以上简单介绍了用snmputil查询代理进程的方法,由于在命令行下使用,可能大家感到颇为不方便,但命令行的一个好处就是可以促进大家主动查阅MIB对象,加深对SNMP网络管理的认识。

   4)使用walk查询设备上所有正在运行的进程:

C:

>snmputilwalk192.168.0.3public.1.3.6.1.2.1.25.4.2.1.2

Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.1

Value=StringSystemIdleProcess

Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.4

Value=StringSystem

Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.292

Value=Stringsnmputil.exe

Variable=host.hr

SWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.308

Value=StringRavTimer.exe

Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.336

Value=StringRavMon.exe

   限于篇幅笔者就不把所有进程列出来,大家可以在自己的计算机上面实验,以加强感性认识。

   5)查询计算机上面的用户列表

C:

>snmputilwalk192.168.0.3public.1.3.6.1.4.1.77.1.2.25.1.1

Variable=.iso.org.dod.internet.private.enterprises.lanmanager.lanmgr-2.server.

svUserTable.svUserEntry.svUserName.4.117.115.101.114

Value=Stringuser

Variable=.iso.org.dod.internet.private.enterprises.lanmanager.lanmgr-2.server.

svUserTable.svUserEntry.svUserName.5.71.117.101.115.116

Value=StringGuest

Variable=.iso.org.dod.internet.private.enterprises.lanmanager.lanmgr-2.server.svUserTable.svUserEntry.svUserName.13.65.100.109.105.110.105.115.116.114.97.116.111.114

Value=StringAdministrator

   从中我们可以得知该计算机共有三个用户,它们分别为user、guest和administrator。

   Snmputil还有一个trap的参数,主要用来陷阱捕捉,它可以接受代理进程上主动发来的信息。

如果我们在命令行下面输入snmputiltrap后回车,然后用错误的团体名来访问代理进程,这时候就能收到代理进程主动发回的报告。

   在MIBII中总共有175个对象,每个对象均有其不同的含义,我们只有通过查阅MIB才能知道它们各自的作用。

MIB对象是SNMP网络管理中的核心内容,只有深入了解MIB对象的含义我们才有可能知道如何去驾驭SNMP网络管理。

SNMP探测工具snmputil.exe命令记录

列出系统进程

snmputilwalk75.126.184.77public.1.3.6.1.2.1.25.4.2.1.2

列系统用户列表

snmputilwalk75.126.184.75public.1.3.6.1.4.1.77.1.2.25.1.1

列出域名

snmputilget75.126.184.75public.1.3.6.1.4.1.77.1.4.1.0

列出安装的软件

snmputilwalk75.126.184.75public.1.3.6.1.2.1.25.6.3.1.2

列出系统信息

snmputilwalk75.126.184.75public.1.3.6.1.2.1.1

解释:

snmputil,就是程序名;

get,就理解成获取一个信息;

getnext,就理解成获取下一个信息;

walk,就理解成获取一堆信息(应该说所有数据库子树/子目录的信息)

agent,具体某台机器拉。

community,就是那个“communitystrings”“查询密码”;

oid,就是物件识别代码(ObjectIdentifier)。

可以把oid理解成MIB管理信息库中各种信息分类存放树资源的一个数字标识。

一、SNMP的概念,功能

SNMP(SimpleNetworkManagementProtocol)是被广泛接受并投入使用的工业标准,

它的目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索

信息,进行修改,寻找故障;完成故障诊断,容量规划和报告生成。

它采用轮询机制,

提供最基本的功能集。

最适合小型、快速、低价格的环境使用。

它只要求无证实的传输层

协议UDP,受到许多产品的广泛支持。

本文将讨论如何在Win2K安装使支持SNMP功能,SNMP技术对于提升整体安全水准是有益的,

但也可能存在风险,本文将同时检验这两个方面。

另外,除了介绍一些开发工具外,

还将图解通过SNMP收集信息的可能用法,以及如何提高安全性。

二、在Win2K中安装SNMP

提供一个支持SNMP的Win2K设备与增加一个额外的Windows组件同样简单,只需要进入"开始/设置/控制面板/",

选择"添加/删除程序",然后选择"添加/删除Windows组件",随之出现一个对话框,在其中选择"管理和监视工具",

最后点击"下一步",依照提示安装:

OK,现在Win2K就可以通过SNMP来访问了.

三、对snmp信息的刺探方法

1、Snmputilget

下面我们在命令行状态下使用Win2K资源工具箱中的程序snmputil.exe

来获取安装了SNMP的Win2K机器的网络接口数目,命令参数是get:

前提是对方snmp口令是public

snmputil.exe提供基本的、低级的SNMP功能,通过使用不同的参数和变量,可以显示设备情况以及管理设备。

下面来看看这个例子都包含了哪些参数和变量:

●最后一个参数是SNMP变量,值为1.3.6.1.2.1.2.1.0,被称为物件识别代码OID(objectidentifier)。

OID有对应的字符串表达式,也就是在SNMPUTIL输出内容的第一行,在这个例子中,即是interfaces.ifNumber.0。

这个字符串对于用户来说,就要易记易读多了。

你可以发现,这种对应关系与DNS类似。

●第二个参数指定将SNMP请求发送给哪个设备,在这里是localhost,即本地主机。

●第三个参数指定使用哪个共同体(即验证字符串或口令),在这里是public。

在每个发送到被管理设备的SNMPUDP信息包中,这个口令是以纯文本形式传输的。

当一个Win2K设备安装上SNMP支持后,缺省的SNMP共同体名称为public,这表明允许用户读取现有的所有变量。

因为即便是设备中的网络接口数目也是一个敏感数据,所以这就成为第一个安全问题。

2、Snmputilgetnext

接着,我们试一试snmputil的另一个命令参数getnext:

getnext的功能是获取指定SNMP变量的下一个变量的值及其OID。

因为一个设备的所有SNMP变量都是规则排列的,

所以使用getnext命令参数就可以获取一个设备中的所有变量值及OID,而不需要事先知道它们的准确OID值。

另外Snmputilgetnext可以用来测试Windows2KSNMP内存消耗拒绝服务攻击缺陷

受影响的系统有:

-Microsoftlmmib2.dll5.00.2134.1

-MicrosoftWindows2000ServerSP2

-MicrosoftWindows2000ServerSP1

-MicrosoftWindows2000Server

具体方法:

snmputilgetnextlocalhostpublic.1.3.6.1.4.1.77.1.2.28.0

请谨慎使用。

当心被警察叔叔K哦

3、snmputilwalk

知道了next指令的用途,我们可以编写一个程序自动获取一个设备的所有OID及其数值,而不用一行行地敲入那么长的命令。

但幸运的是,snmputil的walk指令帮助我们实现了这个想法。

在命令行状态下敲入下面的命令,将显示出本地机器几乎所有的变量:

C:

\>snmputilwalklocalhostpublic.1.3

你会看到一行行的文字在黑白窗口中不停地滚动......直到最后出现"EndofMIBsubtree"的信息:

其他指令含义:

1.snmputilwalk对方ippublic.1.3.6.1.2.1.25.4.2.1.2列出系统进程

这样就可以使入侵者在入侵之前就知道你系统运行的软件,有没有装杀毒软件,

从而知己知彼,百战不殆!

2.snmputilwalk对方ippublic.1.3.6.1.4.1.77.1.2.25.1.1列系统用户列表

有了这个更好了,入侵者可以根据你的用户表编一个密码表进行探测,

减少了入侵的盲目性。

3.snmputilget对方ippublic.1.3.6.1.4.1.77.1.4.1.0列出域名

这个可以列出系统的域名,是入侵者得到了主机名,可以根据此设置探测的密码字典,增加了成功率。

4.snmputilwalk对方ippublic.1.3.6.1.2.1.25.6.3.1.2列出安装的软件

用这个入侵者可以看你装的sp是什么,有没有装防火墙等信息,可以据此判断应该有的系统漏洞,增加了入侵的成功率。

5.snmputilwalk对方ippublic.1.3.6.1.2.1.1列出系统信息

这个可以使入侵者了解系统状况以及主机的稳定性,可以从主机的uptime里得知你系统开机了多长时间,从而确定是否入侵。

其他的工具:

1:

SolarWinds2002的IPNetworkBrowser

_id=82">

_id=83">

2:

LANguardNetworkScanner3.

_id=103">

3:

X-scan2.3cn

以上用x-scan就得到了系统信息

_id=13">

四、如何提高Win2KSNMP的安全性

1:

首先需要注意的是,snmp服务的通讯端口是UDP端口,这也就是大部分网络管理人员很容易忽略的地方。

往往某些网管配置服务器阻断了NetBIOS空会话的建立,就认为系统安全有了相当的保障,可由于安装

了SNMP服务,不知不觉中,就给系统带去了极大的隐患。

最方便和容易的解决方法,就是关闭SNMP服务,或者卸载掉该服务。

如果关掉SNMP服务不方便的话,那么可以通过修改注册表或者直接修改图形界面的SNMP服务属性

进行安全配置。

开始——程序——管理工具——服务——SNMPService——属性——安全

在这个配置界面中,可以修改communitystrings,也就是微软所说的"团体名称",呵呵,也就是

我所说的"查询密码"。

或者可以配置是否从某些安全主机上才允许SNMP查询。

不过NT4环境下的朋友就必须修改注册表了。

修改communitystrings,在

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities]

下,将public的名称修改成其它的名称就可以了。

如果要限定允许的ip才可以进行SNMP查询,可以进入

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers]

添加字符串,名称为"1",内容为要允许的主机IP。

当然,如果允许多台机器的话,就要名称沿用"2、3、4"等名称了

2:

在Win2K中,事件日志中的任何事件都可用来创建包含这一事件的SNMP陷阱,Microsoft将这称为SNMP事件转换器。

可以对一些Win2K设备进行配置,使得当有人试图登录它或者对其共享而未成功时,让这些设备能够发送一个SNMP陷阱信息。

把这些陷阱引导到我们自己的工作站,并设置当收到陷阱信息,用应用程序播放一个报警音调,这样就可以初步建立一个多

媒体安全管理工作站。

配置这些陷阱信息所需要的工具有evntwin.exe和evntcmd.exe,二者都是Win2K标准安装后的一部分:

用evntwin.exe对一些重要事件建立陷阱,然后在管理工作站上启动snmputil.exe:

C:

\>snmputiltrap

snmputil:

listeningfortraps...

IncomingTrap:

generic=6

specific=529

enterprise=.iso.org.8.83.101.99.117.114.105.116.121

agent=127.0.0.1

sourceIP=127.0.0.1

community=public

variable=.iso.org.1.0

value=String

variable=.iso.org.2.0

value=StringSYSTEM

variable=.iso.org.3.0

value=StringJVO

variable=.iso.org.4.0

value=String16

variable=.iso.org.5.0

value=String2

variable=.iso.org.dod.0

value=Stringnonexistinguser

variable=.iso.org.7.0

value=StringADS

variable=.iso.org.8.0

value=String3

variable=.iso.org.9.0

value=StringNtLmSsp

variable=.iso.org.10.0

value=StringMICROSOFT_AUTHENTICATION_PACKAGE_V1_0

variable=.iso.org.11.0

value=StringJVO

要记住,SNMP陷阱只产生于出现在Win2K事件日志中的事件。

如果是一个单独的工作站,需要在"本地安全策略"中配置。

如果是一个域中的设备,要使用AD(活动目录)来设置。

另一个使用SNMP并得到附加安全的方法是主动监控某些SNMP变量,这些变量有:

●IpForwarding(1.3.6.1.2.1.4.1.0):

就是IP转发,这个特性对大多少工作站而言不是个好功能。

●IcmpInRedirects(1.3.6.1.2.1.5.7):

是否有人正在向设备发送icmp重定向信息。

●TcpOutRsts(1.3.6.1.2.1.6.15):

一个记数器,表示设备所发送的RST数。

当受到端口扫描时,这个记数器会急剧增加。

●UdpNoPorts(1.3.6.1.2.1.7.2):

一个记数器,表示不提供服务的端口的通信量。

同样是一个可能受到端口扫描的信号。

对于一个SNMP管理工作站来说,为这些变量设置阀值就能提供很好的报警信息。

snmputil的作用是探测远程主机的相关信息,为入侵做辅助.当然你得有snmp口令.一般默认为"public"(不带引号)._cVA)I*)(此帖转载自_cVA)I*)[url=]『黑吧安全网』[/url]_cVA)I*)黑客动画吧论坛网址→[url=][/url])_cVA)I*)

elliott

SNMP工具命令

 

SNMP,SimpleNetworkManagementProtocol,简单网络管理协议。

用于管理IP网络上结点的协议。

几乎所有的网络设备和网络操作系统都支持SNMP。

接下来要介绍的是:

communitystrings,

也不知道中文翻译是什么意思,呵呵,不过如果理解成为基于SNMP协议信息通信时使用的一种“查询密码”应该不为过吧。

当使用特殊的客户端应用程序,通过该“查询密码”communitystrings的验证,将获得对应的权限(只读或者读写)对SNMP中管理信息库(MIB)进行访问。

而管理信息库(MIB)中则保存了系统所有的重要信息。

也就是说,如果可以知道communitystrings这个“查询密码”,我们就可以刺探系统的信息了。

比较遗憾的是,很多网络设备厂商以及操作系统厂商,在初始状态下,都使用比较统一的“查询密码”呵呵,这也就给我们提供了足够的方便。

二、对WIN2K进行刺探扫描

以WIN2K来说,一旦安装并启动了简单网络管理协议,系统将打开

UDP161snmp

UDP162snmptrap

两个端口。

具体做什么我们不去细究。

需要注意的是,这里使用的是UDP端口,而不是TCP端口。

同时,WIN2K系统支持初始的“查询密码”communitystrings为:

public

我们只要通过一款ResourceKit里面的工具snmputil,就可以方便的获得非常多的信息。

在这里可以下载:

 

呵呵,简单介绍一下用法

snmputil,就是程序名拉,呵呵。

get,就理解成获取一个信息。

getnext,就理解成获取下一个信息。

walk,就理解成获取一堆信息(嗯,应该说所有数据库子树/子目录的信息)

agent,具体某台机器拉。

community,嗯就是那个“communitystrings”“查询密码”拉。

oid,这个要多说一下,这个呢,就是物件识别代码(ObjectIdentifier)。

可以把oid理解成MIB管理信息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1