Contesto
Sto indagando su una scatola Linux compromessa in cui ho trovato file con codice dannoso. Il file system è troppo grande per fare solo una copia dell'intero dispositivo a blocchi e finora mi interessano solo i file di una sottodirectory non così grande.
Mentre il timestamp dell'ultima modifica (chiamato anche "mtime") di un file di esempio è più vecchio, il cosiddetto ctime (inode change time) è piuttosto nuovo. Quindi voglio anche catturare il ctime in quanto potrebbe essere rilevante.
JFTR: So che nessuno dei due timestamp deve mostrare il tempo in cui il file è stato creato perché un comando chmod
o chown
cambierà anche il ctime e la data dell'ultima modifica potrebbe essere impostata dallo strumento di download utilizzato per scaricare il file, ad es wget
, perché, contrariamente a ctime, Linux consente di impostare il tempo mtime di un file su tempi arbitrari.
Domanda
Come faccio a catturare correttamente il ctime quando si creano copie forensi di tali file?
Non sono a conoscenza di alcun formato di archivio (ad es. tar, zip, rar) che cattura il ctime (potenzialmente specifico del file system) in aggiunta a mtime.
Finora sono arrivato con questi stratagemmi:
- Esegui
ls -l --time=ctime $file
per ogni file catturato e salva l'out in un file di testo insieme ai file. (Fatto questo per ora.) - Salva i file su un supporto che contiene anche un file system che memorizza i tempi, ad es. una chiavetta USB formattata ext4 e imposta l'ora di sistema sul ctime del file da copiare immediatamente prima della copia in modo che il ctime della copia sia entro secondi dal ctime originale. (Dovrebbe teoricamente funzionare, ma probabilmente ha altri effetti collaterali sul sistema operativo, mai effettivamente provato.)
Entrambi i workaround sono altamente insoddisfacenti e mi chiedo se ci siano metodi migliori per catturare il ctime quando si creano copie forensi di file (con Linux e preferibilmente con software open source), ad es. uno strumento che può modificare il ctime di un file o un formato di archivio che può memorizzare più di un timestamp per file, ecc.