mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 06:00:40 +00:00
Translated ['todo/hardware-hacking/spi.md'] to tr
This commit is contained in:
parent
a34b5581f8
commit
d9dae622ea
5 changed files with 44 additions and 12 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 |
|
@ -2,15 +2,15 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong> ile!</strong></summary>
|
||||
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong> ile!</strong></summary>
|
||||
|
||||
HackTricks'ı desteklemenin diğer yolları:
|
||||
|
||||
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
|
||||
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
|
||||
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
|
||||
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
|
||||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da takip edin.**
|
||||
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
|
||||
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
|
||||
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -18,21 +18,53 @@ HackTricks'ı desteklemenin diğer yolları:
|
|||
|
||||
SPI (Serial Peripheral Interface), gömülü sistemlerde kullanılan, IC'ler (Entegre Devreler) arasında kısa mesafe iletişimi için kullanılan Senkron Seri İletişim Protokolüdür. SPI İletişim Protokolü, saat ve Çip Seçim Sinyali tarafından orkestrasyonu yapılan master-slave mimarisinden yararlanır. Bir master-slave mimarisi, genellikle bir mikroişlemci olan bir ana bilgisayarın EEPROM, sensörler, kontrol cihazları vb. gibi harici bileşenleri yönettiği ve köle olarak kabul edilen cihazlardan oluşur.
|
||||
|
||||
Bir ana bilgisayara birden fazla köle bağlanabilir ancak köleler birbirleriyle iletişim kuramaz. Köleler, saat ve çip seçim sinyalleri tarafından yönetilir. SPI, senkron bir iletişim protokolü olduğundan, giriş ve çıkış pinleri saat sinyallerini takip eder. Çip seçimi, ana bilgisayarın bir köleyi seçmesi ve onunla etkileşime girmesi için kullanılır. Çip seçimi yüksek olduğunda, köle cihaz seçilmezken, düşük olduğunda çip seçilmiş olur ve ana bilgisayar köle ile etkileşimde bulunur.
|
||||
Bir ana bilgisayara birden fazla köle bağlanabilir ancak köleler birbirleriyle iletişim kuramaz. Köleler, saat ve çip seçim olmak üzere iki pin tarafından yönetilir. SPI senkron bir iletişim protokolü olduğundan, giriş ve çıkış pinleri saat sinyallerini takip eder. Çip seçimi, ana bilgisayarın bir köleyi seçmesi ve onunla etkileşime girmesi için kullanılır. Çip seçimi yüksek olduğunda, köle cihaz seçilmezken, düşük olduğunda çip seçilmiş olur ve ana bilgisayar köle ile etkileşime geçer.
|
||||
|
||||
MOSI (Master Out, Slave In) ve MISO (Master In, Slave Out), veri gönderme ve alma işlemlerinden sorumludur. Veri, MOSI pini aracılığıyla köle cihaza gönderilirken çip seçimi düşük tutulur. Giriş verisi, köle cihazın veri sayfasına göre talimatlar, bellek adresleri veya veriler içerir. Geçerli bir girişte, MISO pini verileri ana bilgisayara iletmekten sorumludur. Çıkış verisi, giriş bittikten hemen sonra bir sonraki saat döngüsünde gönderilir. MISO pinleri, veri tamamen iletilene kadar veya ana bilgisayar çip seçim pimini yüksek yapana kadar (bu durumda, köle veri iletimi durdurur ve ana bilgisayar o saat döngüsünden sonra dinlemez) veri iletimini gerçekleştirir.
|
||||
MOSI (Master Out, Slave In) ve MISO (Master In, Slave Out) veri gönderme ve alma işlemlerinden sorumludur. Veri, çip seçimi düşük tutulurken MOSI pini aracılığıyla köle cihaza gönderilir. Giriş verisi, köle cihaz satıcısının veri sayfasına göre talimatlar, bellek adresleri veya veriler içerir. Geçerli bir girişte, MISO pini verileri ana bilgisayara iletmekten sorumludur. Çıkış verisi, giriş bittikten hemen sonra bir sonraki saat döngüsünde gönderilir. MISO pinleri, veri tamamen iletilene kadar veya ana bilgisayar çip seçim pimini yüksek konumuna getirinceye kadar (bu durumda, köle veri iletmeyi durduracak ve ana bilgisayar o saat döngüsünden sonra dinlemeyecektir) veri iletmeye devam eder.
|
||||
|
||||
## Flash Belleği Dökümü
|
||||
## EEPROM'lerden Firmware'in Dump Edilmesi
|
||||
|
||||
Firmware'in dump edilmesi, firmware'in analiz edilmesi ve içindeki güvenlik açıklarının bulunması için faydalı olabilir. Çoğu zaman, firmware internet üzerinde mevcut değildir veya model numarası, sürüm vb. gibi faktörlerin değişkenliği nedeniyle ilgisizdir. Bu nedenle, fiziksel cihazdan doğrudan firmware'in çıkarılması, tehditleri ararken belirli olabilmek için faydalı olabilir.
|
||||
|
||||
Seri Konsol almak faydalı olabilir, ancak çoğu zaman dosyaların salt okunur olduğu görülür. Bu, çeşitli nedenlerden dolayı analizi kısıtlar. Örneğin, paket gönderip almak için gereken araçlar firmware'de bulunmayabilir. Bu nedenle, dosyaları tersine mühendislik yapmak için firmware'in tamamının sisteme dump edilmesi ve analiz için dosyaların çıkarılması çok faydalı olabilir.
|
||||
|
||||
Ayrıca, kırmızı eğitim sırasında ve cihazlara fiziksel erişim sağlandığında, firmware'in dump edilmesi dosyaları değiştirmeye veya kötü amaçlı dosyalar enjekte etmeye ve ardından bunları belleğe yeniden yüklemeye yardımcı olabilir, bu da cihaza bir arka kapı yerleştirmek için faydalı olabilir. Bu nedenle, firmware dump edilerek açılabilecek birçok olasılık vardır.
|
||||
|
||||
### CH341A EEPROM Programlayıcı ve Okuyucu
|
||||
|
||||
Bu cihaz, EEPROM'lerden firmware'leri dump etmek ve firmware dosyaları ile yeniden yüklemek için uygun bir araçtır. Bu, bilgisayar BIOS yongalarıyla (sadece EEPROM'lar) çalışmak için popüler bir seçenek olmuştur. Bu cihaz USB üzerinden bağlanır ve başlamak için minimum araçlara ihtiyaç duyar. Ayrıca genellikle görevi hızlı bir şekilde tamamlar, bu nedenle fiziksel cihaz erişiminde de faydalı olabilir.
|
||||
|
||||
<img src="../../.gitbook/assets/board_image_ch341a.jpg" alt="drawing" width="400" align="center"/>
|
||||
|
||||
EEPROM belleği CH341a Programlayıcı ile bağlayın ve cihazı bilgisayara takın. Cihaz algılanmıyorsa, bilgisayara sürücülerin yüklenmeye çalışılması önerilir. Ayrıca, EEPROM'un doğru yönde bağlı olduğundan emin olun (genellikle VCC Pini USB konektörüne ters yönde yerleştirilir) aksi takdirde yazılımın çipi algılayamayacağından emin olun. Gerekirse diyagrama başvurun:
|
||||
|
||||
<img src="../../.gitbook/assets/connect_wires_ch341a.jpg" alt="drawing" width="350"/>
|
||||
|
||||
<img src="../../.gitbook/assets/eeprom_plugged_ch341a.jpg" alt="drawing" width="350"/>
|
||||
|
||||
Son olarak, firmware'i dump etmek için flashrom, G-Flash (GUI) vb. gibi yazılımları kullanın. G-Flash, EEPROM'u otomatik olarak algılayan hızlı ve minimal bir GUI aracıdır. Bu, belgelerle çok uğraşmadan hızlı bir şekilde firmware'in çıkarılması gerekiyorsa faydalı olabilir.
|
||||
|
||||
<img src="../../.gitbook/assets/connected_status_ch341a.jpg" alt="drawing" width="350"/>
|
||||
|
||||
Firmware'i dump ettikten sonra, analiz binary dosyalar üzerinde yapılabilir. Strings, hexdump, xxd, binwalk vb. gibi araçlar, firmware hakkında ve aynı zamanda tüm dosya sistemi hakkında birçok bilgi çıkarmak için kullanılabilir.
|
||||
|
||||
Firmware'den içeriği çıkarmak için binwalk kullanılabilir. Binwalk, hex imzaları için analiz yapar ve ikili dosyada dosyaları tanımlar ve bunları çıkarmak için yeteneklidir.
|
||||
```
|
||||
binwalk -e <filename>
|
||||
```
|
||||
<filename> dosyaları, kullanılan araçlar ve yapılandırmalara bağlı olarak .bin veya .rom olabilir.
|
||||
|
||||
{% hint style="danger" %} Firmware çıkarma işlemi hassas bir süreçtir ve sabır gerektirir. Herhangi bir hata, firmware'in bozulmasına veya tamamen silinmesine neden olabilir ve cihazı kullanılamaz hale getirebilir. Firmware'in çıkarılması denemeden önce belirli cihazı incelemeniz önerilir. {% endhint %}
|
||||
|
||||
### Bus Pirate + flashrom
|
||||
|
||||
![](<../../.gitbook/assets/image (907).png>)
|
||||
|
||||
Not: Pirate Bus'un PINOUT'unun **MOSI** ve **MISO** pinlerini SPI'ye bağlamak için belirtmesine rağmen bazı SPI'ler DI ve DO olarak pinleri gösterebilir. **MOSI -> DI, MISO -> DO**
|
||||
Pirate Bus'un PINOUT'unun **MOSI** ve **MISO** için pinler göstermesine rağmen bazı SPI'lar DI ve DO olarak pinleri gösterebilir. **MOSI -> DI, MISO -> DO**
|
||||
|
||||
![](<../../.gitbook/assets/image (357).png>)
|
||||
|
||||
Windows veya Linux'ta, flash belleğin içeriğini dökmek için şu şekilde bir komut çalıştırarak [**`flashrom`**](https://www.flashrom.org/Flashrom) programını kullanabilirsiniz:
|
||||
Windows veya Linux'ta [**`flashrom`**](https://www.flashrom.org/Flashrom) programını kullanarak flash belleğin içeriğini dökümlemek için şu şekilde bir komut çalıştırabilirsiniz:
|
||||
```bash
|
||||
# In this command we are indicating:
|
||||
# -VV Verbose
|
||||
|
@ -43,14 +75,14 @@ flashrom -VV -c "W25Q64.V" -p buspirate_spi:dev=COM3 -r flash_content.img
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>AWS hackleme konusunda sıfırdan kahramana dönüşmek için</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> öğrenin!</strong></summary>
|
||||
<summary><strong>AWS hackleme konusunda sıfırdan kahramana kadar öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
|
||||
|
||||
HackTricks'ı desteklemenin diğer yolları:
|
||||
|
||||
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
|
||||
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
|
||||
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
|
||||
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
|
||||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
|
||||
* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Reference in a new issue