Siempre que se recomienda proteger la seguridad de un sistema, físicamente hablando, la primera frase que se pronuncia es la de «establece una contraseña en la BIOS«. La BIOS, por explicarlo a grandes rasgos y para todos, es el primer programa que se ejecuta una vez iniciado el dispositivo, antes que el sistema operativo.
De ahí que una de las recomendaciones para protegerse de ataques típicos realizados con una livecd o el método Kon-Boot (además de cualquier otro bootkit) sea la de evitar modificar la secuencia de arranque del ordenador para que permita iniciar en primer lugar desde un CD, DVD o USB.
Además de proteger la BIOS para evitar su modificación de parámetros, también se recomienda establecer una contraseña de arranque del sistema. Por lo tanto nos encontramos con dos tipos diferentes de protecciones en BIOS:
Establecer contraseña de modificación de parámetros de BIOS (protege la propia BIOS, y no todas las placas base soportan esta funcionalidad)
Establecer contraseña de arranque del sistema (evita la carga del sistema operativo si no se conoce la contraseña)
Para saltarse/eliminar las protecciones BIOS, siempre se ha recomendado el típico método de: abre el ordenador, localiza la pila y sácala, o localiza el jumper correspondiente y provoca un reset de la información. Con esto tendremos una BIOS con la configuración por defecto y valores de fábrica. Fuerza bruta donde las haya, y en según que escenarios, una solución demasiado aparatosa salvo que vayas con gorra azul y en tu chaqueta ponga Mantenimiento.
Pero cuando nos encontramos con un portátil, aún sabiendo que los anteriores métodos también funcionan a la perfección, la cosa cambia. Sí, también funcionan, pero en esta ocasión no estamos hablando de quitar únicamente 4 o 5 tornillos.
Dejando los métodos físicos a un lado para las BIOS de PCs convencionales, centrémonos en las soluciones denominadas lógicas, aprovechando puertas traseras, contraseñas por defecto según fabricante, etc.
[PC] El arranque nos solicita una contraseña
De repente encendemos ¿?¿nuestro?¿? ordenador, y nos solicita la contraseña de arranque.
Existen una serie de contraseñas de emergencia provistas por el fabricante que podrían desbloquear bastantes modelos de BIOS. Podréis consultar un ejemplo de una amplia lista de contraseñas backdoor por fabricante (AWARD, AMI, PHOENIX, etc), en este enlace.
Algunos ejemplos de contraseñas de emergencia
No es un método recomendable (salvo para algunos fabricantes del que se conocen pocas combinaciones) ya que en muchas ocasiones nos encontramos con demasiadas posibilidades que poder comprobar, y es muy probable que acabemos bloqueando la propia BIOS, ganándonos un mensaje parecido al de la siguiente imagen (System Disabled) que se puede encontrar en multitud de foros de ayuda y auxilio:
¿Y ahora que hacemos?
[PC] BIOS bloqueada tras varios intentos fallidos de contraseña
Tenemos el sistema bloqueado tras varios intentos, y en la gran mayoría de los casos, además del asustadizo (no hay que llevarse las manos a la cabeza) mensaje «System Disabled«, se nos proporcionará una serie de números. Podréis encontrar más ejemplos de sistemas deshabilitados con una simple búsqueda en Google Images. Otras veces, con la propia petición de contraseña, se nos mostrará la etiqueta de servicio / service tag, como en el caso de los modelos de portátil marca Dell:
BIOS de portátil Dell pidiendo contraseña de acceso.
Para estos casos, podremos consultar la tabla de BIOS realizada por dogbert, en la que recopila, según fabricante, un conjunto de scripts a modo de keygens que nos generarán, en base a un número (ya sea el hash ofrecido en el mensaje de sistema deshabilitado como mediante cualquier otro identificador), una contraseña de rescate que será aceptada satisfactoriamente por el sistema, y nos dará acceso.
Keygens para BIOS de fabricantes como Dell, Fujitsu, HP….
No es necesario ejecutarse en el mismo sistema protegido, ya que no modifica ningún valor de la memoría como las antiguas soluciones software que se dedicaban a resetear la CMOS (CmosPwd, !Bios…). Puede ejecutarse en cualquier sistema, en ocasiones se tratan de scripts en python y en otras, simples binarios cuyo código fuente también tenemos disponible. Para el caso de la BIOS del portátil DELL que mostramos anteriormente, es tan simple como introducir dicho Service Tag en la herramienta:
Y se nos generará una contraseña válida que también será aceptada por la BIOS para continuar con el inicio del sistema.
Os recomiendo leer algunos de los posts del blog de dogbert etiquetados bajo «bios» ya que poco a poco explica, según BIOS a las que va teniendo acceso, el proceso de su ingeniería inversa y obtención del algoritmo utilizado por los fabricantes, para luego generar herramientas que generen códigos válidos. Tendréis información más detallada sobre el proceso de ingeniería inversa llevado a cabo para portátiles Fujitsu-Siemens, mini-netbooks de HP-Compaq…y como no, más información en la recopilación que hemos enlazado anteriormente.
[MAC] Protección de Open Firmware y EFI
Si tenemos más de un minuto para poder resetear la contraseña de inicio de un portátil Mac, siempre podremos realizar un método de tipo físico similar al de quitar la pila en BIOS de PCs convencionales. Destornillador en mano, principalmente, debemos realizar un reset de la PVRAM realizando los siguientes pasos:
2) Iniciar el reset de PVRAM – Tras encender el portátil, mantener pulsadas las teclas Command+Option+P+R hasta que se oigan 3 sonidos tipicos de arranque de los Mac (el que se emite cuando sale el splash de la manzana, previo al arranque del sistema operativo).
Tras emitirse por segunda vez el sonido ya podremos dejar de pulsar las teclas.
3) Mediante este método restableceremos la PRAM a sus valores por defecto.
Actualmente es el método por excelencia, incluso se puede encontrar en la página de soporte oficial de Apple. Sin contar con la contraseña de administrador del sistema operativo, es lo único a lo que podremos recurrir.
Pero, ¿y si queremos recuperar/eliminar la contraseña, teniendo acceso como administrador en el sistema? Quién sabe, es otro escenario posible…
PowerPC – Open Firmware
Encontraremos un enlace al foro de soporte oficial de Apple en el que se nos insta a utilizar una herramienta, denominada Open Firmware Password, que establecerá una contraseña para el firmware del dispositivo. En las nuevas versiones de Mac OS X, se puede encontrar dicha aplicación en el disco de instalación del sistema, dentro del directorio Applications/Utilities. Para versiones de Mac OS X de la 10.1 a la 10.3.9 se puede descargar mediante este enlace.
Estando dentro del sistema, podremos obtener la contraseña que se haya establecido mediante Open Firmware Password utilizando la aplicación FWSucker, de mSec (que ya tiene unos cuantos años, ni responde la página web del grupo). En SecureMac encontraremos un mirror con el .sit de FWSucker alojado por ellos para poder acceder a la herramienta.
Equipos basados en Intel – EFI
Existe un script denominado EFIpw que se encuentra disponible aquí. La única pega es que necesita permisos de root en el sistema como hemos comentado anteriormente, así que únicamente podremos utilizarla para recuperar la contraseña del EFI tras un despiste…