Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 2.18 KB

File metadata and controls

34 lines (27 loc) · 2.18 KB

Forensic | Medium | Red Firmware I

Информация

Отдел IT закупок недавно закупил стационарные компьютеры у отечественного производителя. Посмотрите BIOS на предмет закладок?

Деплой

Выдать участникам

Прошивку public/E7C37AMS.AI0

Описание идеи таска

Дать прошивку UEFI под процы с AMD PSP. Суть - раскурить схему прошивки (посмотрев докладики либо найдя слитый NDAшный документ) и найти что в FET есть странный модуль в стиле $PSP секции. Там просто расписаны где в SPI флешке находятся куски флага и их порядок

Как понять что это флешка под PSP? Оригинальное название прошивки сохранено.

Решение

Два этапа

  1. Раскурить как устроена схема прошивки под AMD PSP
    • Раскурить что такое FET
    • Как считать адреса (тут все просто, FET расположен по классическому 0x020000)
    • Понять что помимо 2PSP и $BHD есть модуль $FTD.
  2. Раскурить структуру $FTD модуля.
    • Модуль сделан в стиле разметки прошивки PSP
    • Есть хедер - 16 байт. Аналогичен стандартным хедерам, только байты 12-16 это не опции, а размер флага.
    • За хедером идет семь записей по 16 байт каждая, в которой указаны:
      • Тип секции (баянистое 0x13371337)
      • Размер секции
      • Номер секции (они перемешаны)
      • Абсолютный адрес секции в физической памяти (а у вас другой и нет).
    • Собрать флаг

Флаг

CUP{mayb3_4n0th3r_b1n4ry_puzzl3?}