Inicio > Proyectos electrónicos > ataque de fuerza bruta de un BIOS con Arduino

La fuerza bruta atacar a un BIOS con Arduino

BIOS hack El objetivo de este experimento es la de convertir la placa Arduino en un teclado USB además de un sniffer VGA para romper la contraseña de la BIOS estándar usando la fuerza bruta ataque método. No hay ventajas en el uso de este método, de hecho, esto puede ser muy lento y puede que nunca encontrar la contraseña en absoluto, pero como siempre lo hacemos por diversión. Es sólo una prueba de concepto, hay muchas maneras de restablecer un BIOS especialmente si usted tiene acceso al hardware, y lo necesita de todos modos porque estamos hablando de la BIOS y no hay "acceso remoto", como lo que yo sé.


En teoría, se puede usar con otros programas también no sólo una configuración de la BIOS, pero debe haber algunas condiciones especiales, por ejemplo, el software debe ser uno de los que no se bloquea después de unos intentos fallidos de contraseña de entrada.

También una de las principales limitaciones es que no podemos leer el marco VGA conjunto y procesarlo, en vez que leemos un solo píxel de (más o menos) la mitad de la pantalla, y de acuerdo a su color que ir a través de los diferentes pasos, para ejemplo: un píxel de color rojo en el centro de la pantalla puede indicar que la contraseña es incorrecta en un habitual de configuración del BIOS, mientras que un píxel azul puede indicar que está listo para recibir la contraseña que viene.

USB Keyboard Emulator

Por la parte del teclado USB, he utilizado la V-USB para Arduino código, que a su vez utiliza la biblioteca de V-USB . Usted tendrá que instalar el V-USB para Arduino para hacer el "PDE" de trabajo.

Circuito

El escudo Arduino para este proyecto es bastante simple, he adjuntado un habitual del módulo LCD para tener una salida para evitar una segunda computadora sólo para ver el progreso o resultado.
Un par de diodos Zener para hacer la interfaz de teclado USB (es una de las cuatro opciones propuestas en el archivo Léame V-USB, que aquí hay una enlace a otro proyecto que utiliza este método también).
Hay un botón que se utiliza para hacer una pausa / continuar el ataque. Si mantiene presionado el botón durante más de 2 segundos, el ataque se restablecerá.


BIOS hack schematic
BIOS hack board

Huele el VGA

Para conocer el color del píxel en el centro de la pantalla, es necesario leer la señal analógica rojo, y también los impulsos de sincronización verticales y horizontales a saber cuando para leer el rojo. El primer intento fue con Arduino attachInterrupt para capturar el HSYNC y VSYNC, pero la sobrecarga hizo que el teclado USB deje de funcionar.

El ISR () y signal () macros parece funcionar mejor en este caso, por lo que el pulso de VSYNC se restablecerá una variable global llamada h_line mientras que el HSYNC lo incrementará para saber en qué línea es el marco de VGA está dibujando.

Nuestra waitWrongPassword función hace el análisis del píxel. Espera unos segundos para que aparezca el píxel de color rojo, y sigue mirando en el mostrador de la línea de modo que cuando está en el # 238 (casi la mitad vertical en un 640 × 480 de resolución) se demora un poco para obtener la media horizontal tiempo, y leer la entrada analógica.

Entonces, después de leer la entrada analógica de color rojo se compara el resultado para ver si el diálogo 'contraseña incorrecta' se extrae, estoy hablando del if (valueR > 140) . Usted probablemente tendrá que cambiar este valor, de acuerdo a sus niveles de la tarjeta VGA.

Código

Es necesario definir el conjunto de caracteres que desea utilizar para el ataque. Para ello, modificar el charset serie añadiendo los códigos de llave USB que desee utilizar. Sólo tenemos KEY_A, KEY_B, KEY_C por defecto en el código de ejemplo. Además, es necesario modificar una segunda matriz llamada charset_log que debe tener el mismo tamaño, pero en vez de el código clave que refleja el byte para imprimir, para fines de registro.
Lo otro tiene que cambiar es la longitud máxima de la contraseña, por el conjunto predeterminado de 4. Busque el MAX_LEN definir.
El estado se guarda periódicamente en la EEPROM para que en caso de fallo de alimentación, se puede continuar desde la última (o cerca de la última) contraseña de prueba.


Descargue el código aquí , y no dude en modificarlo si es necesario.


Aquí algunas fotos del escudo

Una caja del iPod para el caso


Tono método de transferencia para hacer la tabla. Un poco quemada debido a la excesiva planchar.


Frente


Espalda


Bye!

  1. MAx
    29 de abril 2012 a las 08:59 | # 1

    Quiero el detalle de este proyecto que hace u .... Quiero que El Valor de la resistente, condensadores, etc ...
    Wich CI que utiliza todas esas cosas ..... soy realmente esperando la respuesta de ur ... si tienes el diseño de PCB para este proyecto, que también envía ..... pl.pl.pl.pl.pl.pl.pl.pl.pl

  2. fvicente
    29 de abril 2012 a las 21:33 | # 2

    Hola Max. Todo lo que se detalla en este post, incluyendo PCB y código fuente. Todo el interior de la postal (busque "código aquí" dentro de este post). El componente más importante es el Arduino, además de que utiliza una pantalla de línea, una resistencia variable (10k) para ajustar el contraste de la pantalla, y los conectores. Todo está en el esquema del Águila. Descargar Eagle CAD si no lo tiene y abrir los archivos para más detalles.

Protección anti-spam por WP Captcha-Free