从 Daniel Azuelos 提供的这个出色的剧本开始
cd /Volumes/suspicious_USB
/usr/bin/sudo find . -atime -21 -exec ls -dluT {} \;
如何修改它以查找 USB 闪存是否在任意计算机上、特定日期插入?比如说,5 月 3 日?有什么方法可以检测文件是否被打开或复制?
Linux 和 Mac 终端脚本将不胜感激!
答案1
关于您的第一个问题“查找是否插入了 USB 闪存”,内核将报告 USB 存储设备的插入。
下面的示例,假设您的 Linux 发行版正在使用systemd
(其他发行版可能会写入/var/log/messages
或类似的文件)。
# 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
#
答案2
是的;有些指标可能存在。
不;没有办法阻止精明的用户逃避检测。
储存
- 最乐观的选项是
find . | xargs stat | grep 2018-05-03
or 对于时间和文件列表find . | xargs stat -c "%x %n" | sort -r | head
- USB 闪存或 SD 卡可能使用 fat32 来实现兼容性,据我所知(但易于检查
md5sum *.img
)不会记录安装计数或文件访问时间,即使使用更高级的文件系统,也可以在块级别复制数据 (cat /dev/sdb > backup_$(date --iso-8601).img
) 。 - USB 闪存或 SD 卡通常没有 HDD/SSD/EMMC/NVMe 的硬件管理,这些硬件管理通常会记录使用情况(可见
smartctl -a /dev/sdb
),甚至可以通过暂时交换控制板来绕过这些。 - 要获得具有正确实施的日志记录、加密和 TPM 的便携式存储设备,需要拆开一个芯片,并且可能需要一台价值 6 万美元的电子显微镜才能在不被发现的情况下进行读取(用新芯片更换芯片)。
电脑
- 最乐观的选择是
dmesg -T | grep "New USB device found" | grep "May 03"
但是dmesg -c
等可以清除这一点。 - 如果你有 root 而他们没有,你可以使用日志传送来跟踪,但他们可以从 USB Live 发行版启动来避免这种情况。
样本输出;
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