
Estrattore di file a basso livello da riga di comando per NTFS
Introduzione Questa è un'applicazione console che copia file da volumi NTFS utilizzando un metodo di lettura del disco a basso livello.
Sintassi RawCopy /ImageFile:FullPath\ImageFilename /ImageVolume:[1,2...n] /FileNamePath:FullPath\Filename /OutputPath:FullPath /AllAttr:[0|1] /RawDirMode:[0|1|2] /WriteFSInfo:[0|1] /TcpSend:[0|1]
Spiegazione dei parametri /ImageFile: Il percorso completo e nome file di un'immagine disco da cui estrarre. Se viene utilizzato questo parametro, è necessario impostare /ImageVolume:. Opzionale. /ImageVolume: Il numero del volume da cui estrarre. Se il volume non è NTFS, non verrà estratto nulla. Usato solo con /ImageFile:. /FileNamePath: Il percorso completo e nome file del file da estrarre. Può anche essere nella forma Volume:MftRef. Obbligatorio. /OutputPath: Il percorso di destinazione in cui estrarre il file. Opzionale. Se omesso, il percorso predefinito è la directory del programma. /OutputName: Il nome del file di output. Opzionale. Se omesso, il nome sarà quello del file originale. Usato solo per sovrascrivere il nome originale. /AllAttr: Flag booleano per attivare l'estrazione di tutti gli attributi. Opzionale. Predefinito a 0. /RawDirMode: Modalità di elenco directory opzionale. 0 = nessuna stampa. 1 = stampa dettagliata. 2 = stampa base. Se omesso, predefinito a 0. Può essere usato insieme ad altri parametri, tuttavia per farlo non è possibile definire FileNamePath con un MftRef. /WriteFSInfo: Flag booleano opzionale per scrivere un file con alcune informazioni sul volume in VolInfo.txt nella directory di output definita. /TcpSend Flag booleano opzionale per indicare che l'output deve essere inviato in rete. Se impostato, il valore di /OutputPath: deve essere IP:PORT o DOMAIN:PORT.
Questo strumento ti permette di copiare file che di solito non sono accessibili perché il sistema li ha bloccati. Ad esempio, i file del registro come SYSTEM e SAM, oppure file all'interno di "System Volume Information", pagefile.sys, o qualsiasi file sul filesystem.
Supporta file di input specificati tramite percorso completo o tramite numero di record $MFT (numero indice).
Allora, come si ottiene il numero di indice di un file che non è tra i file di sistema noti? Dalla versione 1.0.0.13 la funzionalità di RawDir è stata integrata in RawCopy. In questo modo è possibile effettuare una ricerca in directory come "System Volume Information" (RawCopy.exe /FileNamePath:"c:\System Volume Information" /RawDirMode:2).
Per i file immagine, la lettera del volume nel parametro /FileNamePath: viene ignorata.
Quando si specificano percorsi di dispositivo in /FileNamePath, è possibile accedere a dispositivi collegati che non hanno volumi montati. Esempi: HarddiskVolume1, Harddisk0Partition2, HarddiskVolumeShadowCopy1, PhysicalDrive1.
Per estrarre file da una copia shadow all'interno di un file immagine, è necessario montare preventivamente l'immagine in modo che Windows presenti un collegamento simbolico alla copia shadow, come \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy60. Si consiglia di montare l'immagine con uno strumento come Arsenal Image Mounter (gratuito).
Il parametro /WriteFSInfo: può essere utile quando si scrivono script, poiché SectorsPerCluster e MFTRecordSize vengono utilizzati con LogFileParser e Mft2Csv.
Quando si utilizza /TcpSend:1 per inviare l'output in rete, è necessario che qualcosa sia in ascolto sulla destinazione, ad esempio netcat. Per ora, i dati vengono inviati così come sono, non crittografati.
Questa versione è incompatibile con Windows 2000 / NTFS 3.0. Ho preparato una build speciale dalla v1.0.0.19 che può essere utilizzata lì; https://github.com/jschicht/RawCopy/releases/download/1.0.0.19/RawCopy_v1.0.0.19_.Win2000.zip Le versioni precedenti non sono state testate.
Esempi di utilizzo
Esempio per copiare il file di ibernazione da un sistema in esecuzione e salvarlo in E:\output\hiberfil_c.sys RawCopy.exe /FileNamePath:C:\hiberfil.sys /OutputPath:E:\output /OutputName:hiberfil_c.sys
Esempio per copiare il file SYSTEM del registro da un sistema in esecuzione RawCopy.exe /FileNamePath:C:\WINDOWS\system32\config\SYSTEM /OutputPath:E:\output
Esempio per estrarre $MFT specificando il suo numero di indice, nella directory del programma e sovrascrivendo il nome file di output predefinito in MFT_C.bin. RawCopy.exe /FileNamePath:C:0 /OutputName:MFT_C.bin
Esempio per estrarre il numero di riferimento MFT 30224 e tutti gli attributi inclusi $DATA, e salvarlo in C:\tmp: RawCopy.exe /FileNamePath:C:30224 /OutputPath:C:\tmp /AllAttr:1
Esempio per accedere a un'immagine disco ed estrarre MftRef ($LogFile) dal volume numero 2. RawCopy.exe /ImageFile:e:\temp\diskimage.dd /ImageVolume:2 /FileNamePath:c:2 /OutputPath:e:\out
Esempio per accedere a un'immagine di partizione/volume ed estrarre file.ext e salvarlo in E:\out. RawCopy.exe /ImageFile:e:\temp\partimage.dd /ImageVolume:1 /FileNamePath:c:\file.ext /OutputPath:e:\out
Esempio per creare un elenco raw della directory in modalità dettagliata in c:$Extend: RawCopy.exe /FileNamePath:c:$Extend /RawDirMode:1
Esempio per creare un elenco raw della directory in modalità base in c:\System Volume Information all'interno di un file immagine disco: RawCopy.exe /ImageFile:e:\temp\diskimage.dd /ImageVolume:1 /FileNamePath:"c:\System Volume Information" /RawDirMode:2
Esempio per creare un elenco raw della directory in modalità dettagliata a livello root all'interno di una copia shadow: RawCopy.exe /FileNamePath:\.\HarddiskVolumeShadowCopy1❌\ /RawDirMode:1
Esempio per estrarre $MFT dalla partizione 2 sul disco rigido 1 e salvarlo in e:\out: RawCopy.exe /FileNamePath:\.\Harddisk0Partition2:0 /OutputPath:e:\out
Esempio per estrarre $MFT dal secondo volume su PhysicalDrive0 e salvarlo come E:\out\MFT_Pd0Vol2.bin: RawCopy.exe /FileNamePath:\.\PhysicalDrive0:0 /ImageVolume:2 /OutputPath:e:\out /OutputName:MFT_Pd0Vol2.bin
Esempio per estrarre $LogFile dal volume di sistema e inviarlo in rete: RawCopy.exe /FileNamePath:c:$LogFile /TcpSend:1 /OutputPath:10.10.10.10:6666 RawCopy.exe /FileNamePath:c:$LogFile /TcpSend:1 /OutputPath:www.mypublicdomain.com:6666