Quitar el control parental de una XBOX 360 mediante fuerza bruta

logo

 

Ante todo no quiero que penséis que esto es ilegal, puesto que Microsoft en su soporte técnico ya ofrece la posibilidad de quitar el control parental de la XBOX 360 mediante una combinación de botones en el mando única para cada consola. Por supuesto no me hago responsable de los usos que le vayáis a dar puesto que el contenido sólo es divulgativo.

La XBOX 360 tiene control parental, que significa que los padres pueden bloquear mediante contraseña el acceso a determinados juegos, películas, etc. Esta contraseña es de 4 dígitos numéricos, por lo que hay 10000 posibles combinaciones de números (del 0000 al 9999). Normalmente los números se introducen mediante la pulsación de los botones del mando de la consola, pero existe la posibilidad de enchufar un teclado usb a la consola y pulsar las teclas correspondientes.

Con esta idea se me ocurrió como prueba de concepto crear un sistema que pudiese introducir las 10000 contraseñas una por una hasta que diese con la correcta (fuerza bruta), en vez de hacerlo a mano que sería más engorroso :-). Lo que tenía más a mano para emular un teclado usb es la placa Vinciduino, pero perfectamente se puede hacer con otra placa con un microcontrolador Atmega32U4 como Arduino Leonardo o la Teensy 2.0.

Para programar el microcontrolador usé el Atmel Studio 6.1 junto con la librería LUFA en su extensión para Atmel Studio. La librería LUFA contiene múltiples ejemplos de cómo sacar provecho a los microcontroladores AVR con USB embebido.

Yo usé el ejemplo Keyboard HID Device Demo (Class Driver APIs):

proyecto_ejemplo

 

Antes de nada hay que cambiar los valores por defecto que tiene el proyecto para adecuarlos a nuestra placa, en mi caso para Vinciduino:

-El tipo de microcontrolador (Vinciduno tiene un Atmega32U4)

microcontrolador

-La velocidad del microcontrolador y del USB en todas las configuraciones (Vinciduno corre a 16 Mhz.)

velocidad_cristal

-Después hay que activar el modo Release para cuando se cree el fichero .hex

release

-Finalmente sustituir el fichero Keyboard.c por este Keyboard

El programa funciona de la siguiente manera:

  1. Se espera 10 segundos hasta empezar a enviar la secuencia de números.
  2. Se emula la pulsación de cada una de las 4 cifras que contiene el número con un intervalo aleatorio entre 0,5 y 1,5 segundos (Esto es así para emular las pulsaciones que haría una persona en un teclado).
  3. Después se espera 1,5 segundos para que dé tiempo a que salga la pantalla de contraseña incorrecta. A continuación se emula la pulsación de la tecla ENTER.
  4. Se esperan otros 1,5 segundos para que dé tiempo a que salga la pantalla de introducción de la contraseña de nuevo.
  5. Se repite el proceso desde el paso 2 hasta que se llegue al número 10000.

Las esperas se realizan mediante el timer0 del microcontrolador. El envío de las pulsaciones del teclado se hacen desde la función de LUFA que genera el informe HID. Cada pulsación enciende el led de la Vinciduino durante 333 ms.

El tiempo máximo entre números es 6 segundos, por lo que en el peor de lo casos se tardaría 6 * 10000 = 60000 segundos (16,7 horas) en encontrar la contraseña correcta.

Como ejemplo pongo un vídeo que he grabado para demostrar el funcionamiento, lo mejor es verlo a 1080 y a pantalla completa. Primero se ve cómo pruebo el sistema en un ordenador donde se ven las pulsaciones en un editor de textos, comprobando así que funciona como si de un teclado se tratase. Después en la XBOX 360 elijo la opción Familia, momento en el que me pide la contraseña, y le enchufo la Vinciduino para que empiece a introducir los diferentes números. La contraseña en esta prueba es 0010 (empezando por el 0000). Cuando se llega a la contraseña correcta no existe una forma de saber si ha sido así, pero como se observa en el vídeo se queda en la opción de menú Activada sin que le afecten las pulsaciones, por lo que se podría dejar corriendo sin estar presente, sabiendo que cuando llegase al número 10000 dejaría de enviar pulsaciones.

Maker Faire de Barcelona

Este sábado 29 de Junio se celebró la primera Maker Faire de España: La Mini Maker Faire de Barcelona.

logo

Para los que no conozcan qué es una Maker Faire, copio parte de la nota de prensa que lo expresa perfectamente:

Un festival en el que hacer, crear, fabricar, confeccionar, reciclar, construir, pensar, jugar e inspirarse en el arte, la artesanía, la ingeniería, la música, la ciencia y la tecnología con toda la familia. Un escaparate de invenciones y creatividad.

Y así es, es un lugar donde la gente muestra lo que ha creado en su casa o en su empresa, un evento donde cualquiera puede ir y cualquiera puede participar. Puedes asistir como observador para ver qué novedades traen las empresas o ver qué inventos han hecho otras personas, pero si has/habeis hecho algo interesante (DIY y DIWO) y quieres mostrarlo, es el escaparate ideal, puesto que en esta feria tiene cabida de todo: desde unos origamis hasta robots avanzados, pasando por impresión 3d, música con cualquier elemento, hardware libre, corte y confección, etc.

Este fin de semana tenía que ir a Barcelona y en un rato libre aproveché para pasearme por la feria.

Makers of Barcelona fueron los encargados de organizar el evento en su local ubicado en la calle Bailén 11.

IMG_0048

Gracias a la colaboración del Ayuntamiento de Barcelona pudieron cortar la calle al tráfico y colocar los stands.

IMG_0023

Desde las 10 de la mañana ya hasta las 8 de la tarde el público pudo asistir de manera gratuita.

IMG_0099

Había dos zonas diferenciadas: la exterior, donde estaban los stands:

IMG_0044

IMG_0040

IMG_0045

IMG_0079

IMG_0081

IMG_0093

y la interior en las instalaciones del MOB:

IMG_0026

IMG_0027

IMG_0031

IMG_0034

IMG_0072

IMG_0075

IMG_0076

Había mucha gente que se acercó al evento y estaba realmente sorprendida por todo lo que veía, y no es para menos, dada la diversidad de expositores y lo que mostraban. Aquí hay una lista de los que acudieron a la Mini Maker Faire.

Unos cuantos proyectos para os hagáis a la idea de lo variopinto que fue:

Electroxoc

uno_1

uno_2

Spaii

IMG_0096

The Junk Raft Armada

IMG_0097

Vectorealism

siete_1

siete_2

siete_3

Ro-botica

cinco_1

cinco_2

I Am Patchwork

IMG_0035

Lüme

IMG_0071

Bartendro 7

cuatro_1

cuatro_2

Por supuesto también hubo espacio para las impresoras 3D:

IMG_0030

IMG_0032

IMG_0087

seis_1

seis_2

tres_1

tres_2

Y para la música:

IMG_0028

IMG_0080

IMG_0095

Sólo me queda dar la enhorabuena a los organizadores y a los makers que asistieron. También recordaros que si os perdisteis esta Mini Maker Faire y os habéis quedado con ganas de ir, aún tenéis otra oportunidad de acudir a la de Bilbao el Sábado 13 y Domingo 14 de Julio de 9 de la mañana a 10 de la noche.