Translated ['todo/hardware-hacking/uart.md'] to gr

This commit is contained in:
Translator 2024-04-07 16:19:56 +00:00
parent cc40cc30af
commit fc70665c74

View file

@ -1,52 +1,53 @@
# UART
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
# Βασικές Πληροφορίες
## Βασικές Πληροφορίες
Το UART είναι ένα σειριακό πρωτόκολλο, που σημαίνει ότι μεταφέρει δεδομένα μεταξύ συστατικών ένα bit τη φορά. Αντίθετα, τα παράλληλα πρωτόκολλα επικοινωνίας μεταφέρουν δεδομένα ταυτόχρονα μέσω πολλαπλών καναλιών. Συνήθη σειριακά πρωτόκολλα περιλαμβάνουν τα RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express και USB.
Γενικά, η γραμμή διατηρείται ψηλά (σε λογική τιμή 1) ενώ το UART βρίσκεται σε κατάσταση αδράνειας. Στη συνέχεια, για να σηματοδοτήσει την έναρξη μεταφοράς δεδομένων, ο αποστολέας στέλνει ένα bit εκκίνησης στον παραλήπτη, κατά τη διάρκεια του οποίου το σήμα διατηρείται χαμηλά (σε λογική τιμή 0). Στη συνέχεια, ο αποστολέας στέλνει πέντε έως οκτώ bits δεδομένων που περιέχουν το πραγματικό μήνυμα, ακολουθούμενα από ένα προαιρετικό bit ελέγχου περιττότητας και ένα ή δύο bits σταματημένου (με λογική τιμή 1), ανάλογα με τη διαμόρφωση. Το bit ελέγχου περιττότητας, που χρησιμοποιείται για έλεγχο σφαλμάτων, σπάνια βλέπεται στην πράξη. Το bit (ή τα bits) σταματημένου σημαίνουν το τέλος της μετάδοσης.
Γενικά, η γραμμή διατηρείται ψηλά (σε λογική τιμή 1) ενώ το UART βρίσκεται σε κατάσταση αδράνειας. Στη συνέχεια, για να σηματοδοτήσει την έναρξη μεταφοράς δεδομένων, ο αποστολέας στέλνει ένα bit εκκίνησης στον παραλήπτη, κατά το οποίο η σήμανση διατηρείται χαμηλά (σε λογική τιμή 0). Στη συνέχεια, ο αποστολέας στέλνει πέντε έως οκτώ bits δεδομένων που περιέχουν το πραγματικό μήνυμα, ακολουθούμενα από ένα προαιρετικό bit ελέγχου περιττότητας και ένα ή δύο bits σταματημένου (με λογική τιμή 1), ανάλογα με τη διαμόρφωση. Το bit ελέγχου περιττότητας, που χρησιμοποιείται για έλεγχο σφαλμάτων, σπάνια βλέπεται στην πράξη. Τα bits σταματημένου (ή bits) σημαίνουν το τέλος της μετάδοσης.
Αποκαλούμε την πιο συνηθισμένη διαμόρφωση 8N1: οκτώ bits δεδομένων, χωρίς bit ελέγχου περιττότητας και ένα bit σταματημένου. Για παράδειγμα, αν θέλαμε να στείλουμε τον χαρακτήρα C, ή το 0x43 σε ASCII, σε μια διαμόρφωση UART 8N1, θα στέλναμε τα ακόλουθα bits: 0 (το bit εκκίνησης); 0, 1, 0, 0, 0, 0, 1, 1 (η τιμή του 0x43 σε δυαδική μορφή), και 0 (το bit σταματημένου).
Αποκαλούμε την πιο συνηθισμένη διαμόρφωση 8N1: οκτώ bits δεδομένων, χωρίς περιττότητα και ένα bit σταματημένου. Για παράδειγμα, αν θέλαμε να στείλουμε τον χαρακτήρα C, ή το 0x43 σε ASCII, σε μια διαμόρφωση UART 8N1, θα στέλναμε τα ακόλουθα bits: 0 (το bit εκκίνησης); 0, 1, 0, 0, 0, 0, 1, 1 (η τιμή του 0x43 σε δυαδική μορφή), και 0 (το bit σταματημένου).
![](<../../.gitbook/assets/image (648) (1) (1) (1) (1).png>)
![](<../../.gitbook/assets/image (761).png>)
Εργαλεία υλικού για επικοινωνία με το UART:
* Προσαρμογέας USB-προς-σειριακό
* Προσαρμογέας USB-to-serial
* Προσαρμογείς με τα chips CP2102 ή PL2303
* Πολυεργαλείο όπως: Bus Pirate, το Adafruit FT232H, το Shikra, ή το Attify Badge
## Αναγνώριση Θυρών UART
### Αναγνώριση Θυρών UART
Το UART έχει 4 θύρες: **TX**(Μετάδοση), **RX**(Λήψη), **Vcc**(Τάση), και **GND**(Γη). Μπορείτε να βρείτε 4 θύρες με τα γράμματα **`TX`** και **`RX`** **γραμμένα** στο PCB. Αν όμως δεν υπάρχει καμία ένδειξη, μπορεί να χρειαστεί να προσπαθήσετε να τις βρείτε μόνοι σας χρησιμοποιώντας ένα **πολύμετρο** ή ένα **αναλυτή λογικής**.
Το UART έχει 4 θύρες: **TX**(Μετάδοση), **RX**(Λήψη), **Vcc**(Τάση), και **GND**(Γη). Μπορείτε να βρείτε 4 θύρες με τα γράμματα **`TX`** και **`RX`** **γραμμένα** στο PCB. Αν όμως δεν υπάρχει καμία ένδειξη, μπορεί να χρειαστεί να προσπαθήσετε να τις βρείτε μόνοι σας χρησιμοποιώντας ένα **πολύμετρο** ή ένα **λογικό αναλυτή**.
Με ένα **πολύμετρο** και τη συσκευή απενεργοποιημένη:
* Για να αναγνωρίσετε την **GND** ακίδα χρησιμοποιήστε τη λειτουργία **Συνέχειας Δοκιμής**, τοποθετήστε το πίσω ακροδέκτη στη γη και δοκιμάστε με τον κόκκινο μέχρι να ακούσετε ήχο από το πολύμετρο. Μπορεί να βρείτε πολλές ακίδες GND στο PCB, οπότε είτε έχετε βρει είτε όχι αυτή που ανήκει στο UART.
* Για να αναγνωρίσετε την **ακίδα VCC**, ορίστε τη λειτουργία **DC τάσης** και ρυθμίστε την έως 20 V τάση. Μαύρος αισθητήρας στη γη και κόκκινος αισθητήρας στην ακίδα. Ενεργοποιήστε τη συσκευή. Αν το πολύμετρο μετρά μια σταθερή τάση είτε 3,3 V είτε 5 V, έχετε βρει την ακίδα Vcc. Αν λάβετε άλλες τάσεις, δοκιμάστε με άλλες θύρες.
* Για να αναγνωρίσετε την **TX** **ακίδα**, λειτουργία **DC τάσης** έως 20 V τάση, μαύρος αισθητήρας στη γη, και κόκκινος αισθητήρας στην ακίδα, και ενεργοποιήστε τη συσκευή. Αν βρείτε ότι η τάση διακυμαίνεται για λίγα δευτερόλεπτα και στη συνέχεια σταθεροποιείται στην τιμή της Vcc, πιθανότατα έχετε βρει την ακίδα TX. Αυτό συμβαίνει επειδή κατά την ενεργοποίηση, στέλνει κάποια δεδομένα εντοπισμού σφαλμάτων.
* Η **ακίδα RX** θα είναι η πλησιέστερη στις άλλες 3, έχει τη χαμηλότερη διακύμανση τάσης και τη χαμηλότερη συνολική τιμή από όλες τις ακίδες UART.
* Για να αναγνωρίσετε την **GND** ακίδα χρησιμοποιήστε τη λειτουργία **Συνέχειας Δοκιμής**, τοποθετήστε την πίσω ακίδα στη γη και δοκιμάστε με την κόκκινη μέχρι να ακούσετε ήχο από το πολύμετρο. Μπορεί να βρείτε πολλές ακίδες GND στο PCB, οπότε είτε έχετε βρει είτε όχι αυτή που ανήκει στο UART.
* Για να αναγνωρίσετε τη θύρα **VCC**, ρυθμίστε τη λειτουργία **DC τάσης** και ρυθμίστε την έως 20 V τάση. Μαύρη μύτη στη γη και κόκκινη μύτη στην ακίδα. Ενεργοποιήστε τη συσκευή. Αν το πολύμετρο μετρά μια σταθερή τάση είτε 3.3 V είτε 5 V, έχετε βρει την ακίδα Vcc. Αν λάβετε άλλες τάσεις, δοκιμάστε με άλλες θύρες.
* Για να αναγνωρίσετε τη θύρα **TX**, **λειτουργία DC τάσης** έως 20 V τάση, μαύρη μύτη στη γη, και κόκκινη μύτη στην ακίδα, και ενεργοποιήστε τη συσκευή. Αν βρείτε ότι η τάση διακυμαίνεται για λίγα δευτερόλεπτα και στη συνέχεια σταθεροποιείται στην τιμή της Vcc, πιθανότατα έχετε βρει τη θύρα TX. Αυτό συμβαίνει επειδή κατά την ενεργοποίηση, στέλνει κάποια δεδομένα εντοπισμού σφαλμάτων.
* Η θύρα **RX** θα είναι η πλησιέστερη στις άλλες 3, έχει τη χαμηλότερη διακύμανση τάσης και τη χαμηλότερη συνολική τιμή από όλες τις ακίδες UART.
Μπορείτε να μπερδέψετε τις ακίδες TX και RX και τίποτα δεν θα συμβεί, αλλά αν μπερδέψετε την ακίδα GND και την ακίδα VCC ενδέχεται να καταστρέψετε το κύκλωμα.
Μπορείτε να μπερδέψετε τις θύρες TX και RX και τίποτα δεν θα συμβεί, αλλά αν μπερδέψετε την GND και τη θύρα VCC μπορεί να καταστρέψετε το κύκλωμα.
Σε ορισμένες συσκευές-στόχους, η θύρα UART είναι απενεργοποιημένη από τον κατασκευαστή με την απενεργοποίηση της RX ή της TX ή ακόμα και και των δύο. Σε αυτήν την περίπτωση, μπορεί να είναι χρήσιμο να εντοπίσετε τις συνδέσεις στο πλακέτα κυκλώματος και να βρείτε κάποιο σημείο διακοπής. Ένα ισχυρό υπόδειγμα για την επιβεβαίωση της μη ανίχνευσης του UART και της διάλυσης του κυκλώματος είναι να ελέγξετε την εγγύηση της συσκευής. Αν η συσκευή έχει αποσταλεί με κάποια εγγύηση, ο κατασκευαστής αφήνει κάποιες διεπαφές εντοπισμού σφαλμάτων (σε αυτήν την περίπτωση, UART) και συνεπώς, πρέπει να έχει αποσυνδέσει το UART και θα το συνδέσει ξανά κατά την αποσφαλμάτωση. Αυτές οι ακίδες διακοπής μπορούν να συνδεθούν με κόλληση ή μεταλλικά καλώδια.
Σε ορισμένες συσκευές-στόχους, η θύρα UART είναι απενεργοποιημένη από τον κατασκευαστή με την απενεργοποίηση της RX ή της TX ή ακόμα και και των δύο. Σε αυτήν την περίπτωση, μπορεί να είναι χρήσιμο να εντοπίσετε τις συνδέσεις στο πλακέτα και να βρείτε κάποιο σημείο διακοπής. Ένα ισχυρό υπόδειγμα για την επιβεβαίωση της μη ανίχνευσης του UART και τη διάλυση του κυκλώματος είναι να ελέγξετε την εγγύηση της συσκευής. Αν η συσκευή έχει αποσταλεί με κάποια εγγύηση, ο κατασκευαστής αφήνει κάποιες διεπαφές εντοπισμού σφαλμάτων (σε αυτήν την περίπτωση, UART) και συνεπώς, πρέπει να έχει αποσυνδέσει το UART και θα το συνδέσει ξανά κατά την αποσφαλμάτωση. Αυτές οι ακίδες διακοπής μπορούν να συνδεθούν με κόλληση ή καλώδια jumper.
## Αναγνώριση του Baud Rate του UART
### Αναγνώριση του Baud Rate του UART
Ο ευκολότερος τρόπος για να αν
Ο ευκολότερος τρόπος για να αναγνωρίσετε το σωστό baud rate είναι να κοιτάξετε την **έξοδο της ακίδας TX και να προσπαθήσ
```
ls /dev/
```
@ -58,13 +59,21 @@ picocom /dev/<adapter> --baud <baudrate>
```
minicom -s
```
Διαμορφώστε τις ρυθμίσεις όπως το baudrate και το όνομα συσκευής στην επιλογή `Ρύθμιση σειριακής θύρας`.
Διαμορφώστε τις ρυθμίσεις όπως το baudrate και το όνομα της συσκευής στην επιλογή `Ρύθμιση σειριακής θύρας`.
Μετά τη διαμόρφωση, χρησιμοποιήστε την εντολή `minicom` για να ξεκινήσετε την πρόσβαση στην κονσόλα UART.
# Bus Pirate
## UART Μέσω Arduino UNO R3 (Πλακέτες με αφαιρούμενο Atmel 328p Chip)
Σε αυτό το σενάριο θα παρακολουθήσουμε την επικοινωνία UART του Arduino που στέλνει όλες τις εκτυπώσεις του προγράμματος στο Serial Monitor.
Σε περίπτωση που οι προσαρμογείς UART Serial σε USB δεν είναι διαθέσιμοι, το Arduino UNO R3 μπορεί να χρησιμοποιηθεί με ένα γρήγορο χάκινγκ. Δεδομένου ότι το Arduino UNO R3 είναι συνήθως διαθέσιμο παντού, αυτό μπορεί να εξοικονομήσει πολύ χρόνο.
Το Arduino UNO R3 διαθέτει έναν προσαρμογέα USB σε σειριακή ενσωματωμένο στην πλακέτα. Για να λάβετε σύνδεση UART, απλώς αποσυνδέστε το Atmel 328p μικροελεγκτή από την πλακέτα. Αυτό το χάκι λειτουργεί σε παραλλαγές του Arduino UNO R3 που δεν έχουν το Atmel 328p κολλημένο στην πλακέτα (χρησιμοποιείται η SMD έκδοση). Συνδέστε τον ακροδέκτη RX του Arduino (Ψηφιακός Ακροδέκτης 0) στον ακροδέκτη TX της διεπαφής UART και τον ακροδέκτη TX του Arduino (Ψηφιακός Ακροδέκτης 1) στον ακροδέκτη RX της διεπαφής UART.
Τέλος, συνιστάται να χρησιμοποιήσετε το Arduino IDE για να αποκτήσετε πρόσβαση στην Σειριακή Κονσόλα. Στην ενότητα `εργαλεία` στο μενού, επιλέξτε την επιλογή `Σειριακή Κονσόλα` και ορίστε το ρυθμό baud όπως απαιτείται από τη διεπαφή UART.
## Bus Pirate
Σε αυτό το σενάριο, θα παρακολουθήσουμε την επικοινωνία UART του Arduino που στέλνει όλες τις εκτυπώσεις του προγράμματος στον Σειριακό Παρακολουθητή.
```bash
# Check the modes
UART>m
@ -138,14 +147,14 @@ waiting a few secs to repeat....
```
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks στο AWS)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>