Vulnerabilidad thomson

download Vulnerabilidad thomson

If you can't read please download the document

Transcript of Vulnerabilidad thomson

  • 1. Vulnerabilidad en Routers marca Thomson Autor: Jos de Paz (Guatemala) [email protected] Este documento pretende ser de forma explcita, la opcin de poder obtener la clave WEP de los router Thomson, en sus versiones 6 y 7, de las cuales he hecho pruebas satisfactorias. Estos routers son distribuidos en Mexico por una compaia que presta los servicios de internet, en Espaa creo que por Orange, y en Guatemala por la empresa que ya conocemos, y que es la principal en los servicios de internet residencial. Bueno, sin mas preambulo vamos a las prueba, que pienso que es lo que mas apreciamos, si es cierto es lo que mas aprecio cuando alguien divulga algo interesante sobre las redes inalmbricas, aunque despus me toque que leer la introduccin. (claro esta que en emergencias la introduccin se pasa por alto, si, eso, el conocimiento hace que saltemos ese paso) Materiales: 1. Sistema Operativo: en este ejercicio utilizo Windows Xp. 2. Software: inSSIDer 2.0 http://www.metageek.net/products/inssider Figura No1. Acerca de inSSIDer Aunque tambin se puede utilizar NetStumbler, (utilizado por excelencia): http://www.netstumbler.com/downloads/ (para las antenas caseras me ha servido mucho para direccionar la seal)

