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
    评论
一. 账号口令 1.1 检查设备密码复杂度策略(高危) 1.2 检查口令最小长度(高危) 1.3 检查是否设置口令更改最小间隔天数(高危) 1.4 检查是否设置口令生存周期(高危) 1.5 检查是否设置口令过期前警告天数(高危) 1.6 检查是否存在空口令账号(高危) 1.7 检查是否设置除root之外UID为0的用户(中危) 二. 认证授权 2.1 检查用户目录缺省访问权限设置(高危) 2.2 检查用户umask设置(中危) 2.3 检查重要文件属性设置(中危) 2.4 检查重要目录或文件权限设置(中危) 2.5 检查是否设置ssh登录前警告Banner(低危) 三. 日志审计 3.1 检查是否对登录进行日志记录(高危) 3.2 检查是否启用cron行为日志功能(低危) 3.3 检查是否配置su命令使用情况记录(低危) 3.4 检查日志文件是否非全局可写(低危) 3.5 检查安全事件日志配置(低危) 3.6 检查是否记录用户对设备的操作(低危) 3.7 检查是否配置远程日志功能(低危) 四. 协议安全 4.1 检查是否禁止root用户远程登录(高危) 4.2 检查是否禁止匿名用户登录FTP(高危) 4.3 检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议(高危) 4.4 检查是否修改snmp默认团体字(中危) 4.5 检查系统openssh安全配置(中危) 4.6 检查是否禁止root用户登录FTP(中危) 五. 其他安全 5.1 检查是否使用PAM认证模块禁止wheel组之外的用户su为root(高危) 5.2 检查是否设置命令行界面超时退出(高危) 5.3 检查是否关闭不必要的服务和端口(高危) 5.4 检查是否关闭系统信任机制(高危) 5.5 检查是否删除了潜在危险文件(高危) 5.6 检查系统core dump设置(中危) 5.7 检查root用户的path环境变量(中危) 5.8 检查系统是否禁用ctrl+alt+del组合键(中危) 5.9 检查密码重复使用次数限制(中危) 5.10 检查是否配置用户所需最小权限(中危) 5.11 检查系统内核参数配置(中危) 5.12 检查FTP用户上传的文件所具有的权限(低危) 5.13 检查/usr/bin/目录下可执行文件的拥有者属性(低危) 5.14 检查是否按用户分配账号(低危) 5.15 检查历史命令设置(低危) 5.16 检查系统磁盘分区使用率(低危) 5.17 检查日志文件权限设置(低危) 5.18 检查是否设置系统引导管理器密码(低危) 5.19 检查是否限制FTP用户登录后能访问的目录(低危) 5.20 检查是否设置ssh成功登录后Banner(低危) 5.21 检查是否使用NTP(网络时间协议)保持时间同步(低危) 5.22 检查是否关闭IP伪装和绑定多IP功能(低危) 5.23 检查是否限制远程登录IP范围(低危) 5.24 检查NFS(网络文件系统)服务配置(低危) 5.25 检查拥有suid和sgid权限的文件(低危) 5.26 检查是否配置定时自动屏幕锁定(适用于具备图形界面的设备)(低危) 5.27 检查是否安装chkrootkit进行系统监测(低危) 5.28 检查是否对系统账号进行登录限制(低危) 5.29 检查是否禁用不必要的系统服务(低危) 5.30 检查别名文件/etc/aliase(或/etc/mail/aliases)配置(低危) 5.31 检查账户认证失败次数限制(低危) 5.32 检查telnet Banner 设置(低危) 5.33 检查FTP Banner设置(低危) 5.34 检查是否关闭数据包转发功能(适用于不做路由功能的系统)(低危) 5.35 检查是否安装OS补丁(低危) 5.36 检查是否按组进行账号管理(低危) 5.37 检查是否删除与设备运行、维护等工作无关的账号(低危)
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、付费专栏及课程。

余额充值