Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
lpc_sniffer_tpm — Un sniffer de bajo número de pines para ICEStick, orientado a chips TPM | Kitploit
Herramientas/GitHubGitHub/denandz/lpc_sniffer_tpm
Seguridad de Sistemas EmbebidosForensia de MemoriaExfiltración de DatosAnálisis ForenseForensia DigitalHacking de HardwareSeguridad de HardwareAnálisis de Firmware
GitHubdenandz/lpc_sniffer_tpm

lpc_sniffer_tpm

Un sniffer de bajo número de pines para ICEStick, orientado a chips TPM

Ver Repositorio
17830hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

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

Convierte el ice40 stick en un sniffer LPC, registrando solo mensajes específicos de TPM. Este repositorio es una copia de https://github.com/lynxis/lpc_sniffer/, con modificaciones realizadas para registrar únicamente mensajes con el campo de inicio 0101 y dirección entre 24 y 27.

Este proyecto se utilizó para extraer claves VMK de BitLocker mediante la captura del bus LPC cuando BitLocker estaba habilitado en su configuración predeterminada. Más información disponible en este post.

Características

  • Lectura/escritura de E/S
  • Lectura/escritura de memoria
  • Errores de sincronización

Cómo usar

  1. Modifica el EEPROM del FTDI y habilita el modo OPTO en el Canal B.
  2. Programa lpc_sniffer.bin en tu ice40 con iceprog lpc_sniffer.bin.
  3. Nota: el comando anterior puede reemplazarse por make install.
  4. Conecta el bus LPC.
  5. Extrae los datos LPC: python3 ./parse/read_serial.py /dev/ttyUSB1 | tee outlog
  6. Extrae la clave de los datos: cut -f 2 -d' outlog | grep '2...00$' | perl -pe 's/.{8}(..)..\n/$1/' | grep -Po "2c0000000100000003200000(..){32}"

¿Qué conectores se usan en el 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
  • Salida UART a través del FTDI

LEDs

root@kitploit:~
For orientation: the usb port points south:
green in the middle: overflow_led

overflow_led cuando el búfer interno está lleno. No se decodifican más tramas LPC.

Protocolo UART

El sniffer LPC escribirá tramas en el segundo UART del FTDI a 921600 baudios.

Formato

  • 4 bytes: dirección
  • 1 byte: datos
  • 1 byte: bits 0-3: sentido+tipo, bits 4-7: código de error
  • 2 bytes: '\r\n'

Códigos de error

Un código de error se codifica en 4 bits.

  • 0001 - tiempo de espera de sincronización agotado.

Documentación interna

Una trama LPC:

  1. Es decodificada por el decodificador LPC.
  2. Se guarda en la memoria interna.
  3. Se rellena con \r\n.
  4. Se escribe en el UART.

Diseño en memoria

La memoria interna se utiliza como memoria direccionable de 48 bits. 48 bits equivalen exactamente a una trama LPC.

  • 4 bytes: dirección
  • 1 byte: datos
  • 1 byte: sentido/tipo + código de error

Búfer interno

El sniffer LPC utiliza un búfer interno. Cuando el búfer interno está lleno, las tramas nuevas se descartan. El LED verde del medio se encenderá. El búfer interno puede guardar hasta 2**10 tramas LPC (1024).

Descargar herramienta