La modificación del firmware de discos duros (HDD) es una técnica avanzada que permite alterar el software interno de estos dispositivos de almacenamiento para cambiar su comportamiento. En este artículo, el autor explica su experiencia intentando modificar el firmware de varios HDD con el objetivo de explotar una condición de carrera (race condition) en la consola Xbox 360, donde necesitaba introducir un retraso deliberado de varios cientos de milisegundos en la lectura de sectores específicos para que su exploit funcionara.
El proceso técnico implica varias etapas: primero se debe obtener una copia del firmware, ya sea descargándolo de fuentes en línea o extrayéndolo directamente de la unidad usando herramientas especializadas como el PC-3000 (una utilidad profesional de recuperación de datos). Posteriormente, el firmware se analiza en herramientas como IDA Pro para identificar el código responsable de manejar comandos ATA, particularmente el comando DMA READ EXT que utilizan las consolas para solicitar datos. Una vez localizado el manejador de comandos apropiado, se pueden escribir parches para modificar su comportamiento, como introducir retardationes deliberadas. Finalmente, el firmware modificado debe ser flasheado de vuelta al disco, ya sea programando manualmente el chip de memoria flash o utilizando comandos de proveedor estándar o alternativos.
Los discos probados fueron: Samsung HM020GI, Hitachi HTS545032B9A300, Western Digital WD3200BEVT y Samsung PM871a. El autor encontró que mucha de la información disponible en foros tiene más de 15 años y no aplica a los modelos actuales.
Las aplicaciones de esta técnica son relevantes para investigadores de seguridad, pruebas de penetración, recuperación de datos y personalización de dispositivos. Sin embargo, presenta consideraciones importantes: el proceso es complejo y requiere conocimiento técnico especializado, existe riesgo de brickear la unidad, y muchas veces la información publicly disponible está desactualizada o es incorrecta.
