Come scoprire se una USB è stata collegata ad una certa data? (Linux / Mac)

1

A partire da questo fantastico script offerto da Daniel Azuelos

cd /Volumes/suspicious_USB
/usr/bin/sudo find . -atime -21 -exec ls -dluT {} \;

Come è possibile modificarlo per scoprire se un flash USB è stato collegato, su un qualsiasi computer a caso, in una certa data? Per esempio, il 3 maggio? Un modo per rilevare se un file è stato aperto o copiato?

Sia gli script per terminale Linux che Mac sarebbero apprezzati!

    
posta Doc Brown 17.05.2018 - 21:58
fonte

2 risposte

2

Ho trovato le volte in cui gli USB sono stati collegati con questo:

# cat /var/log/messages | grep -A 20 "usb 1-1: new high-speed USB device"
May 17 16:54:28 trogdor kernel: usb 1-1: new high-speed USB device number 8 using xhci_hcd

# cat /var/log/messages | grep "Unmounted" | grep sdf
May 17 16:56:36 trogdor journal: Unmounted /dev/sdf1 on behalf of uid 1000

Quindi verifica quali file sono stati modificati nell'intervallo di tempo con questo:

# find / -executable -type f -newermt "2018-05-17 16:54:00" ! -newermt "2018-05-17 16:57:00" -ls

Sono d'accordo che non è una grande soluzione, e troppo manuale. Per quanto ne so, non c'è un modo elegante per vedere nei log se i file sono stati spostati su o da un dispositivo.

Bit di spiegazione: Per impostazione predefinita CentOS7 conserva i registri per 4 settimane dopo il loro ciclo, quindi i registri dovrebbero essere lì per selezionare in / var / log / messages - $ {date_in_some_format}.

$ cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4
....
....

E qualsiasi informazione di livello o superiore viene registrata in / var / log / messages in base al file di configurazione rsyslog, incluso l'attach / scollegamento USB in un formato a malapena utile.

$ cat /etc/rsyslog.conf 
# rsyslog configuration file
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

Ho collegato la mia USB e ho copiato malicious.sh da esso in / tmp / e / home / trogdor /

-rwxr-xr-x.  1 trogdor trogdor   44 May 17 16:55  /tmp/malicious.sh
-rwxr-xr-x.  1 trogdor trogdor   44 May 17 16:56  /home/trogdormalicious.sh

Nei log che ho cercato quando sono stati collegati gli USB e quindi quando sono stati scollegati. Ho usato -A per produrre 20 righe dopo la linea corrispondente, per trovare dove era montato il dispositivo, quindi ero sicuro che questo fosse effettivamente il dispositivo che era stato smontato (/ dev / sdf in questo caso). I log precedenti sono memorizzati in / var / log con i messaggi - $ {date in un formato}

# cat /var/log/messages | grep -A 20 "usb 1-1: new high-speed USB device"
--
May 17 16:54:28 trogdor kernel: usb 1-1: new high-speed USB device number 8 using xhci_hcd
---
May 17 16:54:29 trogdor kernel: sd 11:0:0:0: [sdf] 31258624 512-byte logical blocks: (16.0 GB/14.9 GiB)
--

Quindi perché l'ultima riga mostra che è stato montato su sdf:

# cat /var/log/messages | grep "Unmounted" | grep sdf
---

May 17 16:56:36 trogdor journal: Unmounted /dev/sdf1 on behalf of uid 1000

L'ho estratto per il intervallo di tempo di ricerca . I tempi sono recenti, ma lo stesso vale per i tempi nel passato più remoto. L'output deve essere setacciato, ma non è così male come potrebbe essere, supponendo che i file dannosi vengano caricati rapidamente. Ho anche controllato solo i file eseguibili.

# find / -executable -type f -newermt "2018-05-17 16:54:00" ! -newermt "2018-05-17 16:57:00" -ls
    
risposta data 18.05.2018 - 02:55
fonte
0

Non è possibile.

Se hai accesso al computer, puoi controllare i suoi log per qualsiasi attività correlata alla chiavetta USB in questione. Ad esempio, collegare un dispositivo USB su Linux creerà una traccia di log. Se è persistentemente loggato, o solo nel kernel ring buffer ( dmesg ) dipende dalla configurazione.

Con una chiavetta USB standard, non puoi realmente sapere se è stata acceduta. Se ne crei un'immagine disco o la monti in modalità di sola lettura, non verrà scritto nulla. Se scrivi qualcosa su di esso, puoi impostare l'orario di accesso (che controlli con find -atime ) su tutto ciò che desideri, comprese le date future e precedenti a tuo piacimento.

    
risposta data 18.05.2018 - 00:28
fonte

Leggi altre domande sui tag