Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Starlink-FI — Мод-чип для инжекции сбоев напряжения, предназначенный для black-box оценки безопасности терминалов Starlink; обходит проверку подписи загрузчика, позволяя выполнять произвольную прошивку. | Kitploit
Инструменты/GitHubGitHub/kuleuven-cosic/starlink-fi
Безопасность встроенных системЭксплуатацияОбратная инженерияАппаратный ХакингАппаратная БезопасностьАнализ Бинарных ФайловАнализ Прошивок
GitHubkuleuven-cosic/starlink-fi

Starlink-FI

Мод-чип для инжекции сбоев напряжения, предназначенный для black-box оценки безопасности терминалов Starlink; обходит проверку подписи загрузчика, позволяя выполнять произвольную прошивку.

Репозиторий
1.0k1363 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Мод-чип для пользовательского терминала Starlink

Этот репозиторий сопровождает доклад под названием «Glitched on Earth by Humans: A Black-Box Security Evaluation of the SpaceX Starlink User Terminal». Слайды доступны здесь, запись доклада должна появиться в ближайшее время.

В докладе рассказывается, как нам удалось выполнить произвольный код на пользовательском терминале Starlink с помощью кастомного мод-чипа, который выполняет Voltage Fault Injection (инъекцию сбоя напряжения). Мод-чип можно использовать для обхода проверки подписи при выполнении загрузчика ROM (BL1) System-on-Chip (SoC). Это позволяет выполнять произвольный код на SoC, начиная с BL2, и даёт возможность дальнейшего исследования пользовательского терминала Starlink и сетевой части системы. Мы предоставляем дизайн мод-чипа, чтобы другие исследователи могли продолжить нашу работу.

🚨 ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК 🚨

Несмотря на то, что мы протестировали и используем предоставленную конструкцию мод-чипа, при его использовании возможно нанесение необратимого повреждения пользовательскому терминалу. Кроме того, разборка пользовательского терминала может привести к необратимому повреждению и, скорее всего, лишит вас гарантии.

Обзор конструкции мод-чипа

Мод-чип управляется микроконтроллером RP2040, который срабатывает по линии eMMC D0 и создаёт два импульса с (программируемой) задержкой и смещением для драйвера MOSFET. Один из этих импульсов управляет глитч-MOSFET: когда затвор этого MOSFET переводится в высокое состояние, основное напряжение питания SoC замыкается на землю. Второй импульс, генерируемый RP2040, позволяет управлять двумя MOSFET, которые могут включать/отключать две батареи конденсаторов. Эти конденсаторы необходимы для полной загрузки UT, но батареи конденсаторов нельзя включать во время глитча напряжения, так как это помешало бы получить желаемый сбой.

Схема и gerber-файлы для изготовления собственного мод-чипа предоставлены здесь.

Обзор мод-чипа

Предварительные требования

  • Разберите ваш UT. Остановитесь здесь, если вы не хотите лишаться гарантии на UT или не готовы рисковать необратимым повреждением.
    • несколько видео на YouTube демонстрируют этот процесс.
  • Прочитайте содержимое микросхемы eMMC. Сделайте резервную копию!
    • Микросхему eMMC можно прочитать в схеме, подключившись к тестовым точкам CMD, CLK и D0. Цоколёвка eMMC
    • eMMC работает с логическими уровнями 1V8!
    • Существует несколько инструментов для чтения микросхем eMMC; хороший и недорогой вариант ($12) — Low Voltage eMMC Adapter от exploitee.rs.
  • Вам придётся извлечь, пропатчить и переупаковать различные стадии загрузки, чтобы отключить проверку подписи.
    • Структура eMMC задокументирована в GPL-релизе U-Boot в файле spacex_catson_boot.h.
    • Дополнительная информация об извлечении прошивки доступна в нашем посте в блоге.
    • Ранние стадии загрузки основаны на проекте ARM Trusted Firmware-A.
      • Вы можете использовать TF fiptool для распаковки пакетов прошивки (Firmware Image Package) на отдельные части.
      • Патчинг этих стадий загрузки можно выполнить с помощью Ghidra после небольшого статического анализа (используйте открытый код TF-A в качестве ориентира).
      • Убедитесь, что отключили проверку подписи и заново включили вывод UART.
      • Обновите хэш прошивки в сертификатах. Мы вызываем сбой при проверке подписи, но хэш всё равно должен быть корректным.
    • Аналогично, вам придётся внести некоторые изменения в образ U-Boot, чтобы отключить проверку подписи.

