ProHoster > Blog > Administrasi > 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
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…
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):
2.1. Papan utama
Papan utama cukup basajan:
Bagian anu paling kasohor (tingali ti luhur ka handap):
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.
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.
Di dieu, di sisi tukang, urang ningali panyambung pita, kitu ogé mikrokontroler Cypress CY8C21434 PSoC 1 (saterusna urang ngan saukur nelepon PSoC)
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:
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.
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.
Teras urang ngajalankeun analisa logika Saleae sareng lebetkeun kana keyboard: "123456~". Hasilna, urang ningali diagram di handap ieu.
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:
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:
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:
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.