
Um sniffer de poucos pinos para ICEStick - direcionado a chips TPM
Transforme o ice40 stick em um sniffer LPC, registrando apenas mensagens específicas de TPM. Este repositório é uma duplicata de https://github.com/lynxis/lpc_sniffer/, com modificações feitas para registrar apenas mensagens com campo inicial 0101 e endereço entre 24 e 27.
Este projeto foi usado para extrair chaves VMK do BitLocker ao sniffar o barramento LPC quando o BitLocker estava habilitado em sua configuração padrão. Mais informações estão disponíveis neste post.
iceprog lpc_sniffer.binmake install./parse/read_serial.py /dev/ttyUSB1 | tee outlog 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
Para orientação: a porta USB aponta para o sul:
verde no meio: overflow_led
overflow_led quando o buffer interno está cheio. Nenhum quadro LPC adicional é decodificado.
O sniffer LPC escreverá quadros na segunda uart do FTDI a 921600 baud.
Um código de erro é decodificado em 4 bits
Um quadro LPC irá:
A memória interna é usada como memória endereçável de 48 bits. 48 bits é exatamente um quadro LPC.
O sniffer LPC está usando um buffer interno. Quando o buffer interno está cheio, novos quadros serão descartados. O LED verde no meio acenderá. O buffer interno pode salvar até 2**10 quadros LPC (1024).