mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 14:08:26 +00:00
Translated ['todo/hardware-hacking/spi.md'] to af
This commit is contained in:
parent
6b9c75176f
commit
11421fac78
5 changed files with 41 additions and 9 deletions
BIN
.gitbook/assets/board_image_ch341a.jpg
Normal file
BIN
.gitbook/assets/board_image_ch341a.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 MiB |
BIN
.gitbook/assets/connect_wires_ch341a.jpg
Normal file
BIN
.gitbook/assets/connect_wires_ch341a.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
BIN
.gitbook/assets/connected_status_ch341a.jpg
Normal file
BIN
.gitbook/assets/connected_status_ch341a.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 MiB |
BIN
.gitbook/assets/eeprom_plugged_ch341a.jpg
Normal file
BIN
.gitbook/assets/eeprom_plugged_ch341a.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 MiB |
|
@ -6,7 +6,7 @@
|
|||
|
||||
Ander maniere om HackTricks te ondersteun:
|
||||
|
||||
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat** Kontroleer die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
||||
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
||||
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
@ -16,23 +16,55 @@ Ander maniere om HackTricks te ondersteun:
|
|||
|
||||
## Basiese Inligting
|
||||
|
||||
SPI (Serial Peripheral Interface) is 'n Synchronous Serial Kommunikasieprotokol wat in ingebedde stelsels gebruik word vir kortafstandskommunikasie tussen IC's (Geïntegreerde stroombrekers). SPI Kommunikasieprotokol maak gebruik van die meester-slaaf argitektuur wat georkestreer word deur die Klok- en Chip Select-sein. 'n Meester-slaaf argitektuur bestaan uit 'n meester (gewoonlik 'n mikroprosessor) wat eksterne randtoestelle soos EEPROM, sensors, beheerstelsels, ens. bestuur wat as die slawe beskou word.
|
||||
SPI (Serial Peripheral Interface) is 'n Synchronous Serial Kommunikasieprotokol wat in ingebedde stelsels gebruik word vir kortafstandskommunikasie tussen IC's (Geïntegreerde stroombrekers). SPI Kommunikasieprotokol maak gebruik van die meester-slaaf-argitektuur wat georkestreer word deur die Klok- en Chip Select-sein. 'n Meester-slaaf-argitektuur bestaan uit 'n meester (gewoonlik 'n mikroprosessor) wat eksterne randtoestelle soos EEPROM, sensors, beheerstelsels, ens. bestuur wat as die slawe beskou word.
|
||||
|
||||
Meer as een slaaf kan aan 'n meester gekoppel word, maar slawe kan nie met mekaar kommunikeer nie. Slawe word geadministreer deur twee stifte, klok en chip select. Aangesien SPI 'n synchrone kommunikasieprotokol is, volg die inset- en uitsetstifte die kloksignale. Die chip select word deur die meester gebruik om 'n slaaf te kies en daarmee te kommunikeer. Wanneer die chip select hoog is, is die slaaftoestel nie gekies nie, terwyl wanneer dit laag is, die skyf gekies is en die meester met die slaaf sal interaksie hê.
|
||||
Meervoudige slawe kan aan 'n meester gekoppel word, maar slawe kan nie met mekaar kommunikeer nie. Slawe word geadministreer deur twee pine, klok en chip select. Aangesien SPI 'n synchrone kommunikasieprotokol is, volg die inset- en uitsetpunte die kloksignale. Die chip select word deur die meester gebruik om 'n slaaf te kies en daarmee te kommunikeer. Wanneer die chip select hoog is, is die slaaftoestel nie gekies nie, terwyl dit laag is, die chip is gekies en die meester sal met die slaaf interaksie hê.
|
||||
|
||||
Die MOSI (Meester Uit, Slaaf In) en MISO (Meester In, Slaaf Uit) is verantwoordelik vir die stuur en ontvang van data. Data word na die slaaftoestel gestuur deur die MOSI-stift terwyl die chip select laag gehou word. Die insetdata bevat instruksies, geheue-adresse of data soos per die datablad van die slaaftoestelvervaardiger. Met 'n geldige inset is die MISO-stift verantwoordelik vir die oordrag van data na die meester. Die uitsetdata word presies by die volgende klok-siklus na die einde van die inset gestuur. Die MISO-stifte stuur data oor totdat die data heeltemal oorgedra is of die meester die chip select-stift hoog stel (in daardie geval sal die slaaf ophou om oor te dra en die meester sal nie daarna luister nie).
|
||||
Die MOSI (Meester Uit, Slaaf In) en MISO (Meester In, Slaaf Uit) is verantwoordelik vir die stuur en ontvang van data. Data word na die slaaftoestel gestuur deur die MOSI-pen terwyl die chip select laag gehou word. Die insetdata bevat instruksies, geheue-adresse of data soos per die datablad van die slaaftoestellewer. Met 'n geldige inset is die MISO-pen verantwoordelik vir die oordrag van data na die meester. Die uitsetdata word presies na die volgende klok-siklus na die einde van die inset gestuur. Die MISO-penne stuur data oor totdat die data heeltemal oorgedra is of die meester die chip select-pen hoog stel (in daardie geval sal die slaaf ophou om oor te dra en die meester sal nie daarna luister nie).
|
||||
|
||||
## Dump Flash
|
||||
## Dumping Firmware van EEPROMs
|
||||
|
||||
Die aflaai van firmware kan nuttig wees vir die analise van die firmware en die vind van kwesbaarhede daarin. Baie kere is die firmware nie beskikbaar op die internet of is irrelevant as gevolg van faktore soos modelnommer, weergawe, ens. Daarom kan dit nuttig wees om die firmware direk van die fisiese toestel te onttrek om spesifiek te wees tydens die soeke na bedreigings.
|
||||
|
||||
Die verkryging van 'n Seriële Konsole kan nuttig wees, maar baie kere gebeur dit dat die lêers slegs-lees is. Dit beperk die analise as gevolg van verskeie redes. Byvoorbeeld, gereedskap wat nodig is om pakkies te stuur en te ontvang, sal nie in die firmware wees nie. Dus is dit nie haalbaar om die binêre lêers te onttrek vir omgekeerde ingenieurswese nie. Daarom kan dit baie nuttig wees om die hele firmware op die stelsel te dump en die binêre lêers vir analise te onttrek.
|
||||
|
||||
Ook, tydens rooi lees en die verkryging van fisiese toegang tot toestelle, kan die aflaai van die firmware help om die lêers te wysig of skadelike lêers in te spuit en dit dan weer in die geheue te flits wat nuttig kan wees om 'n agterdeur in die toestel te implanteer. Daarom is daar tal moontlikhede wat ontsluit kan word met firmware-aflaai.
|
||||
|
||||
### CH341A EEPROM-programmeerder en -leser
|
||||
|
||||
Hierdie toestel is 'n goedkoop instrument vir die aflaai van firmware van EEPROMs en ook vir die herflitsing daarvan met firmware-lêers. Dit is 'n gewilde keuse vir die werk met rekenaar BIOS-stroombrekers (wat net EEPROMs is). Hierdie toestel verbind oor USB en benodig minimale gereedskap om te begin. Dit kry gewoonlik die taak vinnig gedoen, so dit kan ook nuttig wees vir fisiese toegang tot toestelle.
|
||||
|
||||
<img src="../../.gitbook/assets/board_image_ch341a.jpg" alt="tekening" breedte="400" uitlyn="sentrum"/>
|
||||
|
||||
Koppel die EEPROM-geheue aan die CH341a-programmeerder en steek die toestel in die rekenaar. Indien die toestel nie opgespoor word nie, probeer om bestuurders in die rekenaar te installeer. Maak ook seker dat die EEPROM in die regte oriëntasie gekoppel is (gewoonlik, plaas die VCC-pen in omgekeerde oriëntasie tot die USB-konnektor) anders sal die sagteware nie in staat wees om die stroombreker op te spoor nie. Raadpleeg die diagram indien nodig:
|
||||
|
||||
<img src="../../.gitbook/assets/connect_wires_ch341a.jpg" alt="tekening" breedte="350"/>
|
||||
|
||||
<img src="../../.gitbook/assets/eeprom_plugged_ch341a.jpg" alt="tekening" breedte="350"/>
|
||||
|
||||
Gebruik ten slotte sagteware soos flashrom, G-Flash (GUI), ens. vir die aflaai van die firmware. G-Flash is 'n minimale GUI-gereedskap wat vinnig is en die EEPROM outomaties opspoor. Dit kan nuttig wees as die firmware vinnig onttrek moet word, sonder om baie met die dokumentasie te speel.
|
||||
|
||||
<img src="../../.gitbook/assets/connected_status_ch341a.jpg" alt="tekening" breedte="350"/>
|
||||
|
||||
Na die aflaai van die firmware kan die analise op die binêre lêers gedoen word. Gereedskap soos strings, hexdump, xxd, binwalk, ens. kan gebruik word om baie inligting oor die firmware sowel as die hele lêersisteem ook te onttrek.
|
||||
|
||||
Om die inhoud uit die firmware te onttrek, kan binwalk gebruik word. Binwalk analiseer vir heks-handtekeninge en identifiseer die lêers in die binêre lêer en is in staat om hulle te onttrek.
|
||||
```
|
||||
binwalk -e <filename>
|
||||
```
|
||||
Die <filename> kan .bin of .rom wees volgens die gereedskap en konfigurasies wat gebruik word.
|
||||
|
||||
{% hint style="danger" %} Let wel dat firmware-ekstraksie 'n delikate proses is en baie geduld vereis. Enige hantering kan potensieel die firmware beskadig of selfs heeltemal uitvee en die toestel onbruikbaar maak. Dit word aanbeveel om die spesifieke toestel te bestudeer voordat jy probeer om die firmware te ekstraheer. {% endhint %}
|
||||
|
||||
### Bus Pirate + flashrom
|
||||
|
||||
![](<../../.gitbook/assets/image (907).png>)
|
||||
|
||||
Let daarop dat selfs al dui die PINOUT van die Pirate Bus stifte vir **MOSI** en **MISO** aan om aan SPI te koppel, sommige SPI's kan stifte aandui as DI en DO. **MOSI -> DI, MISO -> DO**
|
||||
Merk op dat selfs al dui die PINOUT van die Pirate Bus op pine vir **MOSI** en **MISO** om aan SPI te koppel, sommige SPI's kan pine aandui as DI en DO. **MOSI -> DI, MISO -> DO**
|
||||
|
||||
![](<../../.gitbook/assets/image (357).png>)
|
||||
|
||||
In Windows of Linux kan jy die program [**`flashrom`**](https://www.flashrom.org/Flashrom) gebruik om die inhoud van die flitsgeheue te dump deur iets soos die volgende uit te voer:
|
||||
In Windows of Linux kan jy die program [**`flashrom`**](https://www.flashrom.org/Flashrom) gebruik om die inhoud van die flash-geheue te dump deur iets soos die volgende uit te voer:
|
||||
```bash
|
||||
# In this command we are indicating:
|
||||
# -VV Verbose
|
||||
|
@ -49,8 +81,8 @@ Ander maniere om HackTricks te ondersteun:
|
|||
|
||||
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
||||
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
|
||||
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
|
||||
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Add table
Reference in a new issue