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

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

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

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

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

Категории

Все категории
Loading categories
lpc_sniffer_tpm — Сниффер с малым количеством выводов для ICEStick, ориентированный на чипы TPM | Kitploit
Инструменты/GitHubGitHub/denandz/lpc_sniffer_tpm
Безопасность встроенных системКриминалистика памятиЭксфильтрация данныхФорензикаЦифровая криминалистикаАппаратный ХакингАппаратная БезопасностьАнализ Прошивок
GitHubdenandz/lpc_sniffer_tpm

lpc_sniffer_tpm

Сниффер с малым количеством выводов для ICEStick, ориентированный на чипы TPM

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

Популярное

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

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

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

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

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

Специфичный для TPM LPC-сниффер (low pin count) для ice40 stick

Превращает плату ice40 stick в LPC-сниффер, регистрирующий только специфичные для TPM сообщения. Этот репозиторий является копией https://github.com/lynxis/lpc_sniffer/, с изменениями, позволяющими регистрировать только сообщения со стартовым полем 0101 и адресом между 24 и 27.

Этот проект использовался для извлечения ключей VMK BitLocker путём перехвата шины LPC, когда BitLocker был включён в конфигурации по умолчанию. Более подробная информация доступна в этом посте.

Возможности

  • чтение и запись I/O
  • чтение и запись памяти
  • ошибки синхронизации

Как использовать

  1. измените EEPROM микросхемы FTDI и включите режим OPTO на канале B
  2. прошейте lpc_sniffer.bin в вашу плату ice40 с помощью iceprog lpc_sniffer.bin
  3. примечание: предыдущую команду можно заменить на make install
  4. подключите шину LPC
  5. извлеките данные LPC: python3 ./parse/read_serial.py /dev/ttyUSB1 | tee outlog
  6. извлеките ключ из данных: cut -f 2 -d' outlog | grep '2...00$' | perl -pe 's/.{8}(..)..\n/$1/' | grep -Po "2c0000000100000003200000(..){32}"

Какие разъёмы используются на IceStick?

  • разъём J1
root@kitploit:~
	VCC 3.3|NC 1
	GND        2
	lpc_clock  3
	lpc_ad[0]  4
	lpc_ad[1]  5
	lpc_ad[2]  6
	lpc_ad[3]  7
	lpc_frame  8
	lpc_reset  9
  • вывод UART через FTDI

Светодиоды

root@kitploit:~
	Для ориентации: USB-порт направлен на юг:
	зелёный в середине: overflow_led

overflow_led загорается, когда внутренний буфер заполнен. Кадры LPC больше не декодируются.

Протокол UART

LPC-сниффер будет выводить кадры во второй UART микросхемы FTDI со скоростью 921600 бод.

Формат

  • 4 байта: адрес
  • 1 байт: данные
  • 1 байт: биты 0-3: направление+тип, биты 4-7: код ошибки
  • 2 байта: '\r\n'

Коды ошибок

Код ошибки кодируется 4 битами.

  • 0001 - тайм-аут синхронизации.

Внутренняя документация

Кадр LPC будет:

  1. декодирован LPC-декодером
  2. сохранён во внутреннюю память
  3. дополнен \r\n
  4. записан в UART

Расположение в памяти

Внутренняя память используется как 48-битная адресуемая память. 48 бит — это ровно один кадр LPC.

  • 4 байта: адрес
  • 1 байт: данные
  • 1 байт: направление/тип + код ошибки

Внутренний буфер

LPC-сниффер использует внутренний буфер. Когда внутренний буфер заполнен, новые кадры будут отбрасываться. Зелёный светодиод в середине загорится. Внутренний буфер может сохранить до 2**10 кадров LPC (1024).

Скачать инструмент