Encontré los momentos en que se enchufaron los dispositivos USB con esto:
# 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
Luego verificó qué archivos se modificaron en ese rango de tiempo con esto:
# find / -executable -type f -newermt "2018-05-17 16:54:00" ! -newermt "2018-05-17 16:57:00" -ls
Estoy de acuerdo en que no es una gran solución, y es demasiado manual. Por lo que sé, no hay una forma elegante de ver en los registros si los archivos se movieron hacia o desde un dispositivo.
Un poco de explicación:
De forma predeterminada, CentOS7 mantiene los registros durante 4 semanas después de su ciclo, por lo que los registros deberían estar allí para filtrarlos en / 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
....
....
Y todo lo que tenga información de nivel o superior se registra en / var / log / messages según el archivo de configuración rsyslog, incluido la conexión / desconexión USB en un formato de poca utilidad.
$ 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
Conecté mi USB y copié el archivo malicioso.sh desde / tmp / y / 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
En los registros que busqué cuando se conectaron los dispositivos USB, y luego cuando se desconectaron. Utilicé -A para generar 20 líneas después de la línea correspondiente, para encontrar el lugar donde se montó el dispositivo, por lo que estaba seguro de que en realidad era el dispositivo que estaba siendo desmontado (/ dev / sdf en este caso). Los registros más antiguos se almacenan por defecto en / var / log con mensajes - $ {fecha en algún 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)
--
Entonces, porque la última línea muestra que se montó en sdf:
# cat /var/log/messages | grep "Unmounted" | grep sdf
---
May 17 16:56:36 trogdor journal: Unmounted /dev/sdf1 on behalf of uid 1000
Arranqué esto para el rango de tiempo de búsqueda . Los tiempos son recientes, pero lo mismo se aplica a los tiempos en el pasado más lejano. La salida debe ser tamizada, pero no es tan mala como podría ser, asumiendo que los archivos maliciosos se cargan rápidamente.
También verifiqué solo los archivos ejecutables.
# find / -executable -type f -newermt "2018-05-17 16:54:00" ! -newermt "2018-05-17 16:57:00" -ls