Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
lpc_sniffer_tpm — Um sniffer de poucos pinos para ICEStick - direcionado a chips TPM | Kitploit
Ferramentas/GitHubGitHub/denandz/lpc_sniffer_tpm
Segurança de Sistemas EmbarcadosForensia de MemóriaExfiltração de DadosAnálise ForenseForensia DigitalHacking de HardwareSegurança de HardwareAnálise de Firmware
GitHubdenandz/lpc_sniffer_tpm

lpc_sniffer_tpm

Um sniffer de poucos pinos para ICEStick - direcionado a chips TPM

Ver Repositório
17830há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Sniffer LPC específico para TPM (low pin count) para ice40 stick

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.

funcionalidades

  • leituras/escritas de E/S
  • leituras/escritas de memória
  • erros de sincronia

Como usar

  1. modifique a EEPROM do FTDI e ative o modo OPTO no Canal B
  2. programe lpc_sniffer.bin no seu ice40 com iceprog lpc_sniffer.bin
  3. nota: o comando anterior pode ser substituído por make install
  4. conecte o barramento LPC
  5. extraia dados LPC: python3 ./parse/read_serial.py /dev/ttyUSB1 | tee outlog
  6. extraia a chave dos dados: cut -f 2 -d' outlog | grep '2...00$' | perl -pe 's/.{8}(..)..\n/$1/' | grep -Po "2c0000000100000003200000(..){32}"

quais conectores são usados no IceStick?

  • Conector 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
  • saída uart pelo ftdi

LEDs

root@kitploit:~
	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.

Protocolo Uart

O sniffer LPC escreverá quadros na segunda uart do FTDI a 921600 baud.

formato

  • 4 bytes: endereço
  • 1 byte: dados
  • 1 byte: bits 0-3: direção+tipo, bits 4-7: código de erro
  • 2 bytes: '\r\n'

códigos de erro

Um código de erro é decodificado em 4 bits

  • 0001 - tempo limite de sincronização.

Documentação interna

Um quadro LPC irá:

  1. decodificado pelo decodificador LPC
  2. salvo na memória interna
  3. preenchido com \r\n
  4. escrito na uart

layout na memória

A memória interna é usada como memória endereçável de 48 bits. 48 bits é exatamente um quadro LPC.

  • 4 bytes: endereço
  • 1 byte: dados
  • 1 byte: direção/tipo + código de erro

buffer interno

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).

Baixar ferramenta