You are on page 1of 2

Qu es la BIOS?

La BIOS es el Sistema de Entrada / Salida Bsico de un ordenador, permite realizar las operaciones ms bsicas con los dispositivos fsicos (hardware). Su cometido principal es permitir que el Sistema Operativo del ordenador pueda arrancar y comenzar a funcionar. Para ello gestiona el teclado y el altavoz interno del PC como mtodos ms bsicos de entrada y salida, maneja la tarjeta grfica en un modo VGA o EGA y permite acceder a los diferentes dispositivos de almacenamiento masivo del PC (disketteras, discos duros, unidades de CD/DVD, USB, etc.). En Sistemas Operativos antiguos como DOS, la BIOS permaneca en memoria una vez arrancado el sistema y se utilizaba para algunas tareas como escribir en disco, por ejemplo. En sistemas operativos ms modernos los servicios de la BIOS se han dejado de utilizar y ya casi nada se delega en este primitivo software. De hecho, se da la circunstancia curiosa de que GNU/Linux, por ejemplo, obvia toda la informacin proporcionada por la BIOS a la hora de detectar dispositivos y es probable que un disco duro de ms de 32 GB en una placa base antigua sea reconocido como de 32 GB por la BIOS y del tamao correcto al arrancar GNU/Linux. Normalmente el proceso que se sigue al arrancar un PC es el siguiente: 1. RESET a la CPU, el valor de EIP se fija a 0xfffffff0, es decir, se salta a esa direccin de memoria. 2. Se ejecuta la BIOS (ROM): 1. POST (Power On Self Test) 2. Deteccin de dispositivos, asignacin de IRQs, etc. 3. Buscar un Sistema Operativo, normalmente en los dispositivos configurados en la BIOS. 4. Cargar el primer sector en RAM (0x0000fc00) 3. Arrancar el Boot loader del Sistema Operativo

Qu es una memoria CMOS?


Como ya hemos dicho, la BIOS es software, por lo que necesita residir en algn dispositivo de almacenamiento. Este dispositivo suele ser una memoria CMOS(Complementary Metal Oxide Semiconductor, Metal xido Semiconductor Complementario), que hay que alimentar con una pila (tpicamente de botn) si no queremos que toda la configuracin de la BIOS se pierda. De hecho, muchas veces el programa que modifica los valores de la BIOS se llama CMOS Setup. Dentro de esta memoria CMOS se almacena la contrasea que protege el propio programa de modificacin de los valores de la BIOS, y normalmente se encuentra sin cifrar };-) PD: No s por qu en la mayora de los sitios se habla de la BIOS y no de el BIOS. Supongo que ser que la palabra memoria se sobrentiende: la (memoria) BIOS. Yo siempre lo he odo en femenino

Primera aproximacin: tengo acceso fsico a la placa y quiero entrar como sea
Si podemos abrir el ordenador y acceder a la placa base donde estar soldado el slot en el que se coloca la memoria CMOS de la BIOS, y no tenemos ningn problema en que se detecte que hemos entrado, podemos reiniciar a los valores por defecto la memoria de varias formas: 1. Quitando la pila que alimenta la memoria CMOS, desenchufando el PC, esperando unos segundos y viendo si realmente se ha reiniciado a valores por defecto la memoria. 2. Utilizando un jumper que suelen tener las placas base para reiniciar la BIOS. Es muy probable que se encuentre al lado del chip de la BIOS, pero si tenemos dudas, podemos desacargarnos el manual de la placa en PDF en la web del fabricante. 3. Lo ms peligroso: si no encontramos la pila ni el jumper, siempre podemos soltar la propia memoria CMOS de la BIOS, intentando hacer palanca entre la base del chip y el slot en el que est conectado, poco a poco, evitando que se doble ninguna patilla. Es un mtodo drstico pero efectivo. En el peor de los casos, si tenis que forzar mucho, intentad preservar la placa base antes que el propio chip de la BIOS, que son relativamente baratos y fciles de conseguir.

Segunda aproximacin: tengo acceso fsico a la placa pero quiero que no se sepa que he entrado
Si la persona que va a auditar el ordenador tiene los conocimientos suficientes, podr detectar que hemos entrado, pero si no, la manera ms fcil de entrar y dejarlo todo ms o menos como estaba es pasar de la BIOS y conectar el disco duro a un interfaz IDE-USB y leerlo desde un porttil o similares. Es muy raro que el disco duro est protegido por hardware (como ocurre por ejemplo en la XBOX), as que simplemente conectndolo a un adaptador de estos, ser accesible. Si tiene particiones o ficheros cifrados ya ser otro cantar, claro est.

