很多人开始明白对于WIN2K来说,关闭了TCP139和445端口以后,安全性会提高很多,起码很多对系统信息的刺探扫描也无法进行了一般来说,的确是这样但要做到真正完善的安全,还需要从每一个细节去考虑是否会存在隐患比如,对于完全安装的WIN2K或者说启动了 简单网络管理协议(SNMP)的系统来说,仍然将存在非常致命的隐患,完全将你的系统暴露给所有人一、 从SNMP说起SNMP,Simple Network Management Protocol,简单网络管理协议用于管理IP网络上结点的协议几乎所有的网络设备和网络操作系统都支持SNMP接下来要介绍的是:community strings,也不知道中文翻译是什么意思,呵呵,不过如果理解成为基于SNMP协议信息通信时使用的一种“查询密码”应该不为过吧当使用特殊的客户端应用程序,通过该“查询密码”community strings的验证,将获得对应的权限(只读 或者 读写)对SNMP中管理信息库(MIB)进行访问而管理信息库(MIB)中则保存了系统所有的重要信息也就是说,如果可以知道community strings 这个“查询密码”,我们就可以刺探系统的信息了。
比较遗憾的是,很多网络设备厂商以及操作系统厂商,在初始状态下,都使用比较统一的“查询密码”呵呵,这也就给我们提供了足够的方便二、 对WIN2K进行刺探扫描以WIN2K来说,一旦安装并启动了简单网络管理协议,系统将打开UDP 161 snmpUDP 162 snmptrap两个端口具体做什么我们不去细究需要注意的是,这里使用的是UDP端口,而不是TCP端口同时,WIN2K系统支持初始的“查询密码”community strings 为:public我们只要通过一款Resource Kit里面的工具snmputil,就可以方便的获得非常多的信息在这里可以下载: strings”“查询密码”拉oid,这个要多说一下,这个呢,就是物件识别代码(Object Identifier)可以把oid理解成MIB管理信息库中各种信息分类存放树资源的一个数字标识好了,具体的资料可以查阅相关文章开始刺探信息:尝试获得对方机器当前进程列表snmputil.exe 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 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 BrowserIP Network Browser是一款snmp浏览工具,它可以提供在输入正确的community strings“查询密码”后的运行着snmp服务的WIN2K/NT系统上的任何可得的信息在下图中,我们可以看到“查询密码”为:public而在Accounts(账号)表单里,我们已经获得了同上面snmputil命令行方式一样的反馈信息整个SolarWinds 软件套件更包含了更多的网络管理工具,以后我将在其他的文章里继续介绍LANguard Network Scanner 2.0这是一个网络安全综合扫描工具,主要功能:显示每台主机的NETBIOS主机名,MAC地址,搜寻共享,操作系统类型判断,并测试共享密码的安全性等等,以html格式输出主功能界面:选中左边SNMP选项,右键呼出SNMPWalk功能呵呵,出现了很直观的图形界面的MIB树的结构,直接通过选择进入相应的目录树或者直接输入oid号,就可以查询出对方主机的相应信息如账号信息:当然,LANguard Network Scanner还有一些更高级更适用的功能比如暴力破解community strings,呵呵自己配置一个字典的话会非常有效的。
四、 如何防范基于snmp的刺探扫描首先需要注意的是,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”等名称了到这里,基于SNMP的信息刺探与防护策略也基本说完了文章里面有很多名称或者解释都是我自己表述的,不够全面和正式,但对初学者来说,应该还是有些帮助的吧。