Использование Shikra для атаки на встраиваемые системы: начало работы

  1. Почему "Шикра"? Так как мы начали преподавать SexViaHex многие люди (не только наши студенты)...
  2. Шикра для JTAG:
  3. Шикра для SPI:

Почему "Шикра"?

Так как мы начали преподавать SexViaHex многие люди (не только наши студенты) спросили меня ( Джо Фитцпатрик ) рекомендации по оборудованию для самостоятельного взлома оборудования. Я владею и использую несколько инструментов с дублирующимися и перекрывающимися целями, так как обычно есть «лучший» инструмент для любой конкретной работы. В процессе сборки оборудования и контента для SexViaHex Мне было трудно свести это на нет. Первый ответ на вопрос «что мне сначала купить?» есть и, вероятно, будет оставаться BusPirate (с Saleae в закрытом втором). Ни один инструмент не говорит так много протоколов, и только несколько инструментов предоставляют множество диагностических и пассивных функций анализатора BusPirate.
Так как мы начали преподавать   SexViaHex   многие люди (не только наши студенты) спросили меня (   Джо Фитцпатрик   ) рекомендации по оборудованию для самостоятельного взлома оборудования После того как вы определили все свои распиновки, протоколы, скорости передачи данных и адреса устройств, обычно лучше перейти к более надежным специализированным инструментам. (Методы и приемы для этого мы сосредоточены на SexViaHex курс.). Нам было трудно выбрать, какие инструменты включить в класс, так как у нас так много вариантов и ограниченное время, а у нас ограниченное пространство. Студенческие комплекты , FTDI - х FT232H чип является более мощным старшим братом FT232R USB-адаптер UART. Модель микросхем "-H" широко используется в адаптерах JTAG, но также поддерживает несколько различных последовательных протоколов, а также возможность настраивать битовые пользовательские протоколы. Шикра это приятное, невероятно простое устройство Xipiter FT232H, которое позволяет вам использовать все эти различные режимы. (К вашему сведению: держаться с " ястреб "тема в Xipiter, туркестанский тювик был также назван в честь хищной птицы.)

Итак, какие практические вещи вы можете сделать с этим? Вот несколько вещей, которые я сделал с этим до сих пор.

Шикра для уарта:

У пиратского автобуса есть несколько функций UART, таких как пассивное прослушивание, обнаружение в бодах и режим прозрачного сквозного прохождения. Это должно позволить вам делать большую часть того, что вам нужно, через UART. Обычно, когда я выяснил, какая у меня распиновка и скорость передачи данных, я переключаюсь на простой последовательный USB-кабель TTL, чтобы освободить моего пиратского автобуса для улучшения работы. На точке доступа / маршрутизаторе, показанном ниже, UBoot работает на скорости 120 кбит / с, а ядро ​​(которое загружается после) загружается медленнее 115,2. Пират на шине имеет тенденцию быть очень разборчивым и терпит неудачу, если скорость передачи в бодах только немного отключена, в то время как выделенный кабель обычно имеет более широкий допуск и может читать оба без изменения настроек. У Шикры не было проблем с этим.
У пиратского автобуса есть несколько функций UART, таких как пассивное прослушивание, обнаружение в бодах и режим прозрачного сквозного прохождения

Дело Шикры.

«Так что подожди секунду» (вы можете подумать) «Перво-наперво! Как нам связать эту Шикру с вещами?»
Это действительно просто, Shikra, как и BusPirate, просто имеет заголовки, которые вы можете использовать о перемычка к вашей цели , Распиновки Шикры можно посмотреть в документации к ней.
«Так что подожди секунду» (вы можете подумать) «Перво-наперво

Распиновка для Шикры («спина» зеркальная)

В соответствии с диаграммой выше, UART, Распиновка Шикры являются следующими:
TX: 1
RX: 2
GND: 18

После подключения следующая команда (с * nix) компьютера соединит вас через Shikra с любой целью:
$ screen / dev / ttyUSB0 115200
Подсказка : я никогда не беспокоюсь о правильной передаче TX и RX, так как где-то по пути они перепутаны, и обычно проще один раз поменять их местами, чтобы заставить их работать, чем убедиться, что они в первую очередь правы.

Шикра выступает в роли адаптера UART для атаки на маршрутизатор / точку доступа.

Шикра для JTAG:

Шикра в 3D печатной версии своего дела.

