paint-brush
如何制作恶意 USB 设备并获得一些无害的乐趣经过@fatman
38,052 讀數
38,052 讀數

如何制作恶意 USB 设备并获得一些无害的乐趣

经过 Scott Eggimann6m2022/10/14
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

使用旧的 USB 驱动器,您可以构建自己的恶意 BadUSB,使用 Windows 快捷方式文件链接到恶意软件。 LNK 文件快捷方式可让您快速轻松地访问可执行文件,而无需导航程序的完整路径。在这种情况下,恶意软件。可执行文件位于隐藏目录中。用户单击一个文件夹,该文件夹链接到 .可执行文件,启动恶意软件。

Company Mentioned

Mention Thumbnail
featured image - 如何制作恶意 USB 设备并获得一些无害的乐趣
Scott Eggimann HackerNoon profile picture
0-item



并非所有恶意 USB 设备都需要昂贵的硬件和复杂的编程才能对您的计算机造成损害。使用旧的 USB 驱动器,您可以使用 Windows 快捷方式文件链接到有效负载来构建自己的恶意 BadUSB。


根据 McAfee 博客文章LNK(快捷方式)恶意软件的兴起,“在 2022 年第二季度,McAfee Labs 发现使用 LNK 文件交付的恶意软件有所增加。攻击者正在利用 LNK 的易用性,并使用它来传播 Emotet、Qakbot、IcedID、Bazarloaders 等恶意软件。”


我们将研究 LNK 文件如何在看似无辜的 USB 驱动器上传递恶意软件。通过在 Windows 快捷方式文件(LNK 文件)中利用难以检测的恶意软件,伪装的链接会操纵用户点击看似无害的文件并启动恶意软件。 LNK 文件快捷方式可让您快速轻松地访问可执行文件,而无需导航程序的完整路径。在这种情况下,恶意软件可执行文件位于隐藏目录中。用户单击链接到可执行文件的文件夹,启动恶意软件。


此漏洞的可执行文件是 Netcat 或简称nc


Netcat 不是恶意软件,但 Windows Defender 将其标记为恶意软件,因此出于本演练的目的,我们将其称为恶意软件。


Netcat 由网络管理员使用并具有多种用途,它是一种常用工具,除其他功能外,它还允许远程计算机连接到另一台计算机。使用Netcat建立一个反向shell,攻击机拥有shell访问权限和对受害者计算机的完全控制权。


在本节的最后,我们将讨论保护自己免受 LNK 快捷方式 USB 攻击的方法。

如何开始

将 USB 驱动器插入计算机。您可以使用任何 Windows 格式的 USB 驱动器。在这个例子中,我们的有效载荷大小只有 45K,所以任何驱动器都可以工作。


右键单击并创建一个新文件夹。您可以随意命名此文件夹,但对于本示例,我们将使用恰当命名的有效负载目录。我们最终将隐藏此目录 - 稍后将详细介绍如何执行此操作。



打开刚刚创建的文件夹。这是我们要安装恶意软件的地方。从 GitHub 下载 nc64.exe 可执行文件并将nc64.exe文件复制到此文件夹


配置“BadUSB”驱动器

将有效负载复制到您的驱动器后,您需要从创建批处理文件开始在 USB 驱动器上进行一些文件系统更改。


创建批处理文件

批处理文件是您发出要让计算机执行的 Windows 命令的位置。使用 Windows 记事本创建文本文件。该文件包含一个开始攻击的命令。


将此示例中的 IP 地址和端口替换为运行 Netcat 的攻击主机。 -e参数允许我们指定我们想要使用什么 shell 来建立连接。在 Windows 系统上,我们可以使用cmd.exepowershell.exe 。稍后,我们将配置我们的 Linux 服务器,该服务器将接受来自受害者计算机的连接。


使用.cmd扩展名保存文件,并检查“保存类型:”是否设置为“所有文件”。确保批处理文件和可执行文件位于同一目录中。



有效负载目录应包含两个文件:可执行文件和批处理文件。


创建快捷方式

