Skip to content

Description

UART (Universal Asynchronous Receiver Transmitter) est un composant utilisée pour lié deux périphériques (aussi appelé port Série).

Ce type de protocole "simple" n'est pas basé sur une horloge, mais sur une vitesse de transmission commune (baud rate).

C'est un protocole assez ancien, mais encore présent dans de nombreux équipements modernes, il tends à être remplacé par d'autres technologies comme SPI, i2c ...

Identification

La première étape consiste à identifier les pins UART. En général ils sont 4 (et souvent, ils sont groupés):

  • GND
  • RX
  • TX
  • VCC

Pour identifier GND, le plus simple est de répérer une mise à la terre et d'éffectuer un test de continuitée.

Pour le VCC, une fois le GND identifié, la tension entre les deux doit être constante.

RX doit être à un voltage de 0 si aucun équipement n'est connecté (relier RX à GND pour meusurer la tension)

TX si des données sont transmises (au démarrage de l'appareil par exemple) aura une tension variable.

Attacking

Connexions

Une fois les flux UART détectés de nombreux équipements peuvent être utilisés pour établir une connexion sur les pins.

  • USBTTL
  • BUSPirate
  • Une arduino / Une Raspberry ...

Les connexions dépendent de l'appareil utilisés ensuite, la seule régle à retenir concerne RX et TX qui doivent être croisés (RX de l'équipement vers TX du dongle et inversement).

Découverte du baudrate

Les échanges entre périphériques basés sur UART ont une vitesse de transmission "standardisée". Parmis les plus connues :

  • 4800
  • 9600
  • 115200

Plusieures méthodes existent pour détecter le baudrate approprié.

Soit à partir d'un analyseur logique. Soit à partir d'un script :

Protections

Example devices

Ressources