Адаптеры JTAG стоят от 10 до 20 000 долларов, но в итоге все они используют один и тот же протокол. За SexViaHex нам нужно было использовать JTAG одновременно с UART, поэтому мы знали, что нам нужно второе устройство. Мы пытались использовать EZ-USB FX2 доски, но были проблемы с надежным источником их. В первый раз, когда мы учили класс, мы использовали Bus Pirate, так как он хорошо поддерживается OpenOCD - однако это невероятно медленно и требует частого переподключения для сброса оборудования. Нам нужно было что-то другое, поэтому мы перешли на другая плата на базе FT232H это работало хорошо, но имело очень высокую частоту отказов (они легко сгорели или перестали работать необъяснимо). Нам нужно что-то более надежное. После всего этого мы решили что-то спроектировать, и Шикра в итоге заменила эти инструменты. Шикру было так же легко подключить к JTAG и использовать с OpenOCD:
Распиновка Шикра JTAG:
TCK: 1
TDI: 2
TDO: 3
TMS: 4
GND: 18
Файл конфигурации OpenOCD для Шикры:
# shikra.cfg
интерфейс ftdi
ftdi_vid_pid 0x0403 0x6014
ftdi_layout_init 0x0c08 0x0f1b
адаптер_хз 2000
#end shikra.cfg
Адаптеры JTAG стоят от 10 до 20 000 долларов, но в итоге все они используют один и тот же протокол

Shikra как адаптер JTAG для атаки на маршрутизатор / точку доступа.

Я также искал надежный адаптер JTAG для конфигурации FPGA для Мастерская WTFPGA Я делал на некоторых конференциях. Благодаря некоторым разработчикам с открытым исходным кодом, есть альтернатива дорогим платам Xilinx Platform Cables, которые работают с собственным инструментом конфигурации. Я следовал тому же процессу, что Колин О'Флинн сделал для старшего FT2232D :

Шикра для SPI:

Встроенные устройства могут добавить несколько байтов к нескольким мегабайтам памяти менее чем за доллар с помощью крошечного 8-контактного флэш-чипа SPI. Существуют также сетевые адаптеры SPI, аналого-цифровые преобразователи и другие устройства, но обычно наиболее интересным является встроенное программное обеспечение флэш-микросхем SPI . (Более интересные устройства, в которых можно найти SPI, см. В докладе Xipiter. «Аппаратные взломы для программистов» ). Там, где BusPirate потребовалось ~ 30 минут для извлечения образа прошивки 4 МБ из устройства, Shikra заняло меньше минуты! Встроенные устройства могут добавить несколько байтов к нескольким мегабайтам памяти менее чем за доллар с помощью крошечного 8-контактного флэш-чипа SPI

Программист флэш-памяти DediProg SF-100 в лаборатории Xipiter.

У нас есть одно упражнение SexViaHex это снять полный образ прошивки со встроенного устройства. Мы используем клип как Помона 5250 напрямую связаться с 8-контактный чип SOIC булавки без необходимости пайки, а затем мы используем автобус и пират FlashROM «быстро» сбросить прошивку 4 МБ за 20 минут - если она работает с первого раза. Специализированные устройства, такие как Dediprog SF100 (на фото слева) будет намного быстрее, но для нас это будет слишком дорого и дорого, если мы купим 30, чтобы включить в наши студенческие комплекты для SexViaHex. К счастью, Shikra поддерживает SPI, а flashrom поддерживает универсальный интерфейс FT2232, позволяющий создавать дампы микропрограммы менее чем за минуту. Шикра SPI распиновка:
СКК -1
SDI - 2
SDO -3
* CS - 4
GND - 18
Чтобы сбросить SPI-флеш с Shikra, мы просто:
$ flashrom -p ft2232_spi: type = 232H -r spidump.bin
У нас есть одно упражнение   SexViaHex   это снять полный образ прошивки со встроенного устройства

Shikra «разблокирует» планшет, переписав прошивку через SPI с помощью 8-контактного зажима SOIC. Клип SOIC сделал это "ненавязчивым", не требуя распайки чипа!

Конечно, Шикра не только для работы. Недавно я приобрел планшет Teclast Air II (та же панель, что и на сетчатке ipad, но с треком Intel Bay SOC и andriod / win8). Я хотел обновить его до версии с двойной загрузкой, но случайно его забросил, потому что я прошил файл биоса для старой версии Teclast Air 3G. К счастью, я смог воскресить его, используя Shikra + Pomona SOIC + Flashrom, чтобы напрямую прошить чип, когда он не загрузится иначе.
Таким образом, я был очень взволнован, чтобы получить в свои руки туркестанский тювик , и я с нетерпением жду показа участникам наших будущих классов SexViaHex, как использовать его для обратного инжиниринга и взлома аппаратных устройств!

Почему "Шикра"?
Первый ответ на вопрос «что мне сначала купить?
Итак, какие практические вещи вы можете сделать с этим?
Как нам связать эту Шикру с вещами?