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