Lucene search
K

D-Link CAPTCHA Bypass

🗓️ 14 May 2009 00:00:00Reported by sourcesec.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 26 Views

D-Link Captcha system flaw allows WPA passphrase extractio

Code
`D-Link Captcha Partially Broken  
  
May 12th, 2009  
  
Hack-A-Day reported on D-Link’s new captcha system designed to protect against malware that alters DNS settings by logging in to the router using default administrative credentials. I downloaded the new firmware onto our DIR-628 to take a look, and quickly found a flaw in the captcha authentication system that allows an attacker to glean your WiFi WPA pass phrase from the router with only user-level access, and without properly solving the captcha.  
  
When you login with the captcha enabled, the request looks like this:  
  
GET /post_login.xml?hash=c85d324a36fbb6bc88e43ba8d88b10486c9a286a&auth_code=0C52F&auth_id=268D2  
  
The hash is a salted MD5 hash of your password, the auth_code is the captcha value that you entered, and the auth_id is unique to the captcha image that you viewed (this presumably allows the router to check the auth_code against the proper captcha image). The problem is that if you leave off the auth_code and auth_id values, some pages in the D-Link Web interface think that you’ve properly authenticated, as long as you get the hash right:  
  
GET /post_login.xml?hash=c85d324a36fbb6bc88e43ba8d88b10486c9a286a  
  
Most notably, once you’ve made the request to post_login.xml, you can activate WPS with the following request:  
  
GET /wifisc_add_sta.xml?method=pbutton&wps_ap_ix=0  
  
When WPS is activated, anyone within WiFi range can claim to be a valid WPS client and retrieve the WPA passphrase directly from the router.  
  
Further, one need not log in with Administrative credentials to perform this attack; only User-level access is required to activate WPS. This means that even if you load the new firmware on your router, use a strong WPA pass phrase, and change your Administrative login, an attacker can still activate WPS and gain access to your wireless network by simply having an internal client view a Web page.  
  
The attack works like this:  
  
1. The attacker uses DNS load balancing to bypass the browser’s same-domain restrictions. This allows his JavaScript code to access the router’s index page and glean the salt generated by the router.  
2. The attacker’s JavaScript uses the salt to generate a login hash for the D-Link User account (blank password by default).  
3. The attacker’s JavaScript sends the hash to the post_login.xml page.  
4. The attacker’s JavaScript sends a request to the wifisc_add_sta.xml page, activating WPS.  
5. The attacker uses WPSpy to detect when the victim’s router is looking for WPS clients, and connects to the WiFi network using a WPS-capable network card.  
  
So what you basically have is a combination of our previously described DNS load balancing and CSRF-based WPS attacks that results in a captcha bypass, privilage escalation, and a WPA crack, all with just a little JavaScript and some phishing.  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation