Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Ngabalikeun sareng hacking drive énkripsi diri éksternal mangrupikeun hobi kuring anu lami. Baheula, kuring ngagaduhan kasempetan pikeun latihan sareng modél sapertos Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500. Ngan nembe, batur sapagawean kuring mawa kuring paméran sejen: Patriot (Aigo) SK8671, nu diwangun dumasar kana desain has - hiji indikator LCD sarta keyboard pikeun ngasupkeun kodeu PIN. Éta anu kaluar tina éta…

1. Pambuka
2. Arsitéktur hardware
– 2.1. Papan utama
– 2.2. papan indikator LCD
– 2.3. Papan kibor
– 2.4. Ningali kawat
3. Runtuyan léngkah serangan
– 3.1. Nyandak dump data tina flash drive SPI
– 3.2. Ngahirupkeun komunikasi

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian


1. Pambuka

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian
perumahan

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian
pak-pakan

Aksés ka data anu disimpen dina disk, anu konon énkripsi, dilaksanakeun saatos ngalebetkeun kode PIN. Sababaraha catetan bubuka dina alat ieu:

  • Pikeun ngarobah kodeu PIN, Anjeun kudu mencet F1 saméméh muka konci;
  • Kodeu PIN kedah ngandung ti 6 dugi ka 9 digit;
  • Saatos 15 usaha anu salah, disk bakal diberesihan.

2. Arsitéktur hardware

Kahiji, urang ngabedah alat kana bagian-bagian pikeun ngartos naon komponénna. Tugas anu paling hese nyaéta muka kasus: seueur screws mikroskopis sareng plastik. Saatos dibuka kasusna, urang ningali ieu (perhatikeun konektor lima pin anu kuring solder):

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

2.1. Papan utama

Papan utama cukup basajan:

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Bagian anu paling kasohor (tingali ti luhur ka handap):

  • konektor pikeun indikator LCD (CN1);
  • tweeter (SP1);
  • Pm25LD010 (spésifikasi) SPI flash drive (U2);
  • Jmicron JMS539 controller (spésifikasi) pikeun USB-SATA (U1);
  • Panyambung USB 3 (J1).

SPI flash drive nyimpen firmware pikeun JMS539 sarta sababaraha setélan.

2.2. papan indikator LCD

Henteu aya anu luar biasa dina papan LCD.

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian
Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

ngan:

  • Indikator LCD asal anu teu dipikanyaho (sigana nganggo set font Cina); kalawan kontrol sequential;
  • Konektor pita pikeun papan keyboard.

2.3. Papan kibor

Lamun examining papan keyboard, hal nyokot péngkolan leuwih metot.

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Di dieu, di sisi tukang, urang ningali panyambung pita, kitu ogé mikrokontroler Cypress CY8C21434 PSoC 1 (saterusna urang ngan saukur nelepon PSoC)

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

CY8C21434 ngagunakeun set instruksi M8C (tingali dokuméntasi). Dina [kaca produk]((http://www.cypress.com/part/cy8c21434-24ltxi) dituduhkeun yén éta ngadukung téknologi CapSense (solusi ti Cypress, pikeun kibor kapasitif). Di dieu anjeun bisa nempo konektor lima-pin I soldered - ieu pendekatan baku pikeun nyambungkeun hiji programmer éksternal via panganteur ISSP.

2.4. Ningali kawat

Hayu urang terang naon anu aya hubunganana di dieu. Jang ngalampahkeun ieu, ngan nguji kawat ku multimeter a:

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Katerangan pikeun diagram ieu digambar dina tuur:

  • PSoC dijelaskeun dina spésifikasi téknis;
  • konektor hareup, hiji ka katuhu, nyaéta panganteur ISSP, nu, ku wasiat nasib, pakait jeung naon anu ditulis ngeunaan eta dina Internet;
  • Konektor paling katuhu nyaéta terminal pikeun konektor pita ka papan keyboard;
  • Sagi opat hideung mangrupikeun gambar konektor CN1, dirancang pikeun nyambungkeun papan utama ka papan LCD. P11, P13 jeung P4 disambungkeun ka PSoC pin 11, 13 jeung 4, dina papan LCD.

3. Runtuyan léngkah serangan

Ayeuna urang terang naon komponén drive ieu diwangun, urang kudu: 1) pastikeun yén fungsionalitas enkripsi dasar sabenerna hadir; 2) manggihan kumaha konci enkripsi dihasilkeun / disimpen; 3) manggihan dimana persis kodeu PIN bakal dipariksa.

Jang ngalampahkeun ieu kuring ngalakukeun léngkah-léngkah ieu:

  • nyandak dump data tina flash drive SPI;
  • diusahakeun dump data ti PSoC flash drive;
  • diverifikasi yén komunikasi antara Cypress PSoC na JMS539 sabenerna ngandung keystrokes;
  • Kuring mastikeun yén nalika ngarobah sandi, euweuh overwritten dina SPI flash drive;
  • Puguh teuing ngabalikeun firmware 8051 ti JMS539.

