如何安全浏览不受信任的 USB 闪存驱动器?

Int*_*Pig 6 security usb-flash-drive

假设我有一个 USB 闪存驱动器,我发现它躺在地上。我想看看它是否有任何信息可以帮助我将它归还给它的主人,但我生活在城市社会。它很容易包含恶意软件并躺在地上等待下一个受害者。

如何安全浏览此 U 盘的内容?

Blu*_*303 9

打开它有很多选择,但出于安全考虑,它会花费更多时间:

  1. 通过 Linux 的一些 live CD 版本打开它。如果 USB 闪存驱动器被感染,它只会感染 Live CD 上的操作系统。
  2. 在虚拟机中启动操作系统并测试 USB 闪存驱动器[注意:您可以将客户操作系统设置为先检测 USB,这将禁用主机 USB 检测]。
  3. 如果您使用的是 Windows 计算机:autorun.inf在本地计算机上禁用。
  4. 如果您使用的是 mac,请将 USB 安装为只读
  5. 您可以按照以下步骤在 mac 中禁用自动运行:

您需要使用launchctl命令删除自动启动作业。

例如,在我的情况下,我已经安装了中兴通讯制造的调制解调器。因此,我使用该launchctl list命令搜索了 LAUNCHD 列表,并搜索了这些调制解调器字符串。

launchctl list | grep -i zte
Run Code Online (Sandbox Code Playgroud)

显示:

5681    -   cn.com.zte.usbswapper.plist
Run Code Online (Sandbox Code Playgroud)

如果您没有找到您的应用程序,则将所有作业输出到一个文件中。这个 awk 命令试图克服您的 launchd 作业名称中可能有空格的可能性。

launchctl list 2>/dev/null | awk '
{ x="\""substr($0, match($0, $3), 100)"\""; print x; system("launchctl list " x) }
' > launchList.txt
Run Code Online (Sandbox Code Playgroud)

打开launchList.txt。launchd 作业的名称将显示在 {} 块上方的“...”中,您希望在其中找到“Mobile Partner”或“AutoOpen”字符串。

也许在移除之前检查该项目以提高信心。如果作业名称中有空格,则用“”括起来。

launchctl list "cn.com.zte.usbswapper.plist"
Run Code Online (Sandbox Code Playgroud)

然后只需将其删除。这是停止自动加载的命令。请确保您正在删除正确的代理或守护程序。

launchctl remove "cn.com.zte.usbswapper.plist"
Run Code Online (Sandbox Code Playgroud)

如果需要,请使用 PLIST 文件的完整路径再次添加它。

launchctl load /Library/LaunchAgents/cn.com.zte.usbswapper.plist
Run Code Online (Sandbox Code Playgroud)

定期扫描计算机和所有 USB 闪存驱动器。

BADUSB 的注意事项

当您将 USB 设备插入计算机时,该设备会告诉计算机它是什么类型的东西,以便计算机可以选择合适的驱动程序。例如,拇指驱动器将自己声明为“USB 大容量存储”设备,而键盘则是“人机接口设备”。

BadUSB 是一种从计算机重写插入的 USB 设备固件的技术。例如,它可以让拇指驱动器将自己识别为鼠标,并导致指针随机跳动。或者它可以使拇指驱动器识别为一个 USB 集线器,连接键盘和大容量存储,插入时键入一系列按键,导致拇指驱动器上的程序运行。

如果您使用的是 linux 并希望防止 badusb :

BadUSB 攻击基于计算机允许并启用所有 USB 端口上的 HID 设备这一事实。伪造的网络适配器没有真正的危险。我的回答尝试描述如何使用 udev 暂时禁用添加新的 HID 设备

为了准备,创建一个/etc/udev/rules.d/10-usbblock.rules包含以下内容的文件:

#ACTION=="add", ATTR{bInterfaceClass}=="03" RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/../authorized'"
Run Code Online (Sandbox Code Playgroud)

如果你也想屏蔽其他班级,就查班级号,复制那行,换班级。

现在您可以使用以下命令阻止所有新的 HID 设备

sed -i 's/#//' /etc/udev/rules.d/10-usbblock.rules; udevadm control --reload-rules
Run Code Online (Sandbox Code Playgroud)

取消阻止

sed -i 's/^/#/' /etc/udev/rules.d/10-usbblock.rules; udevadm control --reload-rules
Run Code Online (Sandbox Code Playgroud)

在您关闭之前,始终 unblock,因为设置是持久的,并且您的“好” HID 设备将在重新启动时被拒绝。

我不知道您是否可以编辑临时规则目录,但是如果那里的更改影响了行为,您应该编辑它,因为这样您就不需要在关闭前取消阻止。

BADUSB 积分来源:安全DMZ