Tercera aproximacin: no tengo acceso fsico a la placa (s al PC) y quiero entrar como sea
Si no podemos abrir el ordenador porque est embebido en una mquina ms grande o porque el acceso fsico es complicado y no tenemos problemas en que se sepa que estuvimos all, podemos intentar reiniciar la memoria CMOS por software. Para ello necesitaremos los privilegios suficientes en el Sistema Operativo que se est ejecutando en la mquina para poder acceder desde ah a la BIOS y modificarla. En DOS y sistemas operativos antiguos no haba ninguna limitacin de cara a escribir en los puertos que hiciera falta y acceder directamente al hardware, por lo que se podan usar tcnicas como la tpica de usar el debug.exe, un debugger en modo texto, y tratar de escribir un byte en la memoria de la BIOS, con el objetivo de que en el siguiente arranque d un error de checksum y se reinicie a los valores por defecto. Si tenis DOS o Microsoft Windows 9x, podis hacer la prueba ejecutando debug.exe y luego escribiendo lo siguiente: Para BIOS AMI/AWARD: o 70 17o 71 17q Para BIOS PHOENIX: o 70 ffo 71 17q

Para otras BIOS: o 70 2eo 71 ffq Si estamos en un Sistema Operativo moderno como Microsoft Windows XP, deberemos ejecutar nuestro cdigo desde los privilegios suficientes como para poder acceder directamente al hardware. Una manera bastante tpica de hacer esto es cargar un driver y hacerlo mediante su uso. Este es el enfoque que sigue la herramienta cmospwd y su driver ioperm. Para usar cmospwd hay que cargar previamente el driver en memoria y luego usar el programa: C:\\BIOS\cmospwd-4.8\windows>ioperm.exe -iC:\BIOS\cmospwd-4.8\windows>cmospwd_win.exe /hCmosPwd - BIOS Cracker 4.8, January 2006, Copyrigh Despus de cargar el driver, vemos con cmospwd /h las opciones que ofrece como hacer un backup de la CMOS, volcarlo, borrar la memoria, etc. Si queremos quitar la contrasea de la BIOS, deberemos elegir /k para borrar la memoria: C:\BIOS\cmospwd-4.8\windows>cmospwd_win.exe /kCmosPwd - BIOS Cracker 4.8, January 2006, Copyright 1996-2006GRENIER Christophe, grenier@cgs Despus de borrar la CMOS es muy probable que el Sistema Operativo se resienta, porque se habr modificado la fecha a un valor en el pasado y habr muchos ficheros creados en el futuro. Por esto mismo no es nada recomendable reiniciar la BIOS si se est haciendo algo importante con el PC, porque muy probablemente habr que reiniciarlo.

Cuarta aproximacin: no tengo acceso fsico a la placa (s al PC) pero quiero que no se sepa que he entrado
Adems de borrar la BIOS, cmospwd intenta mostrar el contenido de la BIOS en cuanto a contraseas si se ejecuta sin parmetros. En mi caso la BIOS se trataba de una AWARD y puse como contrasea de usuario pass y como contrasea de supervisor password: C:\BIOS\cmospwd-4.8\windows>cmospwd_win.exeCmosPwd - BIOS Cracker 4.8, January 2006, Copyright 1996-2006GRENIER Christophe, grenier@cgsecu Como vemos en la siguiente lnea, el cmospwd ha logrado obtener la contrasea de supervisor: Award 6.0 [% ( "De][][password]

El resto de lneas corresponden con posiciones en la memoria CMOS que no coinciden en este modelo con el offset o desplazamiento en el que se almacena la contrasea por lo que carecen de sentido.

Y para GNU/Linux?
Como suele ocurrir en estos casos, la mayora de fabricantes de hardware hace sus aplicaciones para DOS y/o MS Windows, por lo que los equivalentes en GNU/Linux son escasos. De todas maneras, supongo que ejecutando como root o va LKM unas cuantas ioctl() podramos hacer una herramienta similar a cmospwd. Su programacin queda como ejercicio para el lector O:-D

You might also like