2. 3. Tarjeta de Red Wifi: en este ejercicio he utilizado una marca Sabrent (vale tambin una Alfa con chip Realtek 8187L): Figura No 2. Propiedades Tarjeta Wifi con chip Realtek 4. Laptop: si, Porque? (despes lo explico), con una bateria al 100% de carga y que dure mas de una hora. En que consiste?: La vulnerabilidad o defecto de fbrica consiste en que, si observamos fisicamente estos routers en la parte inferior, traen consigo una etiqueta donde esta el nombre del SSID por defecto y su correspondientes claves WEP y WPA, que vienen siendo las mismas. En la versin 6, el nombre del SSID que viene por defecto esta compuesto por la siguiente cadena: SpeedTouch123456 y en la versin 7, esta cadena a cambiado por esta otra: Thomson123456, denotando que los ltimos seis caracteres son hexadecimales. Resulta que conociendo estos caracteres hexadecimales, utilizando ingenieria reversa, se puede llegar a obtener la clave WEP por default. Existe un programa desarrollado en C, creado por l que hizo este estudio, el cual pueden encontrar en varios sitios: http://www.gnucitizen.org/blog/default-key-algorithm-in-thomson-and-bt-home-hub- routers/ 3. http://foro.elhacker.net/hacking_wireless/routers_thomson_caso_espanol_redes_wepwpa_ %E2%80%9Cspeedtouchxxxxxx%E2%80%9D_al_descubierto-t208312.0.html http://lampiweb.com/foro/index.php?topic=1763.0 En fin, si buscamos en la red, seguro que encontraremos mucha informacin al respecto. Otra vulnerabilidad? Para mi opinin creo que si, se trata del contenido de este ejercio, entonces manos a obra. Resulta que por alguna extraa razn (y creo que no es asi) cuando se inicia o reinicia un router de esta marca, nos da la grata sorpresa!!! Ahora si, primer paso: Abrir (ejecutar) el inSSIDer: Figura No3. InSSIDer ejecutandose. Entre las bondades de esta aplicacin estan las de capturar las SSID que nos rodean, o sea que nos muestra las redes que estan a nuestro alcance, para realizarlo solo hay que presionar 4. el botn Start, que se encuentra en la parte superior derecha, con esto se inicia el scan: Figura No. 4. inSSIDer con redes detectadas Como se podra observar, hay 6 redes detectadas, y se nos muestra las caracteristicas de cada una, como la direccin MAC, el nombre del fabricante, etc., pero la informacin que nos interesa es el SSID y que el fabricante sea Thomson. Ahora solo resta iniciar o reiniciar el router, y alli es donde nos muestra su defecto ( o virtud), depende de que lado estemos para hacer la critica, procedo entonces a reiniciar el primero que sale en la lista, y observar luego la siguiente figura. Se nos regala esa cadena hexadecimal que necesitamos para luego aplicarla al programa stkeys.exe o cualquier otro que mas nos guste, ya que actualmente hay hasta versiones GUI para aquellos que no son adeptos al uso de la consola. Entonces, para que una laptop con buena bateria, pues esto lo experimente en un da lluvioso, cuando de repente se fue la luz (como se dice por aqui) y me quede a ciegas trabajando con el reflejo de la pantalla, es esa ocasin la bateria estaba al 100%. Seguido, como a la media hora, se nos hizo la luz, entonces iniciaron a resaltar tambin los bombillos, la refrigeradora, los ventiladores, y entre ellos los ROUTERS marca Thomson, y asi fue como buen observador vi de lo que la tarjeta WIFI se estaba alimentando. 5. Figura No 5. SSID inicial cuando se inicia el router Thomson Figura No. 6. Usando WZCSVC para ver redes detectadas 6. Conclusin: Llegando a este punto final, este ejercicio se aplica para aquellos routers en los cuales los IPS no cambian la clave WEP/WPA que trae por default, bueno aca la critica desde el otro lado, siendo yo un ISP tomaria en consideracin lo siguiente: 1. Cambiar la clave WEP/WPA por default que traen los equipos de marca Thomson. 2. Siendo el punto 1 una vulnerabilidad, cambiaria los equipos que distribuyo con el servicio, en este caso los routers de esta marca, por una versin sin esta vulnerabilidad. 3. Sabiendo que esta vulnerabilidad se repitio en la version 6 y 7, mejor cambio los routers por otra marca. Esperando que este documento sea para uso didctico y que sea de mucha utilidad no solo para lo cual fue presentado, sino para tomar en consideracin para cuando necesitemos contratar los servicios de un ISP, de forma particular o como empresa. Esta vulnerabilidad la descubri hace aproximadamente 3 aos, porque anteriormente esta empresa T*****, configuraba el nombre del SSID con el nmero de telfono, por ejemplo: si el nmero telefnico era: 78895678, este mismo nmero colocaba como SSID, y la clave WEP/WPA era nada mas y nada menos que este nmero convertido en hexadecimal, con lo cual quedara as: SSID: 78895678 clave WEP: 4B3DA3E pero la clave WEP deberia ser de 64 bits, que corresponde a 10 caracteres hexadecimales y al convertir el nmero telefnico solo obtenemos 7 caractares, entonces idearon esto: agregar un 1 al inicio y 10 en hexadecimal al final, entonces la clave quedaria as: 14B3DA3E0A (1 + 4B3DA3E + 0A) Hoy si, termino, divulgar estos conocimientos y aventuras, en ocasiones nos trae consecuencias, tales como que te llamen hacker, y sabiendo que la palabra hacker la asocian como delincuente, pero para alguien maduro y con otra perspectiva sabe que todos llevamos un hacker adentro. O acaso nunca te ha tocado arrancar tu vehiculo al empujon!! 7. Anexo: Codigo fuente Author: Kevin Devine Date: April 2008 /* ************************************************************************ ** * * * Default WEP/WPA key generation for Thomson series wireless routers * * * * Date: March 15th 2008 * * Author: Kevin Devine * * * ************************************************************************ ** AFAIK, this is a well known problem by some ISP. It is likely to affect any owner of a Thomson wireless router with default settings installed. ************************************************************************ ** The format of a serial number: CP YY WW PP XXX (CC) And from what i can tell of the following serial number taken from router i received. CP 06 15 JT 109 (53) YY is the year produced. ( 2006 ) ? WW is the week of year. ( some week of April ) ? PP is the production code. ( JT ) factory code? CC is the configuration code. ( 53 ) seems to be 00 - ZZ (0-9/A-Z) I can only guess that the XXX values represent the unit number ************************************************************************ ** The key generation is simple enough. Take as example: "CP0615JT109 (53)" 8. Remove the CC and PP values "CP0615109" Convert the XXX values to hexadecimal. "CP0615313039" Process with SHA-1 742da831d2b657fa53d347301ec610e1ebf8a3d0 The last 3 bytes are converted to 6 byte string, and appended to the word "SpeedTouch" which becomes the default SSID. "SpeedTouchF8A3D0" The first 5 bytes are converted to a 10 byte string which becomes the default WEP/WPA key. "742DA831D2" Thats it.. ************************************************************************ ** I was unable to determine if its possible to obtain the base serial number from the MAC, but it can't be ruled out. The method of recovery here using brute force attack of the default SSID octets, is pretty lame..but is enough for now. Theoretically, with 3 octets, no more than ~2 attempts are required before successfully accessing the router. When only 2 octets are provided, (example:BT Voyager/Home Hub routers) more potential keys are generated, with further required attempts - an average of 80. This still improves odds of an attacker gaining access to WPA protected routers - more so if an attacker can capture a WPA handshake and crack with Aircrack,Cain & Abel or offline with coWPAtty. Obviously the problem is with implementation of key/ssid generation and not WPA itself. ************************************************************************ ** 9. The only solution _right now_ is to have customers either turn off wireless (if its not being used), or change the default settings. To compile, use: gcc -fomit-frame-pointer -O3 -funroll-all-loops stkeys.c sha1.c -ostkeys Use OpenSSL SHA-1 for this to run faster.. Example usage for ST585v6 router: SSID: "SpeedTouchF8A3D0": c:stkeys -v -iF8A3D0 Serial Number: CP0615**109 - potential key = 742DA831D2 > 4)]) #define hexlsb(x)(hexTable[ (x & 0x0f)]) void usage(char **argv) { 10. fprintf(stdout,"ntUso: %s [ -i ] [ -o ]n" "nt -i : Los octetos hexadecimales del SSID del router Thomson" "nt -o : Especificar el fichero de salida para las posibles claves" "nt -v : Imprime en pantalla las posibles claves encontradasnn",*argv); exit(0); } /* * convert hexadecimal ssid string to binary * return 0 on error or binary length of string * */ u32 str2ssid(u8 ssid[],u8 *str) { u8 *p,*q = ssid; u32 len = strlen(str); if( (len % 2) || (len > MAX_SSID_OCTETS) ) return(0); for(p = str;(*p = toupper(*p)) && (strchr(hexTable,*p)) != 0;) { if(--len % 2) { *q = ((u8*)strchr(hexTable,*p++) - hexTable); *q