Estrarre le password ATA da un Hard Disk

ARTICOLO scritto da Francesco Sperandeo (aka Supersonic su CFI) Grazie Frank!

from: http://elettrofreak.blogspot.com/2011/02/estrarre-le-password-ata-da-un-hard.html

 

Dopo un lungo letargo ecco una nuova guida che potrà aiutare tutti quelli che, for fun or profit, vogliono recuperare le user/master password ATA che, una volta attivate, proteggono(ma non troppo) l'accesso al disco.

Non vi tedierò con una paginata di disclaimer. Ma non venitemi a cercare se sentite puzza di bruciato o le preziose foto del vostro matrimonio sono state rimpiazzate da paginate di zeri. 

Requisiti:

Hardware

  • Un computer con disk drive da 3.5"(la cosa più difficile da trovare)
  • Un floppy disk su cui installare il software
  • l'hard disk da sbloccare.

Software 

  • MHDD v. 4.5 in versione immagine floppy self extract reperibilequi
  • il file MHDD.zip modificato con gli script per i dischi WD preso dal forum hddguru: Mhdd.zip
  • Il software Victoria, reperibile su Hiren's Boot CD

Questa procedura è specifica per un HD Western Digital Scorpio da 120Gb e dovrebbe funzionare su altri modelli prodotti da Western Digital.

Secondo le specifiche ATA, pubblicate da t13.org la cui ultima revisone è disponibile in formato pdf qui, le password sono memorizzate nella HPA (Host Protected Area). Questa parte del disco contiene parte(o tutto, dipende dai produttori) del firmware del disco ed è protetta dall'accesso. Il sistema operativo non è in grado di vedere quest'area perchè il BIOS, che media l'accesso al disco, la protegge.

Ma il punto esatto dove reperire le password all'interno dell'HPA dipende dal produttore. La procedura che segue va a recuperare le informazioni necessarie per il già citato WD Scorpio e molto probabilmente per vari modelli Western Digital. Altri produttori scrivono le password in aree diverse e gli script usati contengono gli offset dei dischi WD.

Procediamo con l'operazione di sblocco...

Partiamo col preparare un floppy disk con MHDD 4.5. Cliccando due volte sull'eseguibile, che dovreste aver già scaricato(ehi, era nei requisiti!) verrà creato un floppy avviabile col software.
Viene usata la versione 4.5 perchè la 4.6 non ha l'ATA Terminal che consente di eseguire gli script.

Creato il floppy si sostituisce il fle Mhdd.zip con quello che SICURAMENTE avrete scaricato. Tale file contiene gli script e altri file necessari a leggere l'area protetta.

Si collega ora l'hard disk protetto DIRETTAMENTE ad una porta P-ATA/S-ATA della vostra scheda madre. Non è possibile usare adattatori USB, write blocker o altre interfacce. MHDD bypassa il BIOS e va a leggere e scrivere direttamente sul controller. Il software funziona anche se il disco non viene visto da BIOS!

Dalla documentazione di MHDD:

Just look at this. This is a typical diagram how generic DOS program talks to the drive.

PROGRAM<--->MSDOS<--->BIOS<--->IDE/SATA controller<--->Hard disk

And now how MHDD works:

MHDD<--->IDE/SATA controller<--->Hard disk
Si fa quindi partire il computer col floppy preparato. Se date un'occhiata all'autoexec noterete che viene creato un RAMDRIVE in cui c'è l'eseguibile MHDD e tutti i file di configurazione. E' una cosa da tenere a mente, perchè il dump verrà scritto sul Ramdrive ed andrà in seguito copiato sul device fisico A:
Non mi dilungo troppo nei comandi DOS. Sappiate comunque che il mouse con questo software è utile solo come fermacarte. BISOGNA USARE LA TASTIERA ed interagire con MS-DOS. Una guida al DOS esula dagli scopi di questo documento. Non mi chiedete come si copia un file. Vi tratterei malissimo.

Schermata d'avvio di MHDD(chiedo venia, ma gli screenshot in DOS non sapevo come altro farli)