3.1. Nyandak dump data tina flash drive SPI

Prosedur ieu saderhana pisan:

  • sambungkeun panyilidikan kana suku flash drive: CLK, MOSI, MISO jeung (opsional) EN;
  • Komunikasi "sniff" sareng sniffer nganggo analisa logika (kuring dianggo Saleae Logic Pro 16);
  • decode protokol SPI jeung hasil ékspor ka CSV;
  • ngamangpaatkeun decode_spi.rbpikeun parse hasil tur meunangkeun dump a.

Punten dicatet yén pendekatan ieu dianggo khususna dina kasus JMS539 controller, sabab controller ieu ngamuat sadaya firmware tina flash drive dina tahap initialization.

$ decode_spi.rb boot_spi1.csv dump
0.039776 : WRITE DISABLE
0.039777 : JEDEC READ ID
0.039784 : ID 0x7f 0x9d 0x21
---------------------
0.039788 : READ @ 0x0
0x12,0x42,0x00,0xd3,0x22,0x00,
[...]
$ ls --size --block-size=1 dump
49152 dump
$ sha1sum dump
3d9db0dde7b4aadd2b7705a46b5d04e1a1f3b125 dump

Saatos nyandak dump tina flash drive SPI, kuring nyimpulkeun yén hiji-hijina tugasna nyaéta nyimpen firmware pikeun alat kontrol JMicron, anu diwangun kana mikrokontroler 8051. Hanjakal, nyokot dump tina SPI flash drive tétéla aya gunana:

  • lamun kodeu PIN dirobah, flash drive dump tetep sarua;
  • Saatos tahap inisialisasi, alat henteu ngaksés flash drive SPI.

3.2. Ngahirupkeun komunikasi

Ieu salah sahiji cara pikeun manggihan nu chip jawab mariksa komunikasi pikeun waktos / eusi dipikaresep. Sakumaha anu geus urang terang, controller USB-SATA disambungkeun ka Cypress PSoC LCD via konektor CN1 na dua pita. Ku alatan éta, urang sambungkeun panyilidikan ka tilu suku pakait:

  • P4, asupan / kaluaran umum;
  • P11, I2C SCL;
  • P13, I2C SDA.

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Teras urang ngajalankeun analisa logika Saleae sareng lebetkeun kana keyboard: "123456~". Hasilna, urang ningali diagram di handap ieu.

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Di dinya urang tiasa ningali tilu saluran pertukaran data:

  • aya sababaraha bursts pondok dina channel P4;
  • on P11 na P13 - bursa data ampir kontinyu.

Ngazum dina spike munggaran dina saluran P4 (sagi opat biru dina gambar saméméhna), urang tingali kieu:

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Di dieu anjeun tiasa ningali yén dina P4 aya ampir 70ms sinyal monoton, anu mimitina sigana kuring maénkeun peran sinyal jam. Nanging, saatos nyéépkeun waktos mariksa tatarucingan kuring, kuring mendakan yén ieu sanés sinyal jam, tapi aliran audio anu kaluaran kana tweeter nalika kenop dipencet. Ku alatan éta, bagian tina sinyal ieu sorangan teu ngandung émbaran mangpaat pikeun urang. Nanging, éta tiasa dianggo salaku indikator pikeun terang nalika PSoC ngadaptarkeun pencét konci.

Tapi, aliran audio P4 panganyarna rada béda: éta audio pikeun "PIN teu valid"!

Balik deui ka grafik keystroke, ngazum dina grafik stream audio panungtungan (tingali sagi opat biru deui), urang meunang:

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Di dieu urang ningali sinyal monoton dina P11. Janten sigana ieu mangrupikeun sinyal jam. Sareng P13 mangrupikeun data. Perhatikeun kumaha pola robah sanggeus bip réngsé. Éta bakal pikaresepeun pikeun ningali naon anu lumangsung di dieu.

Protokol anu dianggo sareng dua kawat biasana SPI atanapi I2C, sareng spésifikasi téknis dina Cypress nyatakeun yén pin ieu pakait sareng I2C, anu urang tingali leres dina kasus urang:

Ngabalikeun sarta Hacking Aigo timer encrypting drive HDD éksternal. Bagian 1: Dissecting kana bagian

Chipset USB-SATA terus-terusan polling PSoC pikeun maca kaayaan konci, anu sacara standar nyaéta "0". Lajeng, mun anjeun mencet tombol "1", eta robah jadi "1". Pangiriman ahir langsung saatos mencét "~" béda upami kode PIN salah diasupkeun. Nanging, ayeuna kuring henteu acan pariksa naon anu leres-leres dikirimkeun di dinya. Tapi kuring curiga yén ieu henteu mungkin janten konci enkripsi. Atoh, tingali bagian salajengna pikeun ngartos kumaha kuring ngaleungitkeun firmware internal PSoC.

sumber: www.habr.com

Tambahkeun komentar