Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Reverséieren an hacken vun externen selbstverschlësselten Drive ass mäi alen Hobby. An der Vergaangenheet hat ech d'Méiglechkeet mat esou Modeller wéi Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500 ze üben. Viru kuerzem huet e Kolleg mir eng aner Ausstellung bruecht: Patriot (Aigo) SK8671, déi no engem typesche Design gebaut ass - en LCD-Indikator an eng Tastatur fir e PIN-Code anzeginn. Dat ass wat doraus erauskomm ass...

1. Aféierung
2. Hardware Architektur
– 2.1. Haaptplat
– 2.2. LCD Indikator Board
– 2.3. Keyboard Verwaltungsrot
– 2.4. Kuckt d'Drähten
3. Sequenz vun Attack Schrëtt
– 3.1. Huelt en Datedump vun engem SPI Flash Drive
– 3.2. Sniffing Kommunikatiounen

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler


1. Aféierung

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler
Logement

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler
Verpakung

Den Zougang zu den Daten, déi op der Disk gespäichert sinn, déi vermeintlech verschlësselt ass, gëtt duerchgefouert nodeems de PIN Code aginn ass. E puer Aféierungsnotizen op dësem Apparat:

  • Fir de PIN Code z'änneren, musst Dir op F1 drécken ier Dir opmaacht;
  • De PIN-Code muss vu 6 bis 9 Zifferen enthalen;
  • No 15 falsch Versich gëtt den Disk geläscht.

2. Hardware Architektur

Als éischt dissektéiere mir den Apparat an Deeler fir ze verstoen aus wéi enge Komponenten et besteet. Déi langweilegst Aufgab ass de Fall opzemaachen: vill mikroskopesch Schrauwen a Plastik. Nodeems mir de Fall opgemaach hunn, gesi mir déi folgend (opgepasst op de fënnef-Pin Connector deen ech solderéiert hunn):

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

2.1. Haaptplat

D'Haaptplat ass ganz einfach:

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Seng bemierkenswäert Deeler (kuckt vun uewe bis ënnen):

  • Connector fir LCD Indikator (CN1);
  • tweeter (SP1);
  • Pm25LD010 (ENGSpezifizéierung) SPI Flash Drive (U2);
  • Jmicron JMS539 Controller (Spezifizéierung) fir USB-SATA (U1);
  • USB 3 Connector (J1).

De SPI Flash Drive späichert d'Firmware fir JMS539 an e puer Astellungen.

2.2. LCD Indikator Board

Et gëtt näischt bemierkenswäert op der LCD Bord.

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler
Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Nëmmen:

  • LCD Indikator vun onbekannter Hierkonft (wahrscheinlech mat engem chinesesche Schrëftset); mat sequenziell Kontroll;
  • Ribbon Connector fir Keyboard Board.

2.3. Keyboard Verwaltungsrot

Wann Dir d'Tastaturboard ënnersicht, ginn d'Saachen méi interessant.

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Hei, op der hënneschter Säit, gesi mir e Bandverbinder, souwéi e Cypress CY8C21434 Mikrokontroller PSoC 1 (nodréiglech wäerte mir et einfach PSoC nennen)

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

