<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
UART je serijski protokol, što znači da prenosi podatke između komponenti po jedan bit u isto vreme. Za razliku od toga, paralelni komunikacioni protokoli prenose podatke istovremeno kroz više kanala. Uobičajeni serijski protokoli uključuju RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express i USB.
Općenito, linija se drži visoko (na logičkoj vrednosti 1) dok je UART u stanju mirovanja. Zatim, da bi signalizirao početak prenosa podataka, predajnik šalje start bit prijemniku, tokom kojeg se signal drži nisko (na logičkoj vrednosti 0). Zatim, predajnik šalje pet do osam podatkovnih bitova koji sadrže stvarnu poruku, praćenu opcionalnim paritetnim bitom i jednim ili dva stop bita (sa logičkom vrednošću 1), zavisno od konfiguracije. Paritetni bit, koji se koristi za proveru grešaka, retko se viđa u praksi. Stop bitovi označavaju kraj prenosa.
Najčešću konfiguraciju zovemo 8N1: osam podatkovnih bitova, bez pariteta i jedan stop bit. Na primer, ako želimo poslati karakter C, ili 0x43 u ASCII, u UART konfiguraciji 8N1, poslali bismo sledeće bitove: 0 (start bit); 0, 1, 0, 0, 0, 0, 1, 1 (vrednost 0x43 u binarnom obliku) i 0 (stop bit).
UART ima 4 porta: **TX**(Prenos), **RX**(Prijem), **Vcc**(Napon) i **GND**(Tlo). Možda ćete moći da pronađete 4 porta sa slovima **`TX`** i **`RX`** **napisanim** na PCB-u. Ali ako nema naznake, možda ćete morati sami da ih pronađete koristeći **multimetar** ili **logički analizator**.
* Da biste identifikovali **GND** pin koristite režim **Test kontinuiteta**, postavite zadnju sondu na tlo i testirajte crvenom sondom dok ne čujete zvuk sa multimetra. Na PCB-u se može pronaći nekoliko GND pinova, pa možda ste pronašli ili niste onaj koji pripada UART-u.
* Da biste identifikovali **VCC port**, postavite režim **DC napona** i postavite ga na 20 V napona. Crna sonda na tlo i crvena sonda na pin. Uključite uređaj. Ako multimetar meri konstantni napon od 3.3 V ili 5 V, pronašli ste Vcc pin. Ako dobijete druge napon, pokušajte sa drugim portovima.
* Da biste identifikovali **TX****port**, **DC režim napona** do 20 V napona, crna sonda na tlo, crvena sonda na pin, i uključite uređaj. Ako pronađete da napon fluktuira nekoliko sekundi, a zatim se stabilizuje na vrednosti Vcc, verovatno ste pronašli TX port. To je zato što kada se uključi, šalje neke podatke za debagiranje.
Na nekim ciljnim uređajima, UART port je onemogućen od strane proizvođača onemogućavanjem RX ili TX ili čak oba. U tom slučaju, može biti korisno pratiti veze na ploči i pronaći neku tačku prekida. Jak znak o potvrdi neprepoznavanja UART-a i prekida kola je provera garancije uređaja. Ako je uređaj isporučen sa nekom garancijom, proizvođač ostavlja neke debag interfejse (u ovom slučaju, UART) i stoga, mora da je isključio UART i ponovo ga povezao tokom debagiranja. Ove prekidačke pinove možete povezati lemljenjem ili jumper žicama.
Najlakši način identifikacije ispravnog baud rate-a je da pogledate **izlaz TX pina i pokušate pročitati podatke**. Ako podaci koje primate nisu čitljivi, pređite na sledeći mogući baud rate dok podaci ne postanu čitljivi. Možete koristiti USB-za-serijski adapter ili višenamenski uređaj poput Bus Pirate-a za ovo, uparen sa pomoćnim skriptom, poput [baudrate.py](https://github.com/devttys0/baudrate/). Najčešći baud rate-ovi su 9600, 38400, 19200, 57600 i 115200.
Čip CP210X se koristi u mnogim prototipnim pločama poput NodeMCU (sa esp8266) za serijsku komunikaciju. Ovi adapteri su relativno jeftini i mogu se koristiti za povezivanje sa UART interfejsom cilja. Uređaj ima 5 pinova: 5V, GND, RXD, TXD, 3.3V. Pazite da povežete napon podržan od strane cilja kako biste izbegli bilo kakvu štetu. Na kraju povežite RXD pin adaptera sa TXD cilja i TXD pin adaptera sa RXD cilja.
U slučaju da adapter nije detektovan, proverite da li su drajveri CP210X instalirani na glavnom sistemu. Kada je adapter detektovan i povezan, mogu se koristiti alati poput picocom, minicom ili screen.
Nakon konfiguracije, koristite komandu `minicom` da biste pokrenuli UART konzolu.
## UART putem Arduino UNO R3 (Uklonive Atmel 328p ploče sa čipom)
U slučaju da UART serijski do USB adapteri nisu dostupni, Arduino UNO R3 može se koristiti uz brzi trik. Pošto je Arduino UNO R3 obično dostupan bilo gde, ovo može uštedeti puno vremena.
Arduino UNO R3 ima USB do serijskog adaptera ugrađenog na samoj ploči. Da biste uspostavili UART vezu, jednostavno izvadite Atmel 328p mikrokontroler čip sa ploče. Ovaj trik funkcioniše na varijantama Arduino UNO R3 koje nemaju Atmel 328p zalemljen na ploči (u njoj se koristi SMD verzija). Povežite RX pin Arduina (Digitalni Pin 0) sa TX pinom UART interfejsa i TX pin Arduina (Digitalni Pin 1) sa RX pinom UART interfejsa.
Na kraju, preporučuje se korišćenje Arduino IDE-a za dobijanje serijske konzole. U `alatkama` u meniju, izaberite opciju `Serijska konzola` i postavite brzinu prenosa prema UART interfejsu.
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**