Установка мод-чипа на печатную плату Starlink UT

  • Убедитесь, что собранный вами мод-чип работает, прежде чем пытаться припаять его на место.

  • Удалите развязывающие конденсаторы внутри красных квадратов — обычно они используются для стабилизации основного напряжения питания SoC. Развязывающие конденсаторы

  • Выровняйте собранный мод-чип на печатной плате UT и припаяйте его на место, используя отверстия с полуметаллизацией (castellated holes). Следите за тем, чтобы не допустить коротких замыканий между основным напряжением питания и землёй.

    • Крайние правые отверстия с полуметаллизацией расположены неправильно. Вы можете переработать печатную плату или просто замаскировать открытые контактные площадки на плате UT и соединить отверстия с полуметаллизацией с ближайшей площадкой земли (см. рисунок).
  • Подключите тестовую точку с маркировкой UT RST к выводу enable регулятора основного напряжения.

  • Подключите тестовую точку с маркировкой 12V к ближайшему источнику 12V на плате UT.

  • Подключите крайнюю правую перемычку (под кнопкой) к тестовой точке eMMC D0.

    • Нам пришлось это сделать из-за обновления прошивки, которое отключило вывод UART.
  • Подключите тестовую точку с маркировкой 1V8 к ближайшему источнику 1,8 В на плате UT (рядом с eMMC есть развязывающий конденсатор, подключённый к 1V8).

Теперь всё должно быть готово для начала глитчинга, удачи! Папка Python содержит пример, демонстрирующий, как начать использовать мод-чип для экспериментов.

Мод-чип, установленный на UT.

Известные проблемы и ограничения

  • Мод-чип был разработан до того, как SpaceX выпустила обновление прошивки, которое пережгло предохранитель для отключения всего вывода UART. Изначально мод-чип был рассчитан на срабатывание по выводу UART, но его можно адаптировать для срабатывания по сигналу eMMC D0. В более новой ревизии было бы полезно иметь возможность как читать вывод UART, так и срабатывать по данным eMMC D0. UART можно заново включить в BL2, и это может стать простым способом проверки того, что глитч прошёл успешно.
  • Мод-чип разработан для круглого пользовательского терминала; та же атака должна работать и на квадратном пользовательском терминале, но для этого потребуется создать новый дизайн печатной платы.
  • Один участок отверстий с полуметаллизацией расположен в неправильном месте. Будьте осторожны при использовании конструкции как есть и следуйте инструкциям по установке соответствующим образом.
  • Отключение мод-чипа от управляющего ПК после успешного глитча может привести к перезагрузке тарелки. Это, вероятно, связано с отсутствием подтягивающего резистора к земле на выводе IN A драйвера MOSFET MCP1405.
  • Предоставленная прошивка ожидает внешний управляющий ПК для координации попыток fault injection. Превратить это в автономный мод-чип с помощью (пока не используемого) второго ядра Cortex-M0 на RP2040 должно быть довольно просто.

FAQ

  • Мы не продаём готовые мод-чипы
  • Мы не предоставляем (пропатченные) прошивки пользовательского терминала Starlink
  • Мы не предоставляем точные параметры глитча. В слайдах презентации содержатся различные подсказки, а параметры будут варьироваться в зависимости от того, как вы пропатчите прошивку.
Скачать инструмент
  • Вы также можете увеличить параметр bootdelay.
  • Плоское дерево uImage (Flattened uImage Tree) можно распаковать с помощью dumpimage, который поставляется в составе проекта U-Boot.
    • Внесите желаемые изменения и переупакуйте.
  • Перезапишите пропатченную прошивку на микросхему eMMC.