Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
lpc_sniffer_tpm — Un renifleur à faible nombre de broches pour ICEStick - ciblant les puces TPM | Kitploit
Outils/GitHubGitHub/denandz/lpc_sniffer_tpm
Sécurité des Systèmes EmbarquésCriminalistique MémoireExfiltration de DonnéesAnalyse ForensiqueCriminalistique NumériqueHacking MatérielSécurité MatérielleAnalyse de Micrologiciel
GitHubdenandz/lpc_sniffer_tpm

lpc_sniffer_tpm

Un renifleur à faible nombre de broches pour ICEStick - ciblant les puces TPM

Voir le dépôt
178305il y a 6 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Sniffeur LPC spécifique TPM (low pin count) pour ice40 stick

Transformez la ice40 stick en un sniffeur LPC, ne journalisant que les messages spécifiques TPM. Ce dépôt est un duplicata de https://github.com/lynxis/lpc_sniffer/, avec des modifications pour ne journaliser que les messages dont le champ de début est 0101 et l'adresse comprise entre 24 et 27.

Ce projet a été utilisé pour extraire les clés VMK de BitLocker en sniffant le bus LPC lorsque BitLocker était activé dans sa configuration par défaut. Plus d'informations sont disponibles dans cet article.

fonctionnalités

  • lectures + écritures E/S
  • lectures + écritures mémoire
  • erreurs de synchronisation

Comment utiliser

  1. modifier l'EEPROM du FTDI et activer le mode OPTO sur le canal B
  2. programmer lpc_sniffer.bin dans votre ice40 avec iceprog lpc_sniffer.bin
  3. note : la commande précédente peut être remplacée par make install
  4. connecter le bus LPC
  5. extraire les données LPC : python3 ./parse/read_serial.py /dev/ttyUSB1 | tee outlog
  6. extraire la clé des données : cut -f 2 -d' outlog | grep '2...00$' | perl -pe 's/.{8}(..)..\n/$1/' | grep -Po "2c0000000100000003200000(..){32}"

Quels connecteurs sont utilisés sur l'IceStick ?

  • Connecteur 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
  • sortie UART via le FTDI

LEDs

root@kitploit:~
	Pour l'orientation : le port USB pointe vers le sud :
	vert au milieu : overflow_led

overflow_led lorsque le tampon interne est plein. Plus aucune trame LPC n'est décodée.

Protocole UART

Le sniffeur LPC écrira les trames sur le deuxième UART du FTDI à 921600 bauds.

format

  • 4 octets : adresse
  • 1 octet : données
  • 1 octet : bits 0-3 : direction+type, bits 4-7 : code d'erreur
  • 2 octets : '\r\n'

Codes d'erreur

Un code d'erreur est décodé sur 4 bits

  • 0001 - délai de synchronisation dépassé.

Documentation interne

Une trame LPC va :

  1. décodée par le décodeur LPC
  2. sauvée dans la mémoire interne
  3. complétée par \r\n
  4. écrite sur l'UART

Disposition en mémoire

La mémoire interne est utilisée comme mémoire adressable sur 48 bits. 48 bits correspondent exactement à une trame LPC.

  • 4 octets : adresse
  • 1 octet : données
  • 1 octet : direction/type + code d'erreur

Tampon interne

Le sniffeur LPC utilise un tampon interne. Lorsque le tampon interne est plein, les nouvelles trames sont ignorées. La LED verte au milieu s'allume. Le tampon interne peut sauvegarder jusqu'à 2**10 trames LPC (1024).

Télécharger l’outil