ProHoster > Blog > Administratioun > 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
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...
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):
2.1. Haaptplat
D'Haaptplat ass ganz einfach:
Seng bemierkenswäert Deeler (kuckt vun uewe bis ënnen):
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.
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.
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)
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:
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.
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.
Da lancéiere mir de Saleae Logik Analyser a gitt op der Tastatur: "123456~". Als Resultat gesi mir déi folgend Diagramm.
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:
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:
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:
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.