Con il comando [SHIFT+F3] il software esegue la scansione del controller alla ricerca dei dischi

Il disco che ci interessa è il numero 12.

Il comando EID restituisce le informazioni estese sul disco

L'hard disk risulta bloccato da password ATA ed il livello di sicurezza è impostato su HIGH

eseguo lo script DUMP con il comando .dump(attenzione al punto!)

Non ho ben chiaro il significato dei valori esadecimali presenti alle righe REGS, sono comunque specifici per i dischi Western Digital e credo siano legati agli offset necessari a leggere la porzione di HPA in cui è conservata la password. Sicuramente troverete le informazioni sui registri scartabellando le 409 pagine del documento sulle specifiche ATA...

lo script genera due file: 21.bin e 22.bin.

con il comando EXIT usciamo dal programma. Il file ora è su C:\MHDD. Lo copiamo sul dischetto e lo importiamo in un editor esadecimale.

Il file 22.bin importato in UltraEdit:

Gli offset potrebbero essere diversi, ma la sequenza dei byte all'interno del file è simile.
All'offset 0x137 il valore 07 indica il livello di sicurezza ATA(in questo caso HIGH). Le password sono i due campi da 32 byte evidenziati. Inrosso è evidenziata la user password. In verde la master password.

Seleziono le due password e da UltraEdit File-->Salva selezione con nomemi salvo su chiavetta USB le due preziose password.

Finalmente potete tornare ad usare il mouse!!!
Nella postazione in cui abbiamo l'hard disk da sbloccare avviamo Hiren's BootCD in modalità Mini widnows XP(io ho usato la versione 13) ed inseriamo la chiavetta USB con i file delle password.

Montiamo la chiave USB con Mount Removable Devices presente sul desktop di Hiren's.
Se non la monta cliccheremo sull'icona subito sopra(Install all Hardware)

Dal menu di Hiren's lanciamo HBCD-->Hard Disk/Storage-->Victoria


Evidenziamo il disco che ci interessa e il software ci dice che è(ancora) bloccato.

La sezione Security manager non è però utilizzabile.
Victoria funziona in due modalità: API e PIO. I comandi ATA(come quelli di lock/unlock) devono essere inviati direttamente al controller, senza mediazione di BIOS o API. Passiamo quindi in PIO mode ed clicchiamo su PCI SCAN

Ed appaiono le porte PATA/SATA del computer.
A quale porta è collegato il nostro disco target?
Se clicchiamo su ognuna di quelle porte, in basso si accendono/spengono i registri PIO. Il nostro disco è sicuramente tra quelli che hanno il flag DRDY(Drive Ready) acceso.
Cliccando due volte sulle righe a sinistra appareil disco collegato a quella porta.
Nel mio caso il disco è collegato alla porta identificata dall'indirizzo0960.


Riappaiono le informazioni sul disco MA stavolta la sezione Security manager è attiva.

Finalmente ci siamo. Il disco sta per essere sbloccato...

clicchiamo su F, selezioniamo il file con la nostra user password(nel mio caso fw1), verifichiamo che i radio button siano impostati su User e High, clicchiamo su Unlock ed in basso il log del file ci segnalerà il buon esito dell'operazione!

Se ora torniamo in API mode il software continuerà a segnalare il disco come locked. A disco acceso la modalità API non aggiorna lo stato del disco. Basterà spegnere il computer ed al riavvio successivo il disco risulterà sbloccato.

Spero di essere stato d'aiuto a tutti gli smanettoni, curiosoni, periti forensi, ecc ecc

La mia soluzione non è la migliore, nè quella che mi sento di consigliare ai deboli di cuore. I programmi usati sono ESTREMAMENTEpericolosi se non usati con attenzione, potreste trovarvi con un disco vuoto o addirittura inutilizzabile. Mi raccomando.

Esistono altre soluzioni, come hardware dedicati o siti che effettuano l'operazione di sblocco da remoto. Google is your friend.

Alla prossima.
F.