中国网络渗透测试联盟

标题: SNMP弱口令利用 [打印本页]

作者: admin    时间: 2013-2-27 21:47
标题: SNMP弱口令利用

SNMP弱口令利用

相信大家在用x-scan的时候绝对有扫倒snmp弱口令 public的时候 ,但是很少有人关注它 ,现在我就说一下他的用途, 其实他能够泄漏很多主机信息的  

工具要用到 snmputil http://www.patching.net/abu/tools/win/snmputil.exe

集体的 命令在dos下运行这个东东 会提示的 至于oid   

重要的就这些吧  

snmputil walk 对方ip public .1.3.6.1.2.1.25.4.2.1.2 列出系统进程  

snmputil walk 对方ip public .1.3.6.1.4.1.77.1.2.25.1.1 列系统用户列表

snmputil get 对方ip public .1.3.6.1.4.1.77.1.4.1.0 列出域名  

snmputil walk 对方ip public .1.3.6.1.2.1.25.6.3.1.2 列出安装的软件  

snmputil walk 对方ip public .1.3.6.1.2.1.1 列出系统信息

一些工具的推荐

snmputil的功能已经完全足够用来进行对网络主机的刺探扫描了,只是因为它是命令行下的工具

而且,超常的oid标识符也并不是那么方便输入。

这里我推荐两款非常不错的网络管理工具,当然,它们的另一个作用就是snmp的刺探。 

SolarWinds 2001的IP Network Browser

IP Network Browser是一款snmp浏览工具,它可以提供在输入正确的community strings“查询密码”

后的运行着snmp服务的WIN2K/NT系统上的任何可得的信息。

LANguard Network Scanner 2.0

下载地址:http://www.ttian.net/website/2005/1224/946.html

这是一个网络安全综合扫描工具,主要功能:显示每台主机的NETBIOS主机名,MAC地址,搜寻

共享,操作系统类型判断,并测试共享密码的安全性等等,以html格式输出。
用法http://www.heibai.net/book/html/ ... /20090915/1119.html

一、SNMP的概念,功能

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

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

信息,进行修改,寻找故障;完成故障诊断,容量规划和报告生成。它采用轮询机制,

提供最基本的功能集。最适合小型、快速、低价格的环境使用。它只要求无证实的传输层

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

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

但也可能存在风险,本文将同时检验这两个方面。另外,除了介绍一些开发工具外,

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

二、在Win2K中安装SNMP

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

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

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

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

三、对snmp信息的刺探方法

1、Snmputil get

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

(http://pdp.nease.net/snmputil.zip)

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

前提是对方snmp口令是public

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

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



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

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

这个字符串对于用户来说,就要易记易读多了。你可以发现,这种对应关系与DNS类似。

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

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

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

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

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



2、Snmputil getnext

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

getnext的功能是获取指定SNMP变量的下一个变量的值及其OID。因为一个设备的所有SNMP变量都是规则排列的,

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



另外Snmputil getnext可以用来测试 Windows 2K SNMP内存消耗拒绝服务攻击缺陷

受影响的系统有:

- Microsoft lmmib2.dll 5.00.2134.1

- Microsoft Windows 2000 Server SP2

- Microsoft Windows 2000 Server SP1

- Microsoft Windows 2000 Server

具体方法:

snmputil getnext localhost public .1.3.6.1.4.1.77.1.2.28.0

请谨慎使用。。。。。。 当心被警察叔叔K哦



3、snmputil walk

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

但幸运的是,snmputil的walk指令帮助我们实现了这个想法。在命令行状态下敲入下面的命令,将显示出本地机器几乎所有的变量:

C:\> snmputil walk localhost public .1.3

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

其他指令含义:

1.snmputil walk 对方ip public .1.3.6.1.2.1.25.4.2.1.2 列出系统进程

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

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

2.snmputil walk 对方ip public .1.3.6.1.4.1.77.1.2.25.1.1 列系统用户列表

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

减少了入侵的盲目性。

3.snmputil get 对方ip public .1.3.6.1.4.1.77.1.4.1.0 列出域名

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

4.snmputil walk 对方ip public .1.3.6.1.2.1.25.6.3.1.2 列出安装的软件

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

5.snmputil walk 对方ip public .1.3.6.1.2.1.1 列出系统信息

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



其他的工具:

1:SolarWinds 2002的IP Network Browser

_id=82">http://www.lbfok.com/txt/showsoft.asp?soft_id=82(软件地址)

_id=83">http://www.lbfok.com/txt/showsoft.asp?soft_id=83(注册机下载)

2:LANguard Network Scanner 3.

_id=103">http://www.lbfok.com/txt/showsoft.asp?soft_id=103

3:X-scan2.3cn

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

_id=13">http://www.lbfok.com/txt/showsoft.asp?soft_id=13



四、如何提高Win2K SNMP的安全性



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

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

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

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

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

进行安全配置。

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



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

我所说的"查询密码"。或者可以配置是否从某些安全主机上才允许SNMP查询。

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

修改community strings,在

[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:\> snmputil trap

snmputil: listening for traps...

Incoming Trap:

generic = 6

specific = 529

enterprise = .iso.org.8.83.101.99.117.114.105.116.121

agent = 127.0.0.1

source IP = 127.0.0.1

community = public

variable = .iso.org.1.0

value = String

variable = .iso.org.2.0

value = String SYSTEM

variable = .iso.org.3.0

value = String JVO

variable = .iso.org.4.0

value = String 16

variable = .iso.org.5.0

value = String 2

variable = .iso.org.dod.0

value = String nonexistinguser

variable = .iso.org.7.0

value = String ADS

variable = .iso.org.8.0

value = String 3

variable = .iso.org.9.0

value = String NtLmSsp

variable = .iso.org.10.0

value = String MICROSOFT_AUTHENTICATION_PACKAGE_V1_0

variable = .iso.org.11.0

value = String JVO

要记住,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管理工作站来说,为这些变量设置阀值就能提供很好的报警信息。





欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2