CY8C21434 benotzt den M8C Instruktiounsset (kuckt Dokumentatioun). Op [Produkt Säit]((http://www.cypress.com/part/cy8c21434-24ltxi) et gëtt uginn datt et d'Technologie ënnerstëtzt CapSense (Léisung vun Cypress, fir capacitive Keyboards). Hei kënnt Dir de fënnef-Pin Connector gesinn, deen ech solderéiert hunn - dëst ass eng Standard Approche fir en externe Programméierer iwwer d'ISSP Interface ze verbannen.

2.4. Kuckt d'Drähten

Loosst eis erausfannen wat hei verbonnen ass. Fir dëst ze maachen, Test just d'Drähten mat engem Multimeter:

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Erklärungen fir dëst Diagramm um Knéi gezeechent:

  • De PSoC gëtt an der technescher Spezifizéierung beschriwwen;
  • den nächste Connector, dee riets, ass d'ISSP Interface, déi, duerch Schicksalwëllen, entsprécht wat iwwer dat am Internet geschriwwe gëtt;
  • Dee rietsste Connector ass den Terminal fir de Bandverbindung op d'Tastaturbrett;
  • De schwaarze Rechteck ass eng Zeechnung vum CN1 Connector, entwéckelt fir den Haaptplat mam LCD Board ze verbannen. P11, P13 an P4 si mat PSoC Pins 11, 13 an 4, op der LCD Verwaltungsrot verbonnen.

3. Sequenz vun Attack Schrëtt

Elo wou mir wëssen, aus wéi enge Komponenten dësen Drive besteet, musse mir: 1) sécherstellen datt d'Basis Verschlësselungsfunktionalitéit tatsächlech präsent ass; 2) erauszefannen wéi Verschlësselungsschlëssel generéiert / gespäichert ginn; 3) fannen wou genee de PIN Code iwwerpréift gëtt.

Fir dëst ze maachen, hunn ech déi folgend Schrëtt gemaach:

  • huet en Datedump vun engem SPI Flash Drive geholl;
  • probéiert Daten aus engem PSoC Flash Drive ze dumpen;
  • verifizéiert datt d'Kommunikatioun tëscht Cypress PSoC an JMS539 tatsächlech Tastekombinatiounen enthält;
  • Ech hunn gesuergt datt wann Dir d'Passwuert änneren, näischt am SPI Flash Drive iwwerschriwwe gëtt;
  • war ze faul fir d'8051 Firmware vum JMS539 ëmzegoen.

3.1. Huelt en Datedump vun engem SPI Flash Drive

Dës Prozedur ass ganz einfach:

  • verbannen Sonden un d'Been vum Flash Drive: CLK, MOSI, MISO an (optional) EN;
  • "sniff" Kommunikatioun mat engem Sniffer mat engem Logik Analyser (ech benotzt Saleae Logic Pro 16);
  • decodéieren SPI Protokoll an exportéieren Resultater op CSV;
  • profitéieren decode_spi.rbfir d'Resultater ze analyséieren an en Dump ze kréien.

Maacht weg datt dës Approche besonnesch gutt am Fall vum JMS539 Controller funktionnéiert, well dëse Controller all Firmware vum Flash Drive an der Initialiséierungsstadium lued.

$ 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

Nodeems ech en Dump vum SPI Flash Drive geholl hunn, sinn ech zur Conclusioun komm datt seng eenzeg Aufgab ass d'Firmware fir den JMicron Kontrollgerät ze späicheren, deen an den 8051 Mikrokontroller agebaut ass. Leider huet en Dump vum SPI Flash Drive nëtzlos gewisen:

  • wann de PIN Code geännert gëtt, bleift de Flash Drive Dump d'selwecht;
  • No der Initialiséierungsstadium gëtt den Apparat net op de SPI Flash Drive.

3.2. Sniffing Kommunikatiounen

Dëst ass ee Wee fir ze fannen wéi en Chip verantwortlech ass fir d'Kommunikatioun ze kontrolléieren fir d'Zäit / Inhalt vum Interesse. Wéi mir scho wëssen, ass den USB-SATA Controller mam Cypress PSoC LCD iwwer Connector CN1 an zwee Bänner verbonnen. Dofir verbannen mir d'Sonden un déi dräi entspriechend Been:

  • P4, allgemeng Input / Ausgang;
  • P11, I2C SCL;
  • P13, I2C SDA.

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Da lancéiere mir de Saleae Logik Analyser a gitt op der Tastatur: "123456~". Als Resultat gesi mir déi folgend Diagramm.

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Op et kënne mir dräi Datenaustauschkanäl gesinn:

  • et gi verschidde kuerz Bursts um Kanal P4;
  • op P11 an P13 - bal kontinuéierlech Datenaustausch.

Zoomen op déi éischt Spike um Kanal P4 (bloe Rechteck an der viregter Figur), gesi mir déi folgend:

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Hei gesitt Dir, datt op P4 bal 70ms vun engem monotone Signal ass, wat mir am Ufank d'Roll vun engem Auersignal gespillt huet. Wéi och ëmmer, nodeems ech e bëssen Zäit verbruecht hunn, meng Schätzung ze kontrolléieren, hunn ech entdeckt datt dëst kee Auersignal ass, mee en Audiostroum deen op den Tweeter erausgeet wann d'Schlësselen gedréckt ginn. Dofir enthält dës Sektioun vum Signal selwer keng nëtzlech Informatioun fir eis. Wéi och ëmmer, et kann als Indikator benotzt ginn fir ze wëssen wann de PSoC eng Tastepress registréiert.

Wéi och ëmmer, de leschten P4 Audio Stream ass e bëssen anescht: et ass den Audio fir den "ongëlteg PIN"!

Zréck op d'Tastekombinatiounsgrafik, zoomt op déi lescht Audio Stream Grafik (kuckt de bloe Rechteck erëm), mir kréien:

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Hei gesi mer monoton Signaler op P11. Also et gesäit aus wéi wann dëst d'Auersignal ass. An P13 ass Daten. Notéiert wéi d'Muster ännert nodeems de Piep eriwwer ass. Et wier interessant ze gesinn wat hei geschitt.

Protokoller déi mat zwee Drot funktionnéieren sinn normalerweis SPI oder I2C, an d'technesch Spezifizéierung op Cypress seet datt dës Pins dem I2C entspriechen, wat mir gesinn ass richteg an eisem Fall:

Reverséieren an hacken Aigo selbstverschlësselte externen HDD Drive. Deel 1: Dissektéieren an Deeler

Den USB-SATA Chipsatz freet dauernd de PSoC fir den Zoustand vum Schlëssel ze liesen, deen als Standard "0" ass. Dann, wann Dir op den "1" Schlëssel dréckt, ännert se op "1". Déi lescht Iwwerdroung direkt nodeems Dir op "~" dréckt ass anescht wann de falsche PIN Code aginn ass. Ech hunn awer am Moment nach net gepréift wat do eigentlech iwwerdroe gëtt. Awer ech de Verdacht datt dëst onwahrscheinlech e Verschlësselungsschlëssel ass. Jiddefalls, kuckt déi nächst Rubrik fir ze verstoen wéi ech d'PSoC intern Firmware ewechgeholl hunn.

Source: will.com

Setzt e Commentaire