这次攻击成功的部分原因在于我们可以创建一个 Windows 快捷方式并链接到隐藏目录中的恶意软件。为了让用户点击我们的恶意软件,我们需要诱使他们这样做。希望大多数用户知道不要在他们的计算机上运行随机应用程序。但是用户会尝试打开一个具有有趣名称的文件夹。


通过右键单击 USB 驱动器的根目录并选择快捷方式来创建快捷方式。



选择您在上一步中创建的批处理文件。在我们的示例中,来自有效负载目录的run_exploit.cmd文件,然后单击下一步继续。



将快捷方式命名为有趣的名称,使用户能够单击它并单击完成。



我们新创建的链接看起来不正确,即使是好奇的用户也应该对点击图标犹豫不决。幸运的是,Windows 提供了一项功能,因此我们可以更改文件和链接的默认图标。


右键单击链接并选择属性。



单击更改图标按钮。




将图标更改为文件夹。

单击确定关闭更改图标窗口。

单击确定关闭应用更改并关闭文件属性窗口。



现在我们的快捷方式不再像链接了。左下角仍然有传统的链接箭头,但这应该可以通过好奇的用户的随意检查。

隐藏恶意软件文件夹


我们就快到了。在有效负载文件夹可见的情况下,驱动器仍然看起来不正确。我们将通过隐藏驱动器来解决这个问题。右键单击有效负载文件夹并选择属性。


选择隐藏复选框并单击确定以应用更改并关闭窗口




启用“将更改应用到此文件夹、子文件夹、文件”,然后单击“确定”。



Simple Malicious USB驱动器已武装并准备好部署。当用户将 USB 驱动器插入他们的计算机时,这就是他们所看到的。



该快捷方式看起来像一个普通的 Windows 文件夹,看起来无害。好奇或粗心的用户在尝试打开文件夹时会启动恶意负载。但是在部署 Simple Malicious BadUSB 之前,我们需要设置我们的命令和控制服务器。


命令和控制服务器设置

我们的命令和控制 (C&C) 服务器由攻击者控制,用于发送和接收来自受恶意软件攻击的计算机的命令。我们用于此漏洞利用的服务器是一台运行最新软件并安装了netcat的 Ubuntu 机器。


此示例使用-n (不使用 DNS)、 -l (仅侦听传入连接)、- v (详细)和-p (端口号)。使用nc -nlvp 4444命令启动侦听器。服务器耐心等待端口 4444 上的传入连接。



当用户插入 USB 并单击快捷方式时,批处理文件会使用我们之前提供的 IP 地址和端口号执行nc64.exe命令。连接快速有效。


此时,机器已被攻破,攻击者拥有对受害者计算机的完整 shell 访问权限。黑客可以像直接坐在终端上一样发出命令。


防御此漏洞

有几件事需要做对才能让这个漏洞发挥作用。


  • 你需要把它放在有人会捡起它的地方
  • 受害者需要忽略所有计算机卫生并将其安装到他们的计算机中
  • 受害者需要运行 Windows
  • 受害者的计算机不得运行应用了所有更新和补丁的当前 Windows。
  • 受害者必须足够好奇才能点击链接,该链接会执行有效载荷目录中的隐藏恶意软件



如果所有这些情况都对攻击者有效,那么这将是一次成功的勒索软件攻击。在这些类型的攻击中,数字对攻击者有利。如果 100 个 BadUSB 设备被丢弃在某个位置,那么它们只需一个人单击链接即可成为受害者。


启用 Microsoft 病毒和威胁防护

Microsoft端点检测 (EDR) 在保护用户免于运行恶意代码方面做得非常好。内置于所有当前支持的 Windows 版本中,病毒和威胁防护会监视异常行为。


如果我们启用了病毒和威胁防护设置,用户将在插入 BadUSB 时看到此消息。


Microsoft EDR 将隔离该文件,并且该文件将不再位于驱动器上,攻击将失败。结果,恶意软件被删除,无法再执行。


对于潜在受害者来说,好消息是大多数人都知道不要将随机 USB 设备插入他们的计算机,但如果他们这样做了,Microsoft 端点安全软件将阻止恶意软件运行。