-[ 0x02 ]-------------------------------------------------------------------- -[ Noticias ]---------------------------------------------------------------- -[ by SET Staff ]-----------------------------------------------------SET-21- Empezamos las noticias informando que Rufus no podra escribir mas esta secion por falta de tiempo material. Ahora si quereis enviar alguna noticia, enviadla a set-fw@bigfoot.com. Ahora a ello. Como viene siendo nuestra costumbre las notcias no estan ningun orden especial. - El DVD crackeado (CSS) - Hack del Ministerio de Fomento - Cuelge de la Dreamcast y cosas varias - Microsoft es un Monopolio - RealAudio y la privacidad (o la falta de esta) - Hack made in Sweden - Reunion de Seguridad Europea - Chaos Comunication Congress 99 - GSM : Seguro ? - Geografia de Internet - PlayStation 2 usa Linux - Service Pack 6 - M$ Patchea de nuevo! - Kernel 2.4 en Noviembre - Sendmail se apunta a la moda del portal - Reunion de FreeBSD - IBM dara Linux en los ThinkPad - Allaire's ColdFusion bajo Linux - John The Ripper v1.6 bajo Linux - Lineas de Actuacion en caso Redada hechas publicas - Intel creara una set-top box con la colaboracion de Nokia - IBM anuncia Java 1.1.8 para Linux - Domino para Linux Listo! - Fallos encontrados en el Openserver de SCO. - Avalancha de Software Comercial en Linux --[ CSS Crack = DVD Hack Mucho se ha hablado sobre el Hack del DVD en los ultimos dias, el famoso programa que lee un .VOB de un DVD que es lo que contiene la pelicula en si y salva un fichero .mpg (MPEG-2). El crack en si del CSS se realizo el 26 de Octubre por Frank A. Stevenson y el hizo un posting publico con las fuentes que demostraban la debilidad del CSS. Despues un par de hackers decidieron implementar estas fuentes y hacer un programa que desencripta los DVDs. Pero si lo que realmente quiere es sacar un DVD y hacerte un Video-CD por ejemplo no necesitas tener 6Gb de Hd libre. Vete a la alguna pagina de utilidades de dvd. Teneis las fuentes del CSS cracker al final de las news. No incluimos las fuentes del programa de crackeo del DVD por razones evidentes. Solo las del CSS. http://jya.com http://www.dvdutils.com --[ Hack del Ministerio de Fomento No le vamos a dedicar mucho tiempo a esto, otro hack de una pagina. Buscad por ahi. Como veis los administradores que estan al cargo de paginas de web de centros oficiales siguen muy ocupados parcheando los servidores. http://www.mfom.es --[ Cuelge de la Dreamcast y cosas varias Bueno pues veamos esta nueva consola de Sega, tiene un par de fallos gordos. Primero si le quitas la pila podras usar el truco de toda la vida para usar juegos de otros paises, silver, etc.. Existe tambien un exploit para el browser de la Dreamcast, que la cuelga irremediablemente : solucion actualizar el software. Donde ? pues eso ya lo deberias de saber tu. Que por que no te damos la direcion del script ? ya sois mayorcitos para usar un buscador. http://www.sega.com --[ Microsoft es un Monopolio Si se~or parece que teniamos razon la gran M$ era un monopolio, despues de muchos meses de legalidades vemos el resultado. De esto no hay mucho mas que decir, se supone que le aplicaran algun tipo de sancion, por decidir todavia. http://chkpt.zdnet.com/chkpt/zdnnsec/www.zdnet.com/zdnn/special/ msdojendgame.html --[ RealAudio y la privacidad (o la falta de esta) Sorpresa parece ser que el RealJuxeBox tiene una identificacion que se envia a Real con los datos de lo que escuchas sin avisar y asi en plan secreto. Evidentemente RealNetworks no lo podia negar y simplemente este Lunes ha sacado un patch para quitar este id de cada RealPlayer. De todas maneras podeis leer mas en las url que teneis abajo y tambien patchear vuestros player si es que lo usais. El problema tambien existe en RealPlayer. http://geeknews.org http://www.wired.com/news/technology/0,1282,32250,00.html http://www.wired.com/news/technology/0,1282,32350,00.html http://www.real.com/rjcentral/privacyupdate.html <- Patch 67Kb http://newspub.hotwired.com/news/story/0,1240,32250,00.html --[ Hack made in Sweden Durante la primera semana de Noviembre exactamente del 4 al 7. Tuvo lugar en Suecia la conferencia anual de la zona norte, se reunio lo mejor de del hack y phreak de los paises escandinavos. A algun miembro del Staff de SET le hubiese gustado ir pero no se puede hacer todo. Otro a~o. No tenemos la url por que fue solo bajo invitacion y no tienen web. El evento fue organizado por una conocida revista underground Sueca. --[ Reunion de Seguridad Europea En Septiembre de este a~o tuvo lugar una reunion en Munchen (Munich) a la que fueron invitados, las policia de delitos informaticos de varios paises europeos, entre ellos Espa~a. Tambien estuvo la policia del Reino Unido y Holanda. El evento fue organizador por BND. La policia Alemana. El nivel de ciertas ponencias demostro ser bastante bajo. Gracias a nuestro contacto en CCC por la informacion. Mas infor en la web del CCC --[ Chaos Comunication Congress 99 Como viene ocurriendo a~o tras a~o el Chaos Computer Club organiza su Comunication Congress en Berlin del 27 al 29 de Diciembre. Este a~o habra ponencias sobre Criptografia, Libertad en la Red y Lockpicking entre otras. Es una visita obligada y reunion de lo mejor del Hack y Phreak de Europa. Si todo va bien tendries un buen articulo sobre este congreso con SET 22. http://www.ccc.de --[ GSM : Seguro ? Mucho se habla de la seguridad del algoritmo GSM y blah y blah.. En las ultimas semanas se han hecho publicos las fuentes de los algoritmos que faltaban. Veamos como anda este tema ultimamente.. GSM se basa en cuatro algoritmos basicos que son : A3 De Autentificacion A5/1 Encriptacion de la voz en el aire (Fuerte) A5/2 Encriptacion de la voz en el aire (Debil) A8 Generacion de la llave del algoritmo de encriptacion aerea COMP128 Es el que usan la gran mayoria de companias para el A3 y A8 es un viejo conocido y ha sido crackeado hace mucho. Desde 1998 hay unos elementos que han estado trabajando en la seguridad o la falta de esta en los algoritmos GSM. Ahora mismo solo falta parte del A5/2 para tenerlo todo. Haremos una mencion especial al A8 dado que _todas_ las compa~ias que se conocen debilitan _deliberadamente_ la llave de la A8 de 64bits a 54bits rellenando con ceros. Vamos que el cuento de que las conversaciones GSM son seguras que se lo cuenten a otros. Como es natural no publicaremos las fuentes de esto dado que el que las quiera que las busque. http://jya.com/crack-a5.htm http://www.scard.org/gsm --[ Geografia de Internet Como se mapea Internet ? pues si alguna vez os la habeis preguntado no teneis nada mas que visitad esta url, podeis incluso hacer mapa desde vuetra conexion. Esto ha cambiado un poco, para mejor. Tambien podeis ver la evolucion desde que se formo internet hasta ahora. http://www.cybergeography.org/atlas/topology.html http://som.csudh.edu/cis/lpress/history/arpamaps/press.jpg http://infoplease.lycos.com/ipa/A0193167.html http://dir.lycos.com/Computers/Internet/Statistics_and_Demographics/ --[ PlayStation 2 usa Linux El equipo al cargo de hacer las utilidades de programacion que usara la PSX2 han decidido que este entorno de programacion sera Linux. Por ahora no hay mucha mas info pero ya os mantedremos informados. http://www.sony.co.jp http://www.davesvgc.com --[ SP6 - M$ Patchea de nuevo! M$ ataca de nuevo, el nuevo Service Pack de Windows NT acaba de salir ya no vamos a contar que patchea por que tardariamos horas. http://no.me.da.gana.de/hacerles/propaganda... --[ Kernel 2.4 en Noviembre Buenas noticias en la primera Linux Expo que tuvo lugar hace unas semanas en el Reino Unido, Alan Cox hizo publico que la version de desarollo del nuevo Kernel 2.4 estaria disponible en Noviembre. Lo mas importante de esta nueva actualizacion es que soportara aun mas hardware y placas multiprocesador, hasta 256. Uno de los interesados es SGi. Mas informacion en las proximas semanas. http://www.kernel.org http://linux.box.sk http://www.sgi.com --[ Sendmail se apunta a la moda del portal La compa~ia que creo el programa de correo mas usando del mundo anuncio el pasado 20 de Octubre sus alianzas con otras compa~ias y su intencion de crear un portal relacionado con SendMail y los distintos programas open-source relacionados. http://www.sendmail.net - El Portal http://www.cnn.com/TECH/computing/9910/20/sendmail.net.idg/index.html --[ Reunion de FreeBSD Los usuarios de FreeBSD el clon de BSD bajo x86 se reunieron el 17 de Octubre en (como no..) Berkeley. La asistencia fue masiva algo cercano al 50% mas de lo esperado. Esperaban 150 personas y aparecieron algo mas de 300. http://www.freebsdcon.org http://www.freebsd.org http://www.idg.net/go.cgi?id=179698 http://www.idg.net/go.cgi?id=179700 --[ IBM dara Linux en los ThinkPads El ThinkPad 600E sera el primer modelo que saldra a la venta certificado por Red Hat para ser compatible con el Red Hat 6.0 Para final de a~o IBM espera anunciar planes de compatibilidad con SUSE, Caldera y TurboLinux para funcionar en un rango mayor de modelos. http://www.ibm.com http://www.techweb.com --[ Allaire's ColdFusion bajo Linux El software de integracion de bases de datos en web estara disponible en muy breve bajo linux. Este es solo el principio, las grandes compa~ias se apuntan a Linux. A finales de mes una version de muestra estara disponible. El precio del paquete es de unos 1500USD el deluxe y la normal 375USD, la Express sera gratuita. http://www.allaire.com http://www.techweb.com http://www.crn.com --[ John The Ripper v1.6 Bajo Linux Pues si ahi lo teneis, a que esperais a bajarlo ? El de siempre. http://www.securityfocus.com/level2/?go=tools --[ Lineas de Actuacion en caso Redada hechas publicas Eso si esto solo se aplica a USA, pero puede ser interesante saber lo que se pueden y no pueden llevar y sobre todo como deben de actuar Se ha hecho pueblico aqui. http://www.usdoj.gov/criminal/cybercrime/searching.html#FED_GUID --[ Intel creara una set-top box con la colaboracion de Nokia Pero que es lo interesante ? que usara Linux como su sistema operativo,la cajita en si sera capaz de recibir DVB, Television digital (ATVEF) y Digital Video Broadcast, usara standars abiertos y protocolos abiertos... http://www.intel.com http://www.nokia.com --[ IBM anuncia Java 1.1.8 para Linux Este no es un simple anuncio de un release, si observamos el desarollo de el Java SDK la version mas rapida y que mas rapidamente evolucionaba era la de win32. Ahora las tablas han cambiado. Esta nueva version es mas rapida y ha salido antes en Linux que en win32. No cogeis el tema ? http://www.ibm.com/developer/java/ http://www.volano.com/report.html http://www.ibm.com/java/jdk/118/linux/index.html http://www-4.ibm.com/software/developer/library/java-linux/java-linux.html --[ Domino para Linux Listo! La primera version de Lotus Domino para Linux saldra a la calle a finales de este mes, la presentacion tuvo lugar en el Lotusphere en Berlin a finales de Octubre. http://www.lotus.com http://www.lotus.com/linux --[ Fallos encontrados en el Openserver de SCO. Si lo usas actualizate aqui > http://www.sco.com/security --[ Avalancha de Software Comercial en Linux Buscas mas software comercial en Linux pues no estaria de mas que visitases estas urls... http://www.freshmeat.net http://www.execpc.com/lsm (Linux Software Map) <++> news/css.c #include #include #include #include unsigned int CSStab0[11]={5,0,1,2,3,4,0,1,2,3,4}; unsigned char CSStab1[256]= { 0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e,0x36,0x2b,0x6e,0x2e,0x66,0x7b, 0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e,0xd6,0x0b,0x4e,0x0e,0x46,0x9b, 0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a,0x52,0x8f,0xca,0x8a,0xc2,0x1f, 0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98,0xd0,0x01,0x48,0x08,0x40,0x91, 0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c,0x34,0x25,0x6c,0x2c,0x64,0x75, 0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c,0xd4,0x05,0x4c,0x0c,0x44,0x95, 0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18,0x50,0x81,0xc8,0x88,0xc0,0x11, 0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a,0xd2,0x0f,0x4a,0x0a,0x42,0x9f, 0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e,0x56,0x8b,0xce,0x8e,0xc6,0x1b, 0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe,0xb6,0xab,0xee,0xae,0xe6,0xfb, 0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a,0x32,0x2f,0x6a,0x2a,0x62,0x7f, 0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8,0xb0,0xa1,0xe8,0xa8,0xe0,0xf1, 0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c,0x54,0x85,0xcc,0x8c,0xc4,0x15, 0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc,0xb4,0xa5,0xec,0xac,0xe4,0xf5, 0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78,0x30,0x21,0x68,0x28,0x60,0x71, 0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa,0xb2,0xaf,0xea,0xaa,0xe2,0xff }; unsigned char CSStab2[256]= { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08,0x0b,0x0a,0x0d,0x0c,0x0f,0x0e, 0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a,0x19,0x18,0x1f,0x1e,0x1d,0x1c, 0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c,0x2f,0x2e,0x29,0x28,0x2b,0x2a, 0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e,0x3d,0x3c,0x3b,0x3a,0x39,0x38, 0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53,0x50,0x51,0x56,0x57,0x54,0x55, 0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65,0x66,0x67,0x60,0x61,0x62,0x63, 0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77,0x74,0x75,0x72,0x73,0x70,0x71, 0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a,0x99,0x98,0x9f,0x9e,0x9d,0x9c, 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88,0x8b,0x8a,0x8d,0x8c,0x8f,0x8e, 0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe,0xbd,0xbc,0xbb,0xba,0xb9,0xb8, 0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac,0xaf,0xae,0xa9,0xa8,0xab,0xaa, 0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3,0xd0,0xd1,0xd6,0xd7,0xd4,0xd5, 0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7,0xf4,0xf5,0xf2,0xf3,0xf0,0xf1, 0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5,0xe6,0xe7,0xe0,0xe1,0xe2,0xe3 }; unsigned char CSStab3[512]= { 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff }; unsigned char CSStab4[256]= { 0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90,0x50,0xd0,0x30,0xb0,0x70,0xf0, 0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98,0x58,0xd8,0x38,0xb8,0x78,0xf8, 0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94,0x54,0xd4,0x34,0xb4,0x74,0xf4, 0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c,0x5c,0xdc,0x3c,0xbc,0x7c,0xfc, 0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92,0x52,0xd2,0x32,0xb2,0x72,0xf2, 0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a,0x5a,0xda,0x3a,0xba,0x7a,0xfa, 0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96,0x56,0xd6,0x36,0xb6,0x76,0xf6, 0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e,0x5e,0xde,0x3e,0xbe,0x7e,0xfe, 0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91,0x51,0xd1,0x31,0xb1,0x71,0xf1, 0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99,0x59,0xd9,0x39,0xb9,0x79,0xf9, 0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95,0x55,0xd5,0x35,0xb5,0x75,0xf5, 0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d,0x5d,0xdd,0x3d,0xbd,0x7d,0xfd, 0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93,0x53,0xd3,0x33,0xb3,0x73,0xf3, 0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b,0x5b,0xdb,0x3b,0xbb,0x7b,0xfb, 0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97,0x57,0xd7,0x37,0xb7,0x77,0xf7, 0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f,0x5f,0xdf,0x3f,0xbf,0x7f,0xff }; unsigned char CSStab5[256]= { 0xff,0x7f,0xbf,0x3f,0xdf,0x5f,0x9f,0x1f,0xef,0x6f,0xaf,0x2f,0xcf,0x4f,0x8f,0x0f, 0xf7,0x77,0xb7,0x37,0xd7,0x57,0x97,0x17,0xe7,0x67,0xa7,0x27,0xc7,0x47,0x87,0x07, 0xfb,0x7b,0xbb,0x3b,0xdb,0x5b,0x9b,0x1b,0xeb,0x6b,0xab,0x2b,0xcb,0x4b,0x8b,0x0b, 0xf3,0x73,0xb3,0x33,0xd3,0x53,0x93,0x13,0xe3,0x63,0xa3,0x23,0xc3,0x43,0x83,0x03, 0xfd,0x7d,0xbd,0x3d,0xdd,0x5d,0x9d,0x1d,0xed,0x6d,0xad,0x2d,0xcd,0x4d,0x8d,0x0d, 0xf5,0x75,0xb5,0x35,0xd5,0x55,0x95,0x15,0xe5,0x65,0xa5,0x25,0xc5,0x45,0x85,0x05, 0xf9,0x79,0xb9,0x39,0xd9,0x59,0x99,0x19,0xe9,0x69,0xa9,0x29,0xc9,0x49,0x89,0x09, 0xf1,0x71,0xb1,0x31,0xd1,0x51,0x91,0x11,0xe1,0x61,0xa1,0x21,0xc1,0x41,0x81,0x01, 0xfe,0x7e,0xbe,0x3e,0xde,0x5e,0x9e,0x1e,0xee,0x6e,0xae,0x2e,0xce,0x4e,0x8e,0x0e, 0xf6,0x76,0xb6,0x36,0xd6,0x56,0x96,0x16,0xe6,0x66,0xa6,0x26,0xc6,0x46,0x86,0x06, 0xfa,0x7a,0xba,0x3a,0xda,0x5a,0x9a,0x1a,0xea,0x6a,0xaa,0x2a,0xca,0x4a,0x8a,0x0a, 0xf2,0x72,0xb2,0x32,0xd2,0x52,0x92,0x12,0xe2,0x62,0xa2,0x22,0xc2,0x42,0x82,0x02, 0xfc,0x7c,0xbc,0x3c,0xdc,0x5c,0x9c,0x1c,0xec,0x6c,0xac,0x2c,0xcc,0x4c,0x8c,0x0c, 0xf4,0x74,0xb4,0x34,0xd4,0x54,0x94,0x14,0xe4,0x64,0xa4,0x24,0xc4,0x44,0x84,0x04, 0xf8,0x78,0xb8,0x38,0xd8,0x58,0x98,0x18,0xe8,0x68,0xa8,0x28,0xc8,0x48,0x88,0x08, 0xf0,0x70,0xb0,0x30,0xd0,0x50,0x90,0x10,0xe0,0x60,0xa0,0x20,0xc0,0x40,0x80,0x00 }; /*********************************************** * * The basic CSS cipher code * * * With reduced mangling in the key setup * * ***********************************************/ void CSSdescramble( unsigned char *key ) { unsigned int t1,t2,t3,t4,t5,t6; unsigned int i; t1= key[0] ^ 0x100; t2= key[1]; t3=(*((unsigned int *)(key+2))); t4=t3&7; t3=t3*2+8-t4; t5=0; printf( "Keystate at start: %03x %02x %08x\n", t1, t2, t3 ); printf( "output: " ); for( i=0 ; i < 10 ; i++ ) { t4=CSStab2[t2]^CSStab3[t1]; t2=t1>>1; t1=((t1&1)<<8)^t4; t4=CSStab5[t4]; t6=(((((((t3>>3)^t3)>>1)^t3)>>8)^t3)>>5)&0xff; t3=(t3<<8)|t6; t6=CSStab4[t6]; t5+=t6+t4; printf( "%02x ",t5&0xff); t5>>=8; } printf( "\n" ); } /******************************************************** * * The Divide and conquer attack * * Deviced and written by Frank A. Stevenson 26 Oct 1999 * * ( frank@funcom.com ) * Released under the GPL license * ********************************************************/ #define KEYSTREAMBYTES 10 static unsigned char invtab4[256]; void CSScracker( unsigned char* pStream ) { unsigned int t1,t2,t3,t4,t5,t6; unsigned int nTry; unsigned int vCandidate; int i; unsigned int j; /* Test that CSStab4 is a permutation */ memset( invtab4, 0, 256 ); for( i = 0 ; i < 256 ; i++ ) invtab4[ CSStab4[i] ] = 1; for( i = 0 ; i < 256 ; i++ ) if( invtab4[ i ] != 1 ) { printf( "Permutation error\n" ); exit( -1 ); } /* initialize the inverse of table4 */ for( i = 0 ; i < 256 ; i++ ) invtab4[ CSStab4[i] ] = i; for( nTry = 0 ; nTry < 65536 ; nTry++ ) { t1 = nTry >> 8 | 0x100; t2 = nTry & 0xff; t3 = 0; /* not needed */ t5 = 0; /* iterate cipher 4 times to reconstruct LFSR2 */ for( i = 0 ; i < 4 ; i++ ) { /* advance LFSR1 normaly */ t4=CSStab2[t2]^CSStab3[t1]; t2=t1>>1; t1=((t1&1)<<8)^t4; t4=CSStab5[t4]; /* deduce t6 & t5 */ t6 = pStream[ i ]; if( t5 ) t6 = ( t6 + 0xff )&0x0ff; if( t6 < t4 ) t6 += 0x100; t6 -= t4; t5 += t6 + t4; t6 = invtab4[ t6 ]; /* printf( "%02x/%02x ", t4, t6 ); */ /* feed / advance t3 / t5 */ t3 = (t3 << 8) | t6; t5 >>= 8; } vCandidate = t3; /* iterate 6 more times to validate candidate key */ for( ; i < KEYSTREAMBYTES ; i++ ) { t4=CSStab2[t2]^CSStab3[t1]; t2=t1>>1; t1=((t1&1)<<8)^t4; t4=CSStab5[t4]; t6=(((((((t3>>3)^t3)>>1)^t3)>>8)^t3)>>5)&0xff; t3=(t3<<8)|t6; t6=CSStab4[t6]; t5+=t6+t4; if( (t5 & 0xff) != pStream[i] ) break; t5>>=8; } if( i == KEYSTREAMBYTES ) { /* Do 4 backwards steps of iterating t3 to deduce initial state */ t3 = vCandidate; for( i = 0 ; i < 4 ; i++ ) { t1 = t3 & 0xff; t3 = ( t3 >> 8 ); /* easy to code, and fast enough bruteforce search for byte shifted in */ for( j=0 ; j < 256 ; j++ ) { t3 = (t3 & 0x1ffff) | ( j << 17 ); t6=(((((((t3>>3)^t3)>>1)^t3)>>8)^t3)>>5)&0xff; if( t6 == t1 ) break; } } printf( "Candidate: %03x %02x %08x\n", 0x100|(nTry>>8),nTry&0x0ff, t3 ); } } } /* simple function to convert hex bytes to int */ /* note: will give random results if nonhex digits are input */ static char hexdigits[17] = "0123456789abcdef\0"; static int HexByteToInt( const char *pNumber ) { char ch; int r; ch = tolower( pNumber[0] ); r = 16 * (int)( strchr( hexdigits, ch ) - hexdigits ); ch = tolower( pNumber[1] ); r+= (int)( strchr( hexdigits, ch ) - hexdigits ); return r & 0x0ff; /* invalid input will have produce garbage */ } /* Main function */ int main( int argc, char* argv[] ) { int i; unsigned char data[ KEYSTREAMBYTES ]; memset( data, 0, KEYSTREAMBYTES ); if( argc > KEYSTREAMBYTES + 1 ) { printf( "To many arguments\n" ); return -1; } if( argc < 6 ) { printf( "Usage: %s xx xx ... ( 5 / %i hex bytes )\n", argv[0], KEYSTREAMBYTES ); return -1; } for( i = 1; i < argc ; i++ ) { data[i-1] = HexByteToInt( argv[i] ); } if( argc == KEYSTREAMBYTES + 1 ) { /* search for key */ printf( "Attempting crack\n" ); CSScracker( data ); } else { /* Produce sample keystream */ printf( "Doing encryption\n" ); CSSdescramble( data ); } return( 0 ); } <-->