如果能获取只读(RO)或读/写(RW)权限的团体字符串,将对你从设备中提取信息发挥重要作用,
snmp v1 v2天生存在安全缺陷,snmp v3中添加了加密功能提供了更好的检查机制,增强了安全性为了获取管理一台交换机的权限,首先你需要找到它的SNMP团体字符串。
SNMP扫描
-信息的金矿
-经常被错误配置
-public /private /manager
onesixtyone
如果你已经知道目标的团体字符串为public ,可以使用下面这条命令,可以看到目标系统的信息
onesixtyone ip public
如果你不知道目标团体字符串
onesixtyone -c /usr/share/doc/onesixtyone/dict.txt 58.215.76.23 -o my.log -w 100
显示对方团体字符串为 public
查看onesixtyone 目录
dpkg -L onesixtyone
查看自带密码目录,你也可以使用自己的字典
cat /usr/share/doc/onesixtyone/dict.txt
SNMPWALK
SNMPWALK是一个通过SNMP GET-NEXT类型PDU,实现对目标AGENT的某指定MIB分支信息进行完整提取输出的命令工作。 命令行:
snmpwalk [选项] agent [oid]
选项参数:
由于SNMP协议中,不同的协议版本存在不同的参数选项,以下参数按协议分开说明。
1. 普通选项
a) –h 显示帮助
b) –v 1|2c|3 指定SNMP协议版本
c) –V 显示当前SNMPWALK命令行版本
d) –r RETRIES 指定重试次数,默认为0次。
e) –t TIMEOUT 指定每次请求的等待超时时间,单为秒,默认为3秒。
f) –Cc 指定当在WALK时,如果发现OID负增长将是否继续WALK。
2. V1、V2C选项
a) –c COMMUNITY 指定共同体字符串
3. V3选项
a) –l LEVEL 指定安全级别:noAuthNoPriv|authNoPriv|authPriv
b) –u USER-NAME 安全名字
c) –a PROTOCOL 验证协议:MD5|SHA。如果-l指定为authNoPriv或authPriv时才需要。
d) –A PASSPHRASE 验证字符串。如果-l指定为authNoPriv或authPriv时才需要。
e) –x PROTOCOL 加密协议:DES。如果-l指定为authPriv时才需要。
f) –X PASSPHRASE 加密字符串:如果-l指定为authPriv时才需要。
示例:
. SNMPWALK V1版本
snmpwalk –v –c public 192.168.0.1 .1.3.
使用v1版本,共同体为public,来对192.168.0.1的.1.3.6分支进行walk。
. SNMPWALK V2C版本
snmpwalk –v 2c –c cisco 192.168.0.2 .
使用v2c版本,共同体为cisco,来对192.168.0.2的整个mib进行walk。
snmpwalk –v 2c –c cisco –Cc –r –t 192.168.0.3 . > 192.168.0.3.mib
使用v2c版本,共同体为cisco,来对192.168.0.2的整个mib进行walk。并且通过-Cc指定OID负增长也可以继续,-r指定重试1次,-t指定超时为5秒,最后使用> 192.168.0.3.mib输出重定向到192.168.0..mib文件中去。
. SNMPWALK V3版本
snmpwalk –v –l noAuthNoPriv –u gov 192.168.0.3 .1.3.
使用v3版本,安全级别为noAuthNoPriv,指定安全名字为gov,对192.168.0.3设备的.1.3.6分支进行walk。
snmpwalk –v –l authNoPriv –u gov –A MD5 –a “gov auth pass” –r 192.168.0.3 .
使用v3版本,安全级别为authNoPriv,指定安全名字为gov,指定验证协议为MD5同时验证字符串为gov auth pass对192.168.0.3的整个mib进行walk。同时指定重试3次。
snmpwalk –v3 –l authPriv –u gov –A MD5 –a “gov auth pass” –X DES –x “gov priv pass” 192.168.0.3 .1.3.
使用v3版本,安全级别为authNoPriv,指定安全名字为gov,指定验证协议为MD5同时验证字符串为gov auth pass,指定加密协议为DES同时验证字符串为gov priv pass,对192.168.0.3的.1.3.6分支mib进行walk。
参考示例
示例
1、snmpwalk -c public -v 1 ip .1.3.6.1.2.1.25.1 得到取得windows端的系统进程用户数等
2、snmpwalk -c public -v 1 ip .1.3.6.1.2.1.25.2.2 取得系统总内存
3、snmpwalk -c public -v 1 ip hrSystemNumUsers 取得系统用户数
4、snmpwalk -c public -v 1 ip .1.3.6.1.2.1.4.20 取得IP信息
5、snmpwalk -v 2c -c public ip .1.3.6.1.2.1.1 查看系统信息
其中-v是指版本,-c 是指密钥。
snmpwalk功能很多,可以获取系统各种信息,只要更改后面的信息类型即可。如果不知道什么类型,也可以不指定,这样所有系统信息都获取到:
snmpwalk -v 2c -c public 10.0.1.52
另外常用的
.1.3.6.1.4.1.77.1.4.1.0 列出域名
.1.3.6.1.2.1.25.6.3.1.2 列出安装的软件
.1.3.6.1.2.1.25.4.2.1.2 列出系统进程
给大家展示一下 snmpwalk -v 2c -c public ip .1.3.6.1.2.1.1 这条命令