04 noviembre 2010

Protecciones de arranque en portátiles (PC/MAC)

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:
  1. Establecer contraseña de modificación de parámetros de BIOS (protege la propia BIOS, y no todas las placas base soportan esta funcionalidad)
  2. 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:

1) Cambiar la configuración de memoria RAM - Esto se consigue eliminando alguna de las pastillas de RAM. Acceder a dicho componente y extraerlo es bien sencillo.

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 Passwordque 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...


11 comments :

rusty73 dijo...

Esta bien eso de proteger la BIOS con password y eso, pero ¿Nadie securiza las extensiones BIOS como puede ser la PXE de las tarjetas de red que se ejecutan al arrancar la BIOS?

juanma dijo...

Duda. Como medida adicional se puede configurar el hdd password en discos ATA. Podrías acceder a la BIOS pero para poder quitarlo necesitas proporcionarlo antes. Entiendo que estos "workarounds" permiten el acceso a la BIOS pero no deshabilitan la protección hdd password. En ese caso aún habría que buscar un mecanismo para saltarse dicha protección. ¿Correcto?

José A. Guasch dijo...

@Juanma exactamente, una de las recomendaciones para evitar el acceso sería la de establecer contraseñas en el disco o soluciones de cifrado de los dispositivos. También es una buena recomendación válida contra los bootkits.

Anónimo dijo...

buen post!!! ;)

Luis dijo...

Yo tengo cifradas todas las particiones y para evitar usos "indebidos" siempre he puesto contraseña a la BIOS pero nunca se me había ocurrido que con un número n de fallos se bloquea necesitando una contraseña "por defecto" del fabricante... vamos, que adiós a la protección :S!
Buen post!

Anónimo dijo...

@rusty73.... caliente... caliente

Anónimo dijo...

Bien, Muy buen post

Noel B. A. dijo...

No se cuantos de los que leen aquí tienen Mac o experiencia a nivel técnico con el, pero la parte del Mac os ha quedado confusa e incorrecta a partes iguales.

La contraseña oficialmente se llama "Open Firmware Password"

La utilidad para ponerle contraseña a tú Mac está en el DVD de instalación (hablamos de 10.4 en adelante), dentro de la carpeta /Aplicaciones/Utilidades/

Esta contraseña bloquea los arranques especiales (véase: ⌘+C para CD , ⌘+S para usuario único, alt para seleccionar volumen, resetear pram, target mode, netboot...)

La "trampa" es que cualquier usuario con acceso de administrador al equipo puede lanzar la aplicación Open Firmware Password.app y establecer una contraseña nueva. Así que lo recomendado es ponerla y desactivar el login automatico.

Espero que sea de ayuda :)

PD: con esta entrada vendría de perlas otra dedicada a software para la recuperación de equipos robados (prey & Co.)

http://support.apple.com/kb/HT1352?viewlocale=es_ES
http://support.apple.com/kb/HT1310?viewlocale=es_ES
http://support.apple.com/kb/HT1492?viewlocale=es_ES
http://support.apple.com/kb/HT1533?viewlocale=es_ES

José A. Guasch dijo...

@Noel B.A no entiendo el por qué de la confusión.

En la parte de MAC se habla de Open Firmware Password, pero se ha separado según arquitectura ya que con "Open Firmware" se conocía a la "BIOS" en PowerPCs. Aunque ahora también se utilice la misma herramienta (Open Firmware Password, que nombramos en el post) para equipos basados en Intel se sustituye Open Firmware por EFI (http://en.wikipedia.org/wiki/Extensible_Firmware_Interface) y de ahí la herramienta efipw para recuperación de passwords en EFI teniendo acceso como administrador.

El primer enlace del soporte de Apple que enumeras también se referencia en el post, cuando hablamos de la herramienta Open Firmware Password.

Noel B. A. dijo...

@José A. Guasch

Lo único que quería dejar claro o simplificar es el método:

1a-se mete el dvd (en versiones => 10.4)
1b-se descarga la .app ( en versiones < 10.4)

2- se ejecuta y se pone un passwd (al EFI o OpenFirmw dependiendo de si es Intel o PPC)

3- se desactiva el login automático

a parte luego los métodos de recuperación ya sea hardware o software


en mi opinión el post es un poco confuso, eso es todo.

Un saludo!

Anónimo dijo...

La protección por password de discos ATA puede anularse con herramientas como AFF Repair Station (http://hdd-tools.com/products/rrs/), por lo que tampoco podemos confiar en la seguridad de su bloqueo.