Como descobrir se um USB foi conectado em uma determinada data? (Linux / Mac)

2

A partir deste ótimo roteiro oferecido por Daniel Azuelos

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

Como é possível modificá-lo para descobrir se um flash USB foi conectado em algum computador aleatório em uma determinada data? Digamos, por exemplo, no dia 3 de maio? Qualquer maneira de detectar se um arquivo foi aberto ou copiado?

Ambos os scripts de terminal Linux e Mac serão apreciados!

    
por Doc Brown 19.05.2018 / 12:31

2 respostas

1

Em relação à sua primeira pergunta "descobrir se um flash USB foi conectado", o kernel relatará a inserção de dispositivos de armazenamento USB.

Exemplo abaixo, que assume que sua distro Linux está usando systemd (outras distros podem gravar em /var/log/messages ou arquivo similar).

# journalctl --since '2018-05-19' --until '2018-05-20' | grep 'kernel: usb'
May 19 12:22:15 localhost.localdomain kernel: usb 1-1.1.1: USB disconnect, device number 7
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: new high-speed USB device number 8 using ehci-pci
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: New USB device found, idVendor=13fe, idProduct=1f00
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: Product: Patriot Memory
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: Manufacturer:         
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: SerialNumber: 07870CA23F48
May 19 12:22:19 localhost.localdomain kernel: usb-storage 1-1.1.1:1.0: USB Mass Storage device detected
#
    
por 19.05.2018 / 13:26
0

Sim; existem alguns indicadores que podem existir.

Não; não há como evitar um formulário de usuário experiente, evitando a detecção.

O storrage

  • A opção mais otimista é find . | xargs stat | grep 2018-05-03 ou para uma lista de horários e arquivos find . | xargs stat -c "%x %n" | sort -r | head
  • É provável que flash USB ou sdcards usem o fat32 para fins de compatibilidade, pois o AFAIK (mas fácil de verificar com md5sum *.img ) não registra a contagem de montagem ou o tempo de acesso ao arquivo e, mesmo que um sistema de arquivos mais avançado seja usado, os dados podem ser copiados no nível do bloco ( cat /dev/sdb > backup_$(date --iso-8601).img ).
  • USB flash ou sdcards normalmente não têm nenhum gerenciamento de hardware de HDD / SSD / EMMC / NVMe que normalmente registraria uso (visível com smartctl -a /dev/sdb ) e mesmo esses podem ser ignorados temporariamente trocando as placas controladoras.
  • Colocar armazenamento portátil com o log, a criptografia e o TPM implementados corretamente exigiria a desmontagem de um chip e, possivelmente, de um microscópio eletrônico de US $ 60 mil para leitura não detectada (substituindo o chip por um novo).

O computador

  • A opção mais otimista é dmesg -T | grep "New USB device found" | grep "May 03" , mas dmesg -c etc pode esclarecer isso.
  • Se você tivesse root e eles não pudessem usar o envio de logs para acompanhar, mas eles poderiam apenas inicializar a partir de um distrobution ao vivo do usb para evitar isso.

Exemplo de saída;

2018-05-19 04:57:13.723849533 -0400 ./yum.sh
2018-05-18 17:00:01.271971441 -0400 ./food.sh

.

[Mon May 14 19:44:19 2018] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[Mon May 14 19:44:19 2018] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
    
por 19.05.2018 / 13:12