📈UART
Universal Asynchronous Receiver-Transmitter
Dernière mise à jour
Universal Asynchronous Receiver-Transmitter
Dernière mise à jour
En langage courant, l'UART est le composant utilisé pour faire la liaison entre l'ordinateur et le port série. Son exploitation fournis l'un des moyens les plus simples pour prendre le contrôle d'un système IoT. Etant surtout utilisé pour du débogage, il est possible d'obtenir un shell root sur le système via l'exploitation de ce protocole.
Les ports UART se présentes soit par des pins, soit par des pads. Il existe 4 ports pour le protocole qui sont les ports TX (Transmit), RX (Receive), Vcc (Voltage) et GND (Ground).
Identifier la "Terre":
Les broches de terre sont généralement marquées comme GND ou parfois sans marquage. Dans ce cas, mettez un multimètre en mode continuité et essayez de vérifier la connectivité entre les broches et les parties métalliques du PCB. La plupart des pièces métalliques utilisées pour les protections mécaniques sont mises à la terre, c'est donc une bonne pratique d'utiliser ce cas de test.
Identifier le port Voltage:
Mettez le multimètre en mode tension continue (moins de 20 V) et lisez la tension entre la broche VCC suspectée et la broche de terre. Si la tension est constante et reste égale à la tension du système (la plupart du temps 3,3 v/5 v CC), il s'agit d'une broche VCC.
Identifier le port de transmission
Mettez le multimètre en mode tension continue (moins de 20v DC) et connectez la broche suspecte à la sonde de tension (ROUGE) du multimètre et la sonde commune (NOIRE) à la broche de terre que nous avons identifiée dans l'étape précédente.
Vérifiez la tension sur l'écran du multimètre. Les cas de test suivants peuvent être référencés pour définir si la broche est une broche TX:
Il peut être tiré HIGH vers VCC une fois l'appareil démarré.
La tension peut fluctuer de quelques millivolts à VCC au moment du démarrage du dispositif indicateur envoyant des messages sur son moniteur série.
Identifier le port de réception
Mettez le multimètre en mode tension continue (moins de 20v DC) et connectez la broche suspecte à la sonde de tension (ROUGE) du multimètre et la sonde commune (NOIRE) à la broche de terre que nous avons identifiée dans l'étape précédente.
Vérifiez la tension sur l'écran du multimètre. Les cas de test suivants peuvent être référencés pour définir si la broche est une broche RX:
Il peut partir haut vers VCC.
Partir haut avec quelques millivolts de moins que VCC
Tension fluctuant de quelques millivolts.
ressource: https://www.saleae.com/
L'étape suivante est de trouver le baud rate
du système afin de pouvoir recevoir des résultats lisibles.
Brancher le pin TX à un channel de l'analyseur logique
Ouvrir le logiciel "saleae"
Créez une nouvelle entrée d'analyseur en appuyant sur l'icône plus (+) et sélectionnez Async Serial (c'est pour UART).
Sélectionnez un canal série (8 canaux sur l'analyseur logique) et conservez les paramètres par défaut.
Commencer avec un baud rate bas puis augmenter jusqu'à obtenir un résultat lisible.
Essayer les baud rate fréquents (9600, 38400, 19200, 57600, et 115200)
Enregistrer les configurations
Modifier les paramètres de simulation selon vos goûts
baudrate est un outil python permettant d'automatiser la recherche de baud rate.
ressource: https://github.com/devttys0/baudrate/blob/master/baudrate.py
Utiliser un Bus Pirate, Adafruit FT232H, shikra ou autre pour l'exploitation du protocole UART.
Etablir la connexion puis vérifier si l'appareil est connecté avec la commande:
$ ls dev/tty*
Utiliser ensuite la commande suivante pour interagir avec le système:
$ python baudrate.py -p /dev/ttyUSB1
Il est maintenant possible de basculer entre les débits en bauds pour sélectionner le débit en bauds correct qui donne le texte lisible du processus de démarrage. Une fois le processus de démarrage terminé, appuyez sur CTR + C
et enregistrez la configuration minicom avec l'extension (.pcap).
On peut ensuite interagir avec l'appareil au travers de minicom.
L'appareil vous demandera alors probablement des identifiants qui pourront être retrouvés dans la documentation de l'appareil ou en essayant des identifiants par défaut comme admin:admin, admin:1234, admin:password...
Minicom est un programme de contrôle de modem et d'émulation de terminal pour les systèmes d'exploitation de type Unix.