SNMP攻击

当你获得对方机器的SNMP口令,你要怎么做?
1、Snmputilget
下面我们在命令行状态下使用Win2K资源工具箱中的程序snmputil.exe
来获取安装了SNMP的Win2K机器的网络接口数目,命令参数是get:
前提是对方snmp口令是public
snmputil.exe提供基本的、低级的SNMP功能,通过使用不同的参数和变量,可以显示设备情况以及管理设备。
下面来看看这个例子都包含了哪些参数和变量:
d:>snmputilgetlocalhostpublic.1.3.6.1.2.1.2.1.0
Variable=interfaces.ifNumber.0
Value=Integer322
最后一个参数是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:/pre>
d:\>snmptilgetnextlocalhostpublicinterfaces.ifNumber.0
Variable=interfaces.ifTable.ifEntry.ifIndex.1
Value=Integer321
d:\>snmptilgetnextlocalhostpublicinterfaces.ifTable.ifEntry.ifIndex.1
Variable=interfaces.ifTable.ifEntry.ifIndex.16777219
Value=Integer3216777219
getnext的功能是获取指定SNMP变量的下一个变量的值及其OID。因为一个设备的所有SNMP变量都是规则排列的,
所以使用getnext命令参数就可以获取一个设备中的所有变量值及OID,而不需要事先知道它们的准确OID值。
pre>
另外Snmputilgetnext可以用来测试Windows2KSNMP内存消耗拒绝服务攻击缺陷
受影响的系统有:
-Microsoftlmmib2.dll5.00.2134.1
-MicrosoftWindows2000ServerSP2
-MicrosoftWindows2000ServerSP1
-MicrosoftWindows2000Server
具体方法:
snmputilgetnextlocalhostpublic.1.3.6.1.4.1.77.1.2.28.0
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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SNMP Agent源码是指基于SNMP协议的网络管理协议代理程序源代码。SNMP是一种用于管理网络设备的协议,通过SNMP Agent可以对网络设备进行监控、管理和配置,是目前网络管理中比较常用的一种协议。SNMP Agent源码主要用于开发SNMP协议代理程序,实现网络设备的监控和管理。SNMP Agent源码是复杂的、庞大的,因为SNMP协议涉及的领域很广,需要实现大量的功能模块。 SNMP Agent源码中包含了大量的代码和库文件,用于实现SNMP协议的各种功能。其中包括对SNMP协议的解析和构建、对SNMP消息的处理和转发、对网络设备的数据采集和监控等。此外,SNMP Agent源码还包含了多种通信模式的实现,如UDP、TCP、SNMP over IPv6等。因此,SNMP Agent源码需要开发者具备一定的网络编程和数据结构知识,同时对SNMP协议有一定的了解。 在开发SNMP Agent源码时,需要注意以下几点:首先,需要根据实际需求进行模块划分,将整个程序分为多个模块,方便后期维护和扩展。其次,需要充分考虑程序的可靠性和安全性,防止攻击者利用SNMP协议进行网络攻击。最后,还需要进行充分的测试工作,确保程序的稳定性和可靠性。 综上所述,SNMP Agent源码是实现SNMP协议代理程序的关键,对于网络管理和监控至关重要。开发SNMP Agent源码需要充分理解SNMP协议的原理和功能,掌握网络编程和数据结构知识,同时注重程序的可靠性、安全性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值