BadUSB 攻击是指 USB 设备存在内置固件漏洞,该漏洞允许自身伪装成人机接口设备。一旦连接到其目标计算机,BadUSB 就可以谨慎地执行有害命令或注入恶意负载。

一种常见的BadUSB攻击类型是橡皮鸭。它可以通过使用使用隐藏漏洞创建的闪存驱动器来执行,该驱动器允许它模仿键盘。该设备可以预先编程,然后将大量击键注入毫无戒心的用户的计算机。

在组织内部,诸如USB阻止软件之类的预防措施是必要的,因为BadUSB攻击如果未被发现或停止,可能会导致未经授权执行命令,从而引发安全绕过事件,权限升级,DDoS攻击或主机的恶意软件感染,然后可能会传播到整个网络。

什么是BadUSB

BadUSB 是带有嵌入式固件的闪存驱动器,可用于重新编程设备并允许它充当人机界面小工具,例如键盘、鼠标或耳机。它们用于通过有效地伪装成人机接口设备 (HID) 在计算机上执行各种操作。换句话说,BadUSB是虚拟键盘,可以预先编程以在计算机上键入字符,而无需物理操作。一旦插入,他们就可以直接开始工作,甚至执行需要同时使用两个或多个键的复杂击键。

谁会使用BadUSB

BadUSB能够在瞬间键入数千个字符并快速运行提示,这就是为什么渗透测试人员经常使用这些设备来控制目标计算机而无需手动键入冗长的脚本的原因。

甚至系统管理员在设置新计算机时也经常求助于 BadUSB 设备。当可以让 BadUSB 为他们做提示时,为什么要花费数小时来浏览提示?除了BadUSB的合法使用之外,当落入坏人之手时,它被武器化的可能性仍然是当今网络社区中一个备受争议的话题。

网络犯罪分子经常使用 BadUSB 作为外部工具来注入恶意脚本,这些脚本旨在寻求管理权限、窃取密码或将恶意软件下载到计算机。

BadUSB 设备简史

BadUSB源于2006年发现的一个漏洞,该漏洞允许计算机在插入CDROM时自动运行存储在CDROM中的程序。此漏洞为早期版本的 BadUSB 之一(称为 USB Switchblade)铺平了道路。Switchblade在计算机中可能看起来像是CDROM,这意味着存储在设备中的任何程序都会自动运行并执行有效载荷。

如今,BadUSB设备配备了更高级的功能,例如SD卡插槽,更好的连接以支持远程访问,车载计算机和更好的外形,使它们看起来像普通的USB记忆棒。多年来,这些设备一直是许多会议和研讨会的主题。其中一个场合是2014年举行的黑帽会议,研究人员Karsten Nohl和Jakob Lell详细展示了BadUSB的安全性。

BadUSB是如何工作的

BadUSB 设备的工作原理是,计算机本质上信任键盘作为有效的输入源。默认情况下,计算机不信任下载的可执行文件;相反,他们运行扫描以验证其来源和意图。如果可执行文件来自未知开发人员或显示恶意,则计算机可能会阻止其运行。

但是,如果标准用户打开命令提示符并键入命令,他们的计算机将盲目地遵循它而不判断意图。这意味着通过模拟键盘,BadUSB设备可以轻松执行一系列功能,模仿系统上的实际用户交互。

任何带有允许覆盖的微控制器的USB设备都可以轻松变成BadUSB。BadUSB 设备使用脚本语言,告诉它们插入目标系统后该怎么做。虽然这些设备中的大多数使用相当简单的脚本,但一些BadUSB甚至与更复杂的程序(如JavaScript)兼容。

BadUSB有哪些类型

市场上BadUSB的不同类型:

  • USB Rubber Ducky
  • MalDuino
  • WiFi-enabled BadUsb
  • BadUsb Cables

USB Rubber Ducky

不断升级USB记忆棒的设计,而没有指定内部构建的确切更改,这使得找到兼容的设备变得越来越困难。USB Rubber Ducky 专门用于充当 BadUSB。

该黑客工具由Hak5于2011年推出,Hak5是一家专门提供渗透测试人员工具包的独立供应商。尽管市场上有该设备的多次迭代,但该设备仍然是当今最流行的BadUSB。

该USB设备使用一种称为Ducky Script的特殊脚本语言,无需编程经验即可轻松编写。Ducky Script使用简单的字符串命令来告诉“duck”要键入什么。Ducky Script的简单示例可以在下面找到。

MalDuino

MalDuino是一个基于Arduino的开源BadUSB,它将恶意负载注入目标计算机。最近引起了广泛的关注,MalDuino凭借其板载计算机与常规BadUSB设备相比具有更多功能。

现在常见的MalDuino设备支持Micro SD卡,并且还具有一组拨码开关,以帮助其用户在Micro SD卡内的存储程序之间切换。

WiFi-enabled BadUsb

这种类型的BadUSB类似于MalDuino,因为Arduino板用作设备的基础,但专门设计为具有WiFi功能。一旦插入目标系统,这些设备就允许攻击者使用 WiFi 协议将恶意负载引入受害者的计算机。

支持WiFi的BadUSB可以采取不同的形式,具体取决于它们所服务的确切目的和功能。今天使用的该设备的常见迭代如下:

  • WiFi-enabled keystroke injectors
  • WiFi keyloggers
  • WiFi deauthers

WiFi-enabled keystroke injectors

这些是当今最常见的WiFi BadUSB类型。当插入目标计算机时,这些设备将保持休眠状态,直到攻击者通过智能手机或邻近系统进行进一步联系。连接到此 BadUSB 就像连接到 WiFi 接入点一样简单。

连接后,攻击者可以使用合适的脚本语言引入击键注入。这些设备通常带有自己的应用程序,允许黑客从远程位置执行脚本。

WiFi keyloggers

WiFi键盘记录器是专门针对台式计算机的现代黑客硬件。它们充当键盘的USB终端和计算机本身之间的桥梁。此 BadUSB 拦截来自键盘的输入信号并将其中继到黑客的计算机。

WiFi键盘记录器可以捕获用户键入的任何内容,包括敏感信息和密码,而不会引起任何怀疑。对于台式计算机,这些设备可以完全隐藏在明显的视线之外,并且在使用时不会影响键盘的性能。

WiFi deauthers

WiFi deauthers是一种恶意设备,利用WiFi协议中存在的缺陷,迫使WiFi网络的所有用户自动断开连接。随后,只要该设备处于活动状态,WiFi deauthers就会阻止用户重新连接到网络。

WiFi Deauthers与其他形式的BadUSB不同,因为它们不会影响它们直接连接的系统,而是将它们用作电源来干扰网络连接并建立停机时间。

BadUsb Cables

BadUSB电缆最近引起了广泛关注,其外观和功能与任何其他USB电缆相似,但是一种秘密的恶意设备,会在用户不知情的情况下将脚本和恶意软件注入计算机。

这些外观通用的电缆也被称为USB Ninja和USB Harpoon等名称,它们将BadUSB隐藏在内部电路中,并且比今天发现的任何其他变体都更具欺骗性。BadUSB电缆可以促进充电和数据传输等功能,而所有恶意活动都在后台进行。

如何防范 BadUSB 攻击

BadUSB 设备的运行速度是组织中的标准用户几乎无法检测到的。各种有效负载脚本都可以从互联网上下载。这甚至允许对计算机知之甚少的业余爱好者进行BadUSB攻击。

您可以实施以下三种措施来立即抵消BadUSB漏洞。

  • USB端口阻断器
  • 使用专门的程序来监测打字速度
  • 限制对高位命令提示符的访问

USB端口阻断器

USB 端口阻止程序是阻止用户在用户不知情的情况下连接可能包含恶意负载的未经授权的 USB 设备的有效方法。在 BadUSB 攻击的情况下,攻击者不太可能以安装了 USB 端口阻止程序的系统为目标。

USB端口拦截器可以安装在网络中包含敏感文件的关键系统上,并带有一个特殊的密钥,一旦安装,就可以解锁和锁定设备。例如:您可以在 USB 端口隐藏在视图中的台式计算机上安装端口阻止程序。

但是,USB端口阻止程序的缺点在于,如果没有正确监控,这些设备仍然会受到物理篡改。任何恶意用户和一些基本工具都可以轻松地从目标系统中删除端口阻止程序。

使用专门的程序来监测打字速度

某些程序(如DuckHunter)旨在在后台运行并密切关注打字速度。由于 BadUSB 设备的打字速度几乎不可能被人类打字,因此当检测到 BadUSB 攻击时,该程序会有效地阻止键盘输入。

使用这种预防方法的缺点是这些程序需要几毫秒才能检测到攻击。根据有效负载的长度,它仍然可以在被程序阻止之前进入目标计算机。

限制对高位命令提示符的访问

以管理员身份运行命令提示符 (CMD) 可解锁可在计算机上执行的整组操作。在 Windows 上,您可以通过首先在“运行”命令中键入“CMD”,然后按住 Ctrl + Shift + Enter 来访问提升的命令提示符。这些击键可以很容易地编程到BadUSB设备中。

如何设置以管理员身份运行CMD的密码

设置使用提升的命令提示符的密码会停止任何编程为寻求管理权限的 BadUSB 停止其轨道。以下是设置以管理员身份运行CMD的密码的方法。

注意:此过程涉及对系统注册表进行更改,必须负责任地处理以避免损害您的计算机。

  • 第 1 步:在开始菜单中键入“Regedit”,然后打开应用程序。
  • 第 2 步:按照导航转到ConsentPomptBehaviorAdmin:Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 第 3 步:找到 ConsentPromptBehaviorAdmin 后,右键单击它,然后选择“修改”。
  • 第 4 步:将值数据更改为1,然后单击确定。

每当您尝试访问提升的命令提示符时,Windows 都会要求您输入系统密码。

Device Control Plus 如何帮助您预防 BadUSB 攻击

根据您的企业,完全避免使用 USB 设备可能不切实际,因为它可能会对整体生产力产生不利影响。另一方面,对注册表进行更改可能是一件危险的事情,因为它涉及干扰核心系统组件。这需要一种强大的方法来防止BadUSB攻击。

防范 BadUSB 威胁

  • 跨系统实施 USB 锁定
  • 创建允许受信任设备的策略
  • 主动监控受信任的设备
  • 授予临时访问权限

Device Control Plus 是一种主动保护整个企业端点的方法。此解决方案通过默认将所有系统上的 USB 端口保持在锁定状态,方便地解决了抵御 BadUSB 攻击的常见措施中的局限性。

您可以通过创建允许或阻止 USB 设备的策略来选择谁有权使用哪些设备访问网络中的端点。此外,每当用户将未经授权的设备插入其中一个终结点时,您都会收到通知。

Device Control Plus 可帮助您在很短的时间内发现和管理网络中的系统。创建受信任的设备列表,授予临时访问权限等等。

什么是BadUSB攻击以及如何预防相关推荐

  1. 『Kali nethunter系列』手机发起“badUSB”攻击(Rucky,Rucky脚本)

    一个数据线,一个手机,动动手指拿下电脑控制权. 『Kali nethunter系列』手机发起"badUSB"攻击(Rucky,Rucky脚本) 当然不是只有nethunter的设备 ...

  2. 直播行业遭到DDoS攻击该如何预防?

    近年来,中国直播市场增长迅猛,受疫情影响,直播各细分领域增长迅猛,发展出电商直播.教育直播.游戏直播.公益直播等不同领域,整体在线直播用户规模达5.87亿人.而且正所谓树大招风,市场越火热就越容易被不 ...

  3. Badusb 攻击之MacOSX系统实战

    Badusb 已经出现了很多年,使用usb进行攻击的手段也从最初的利用autorun.inf.伪造文件夹名.快捷方式等手段转为更加难以防御的Badusb.这种攻击方式就是目前可绕过杀毒软件,防御较难. ...

  4. XSS攻击,XSS预防(前端安全),XSS练习

    XSS攻击,XSS预防(前端安全),XSS练习 文章目录 XSS攻击,XSS预防(前端安全),XSS练习 1:什么是XSS 2:XSS 分类 2.1:存储型 XSS 2.2:反射型 XSS 2.3:D ...

  5. 使用kali nethunter执行badUSB攻击--基于Rucky工具

    使用kali nethunter执行badUSB攻击–基于Rucky工具 1.下载工具 从F-Droid商店下载Rucky工具 2.攻击语言语法介绍 参考up主无序熵增进行整理:https://www ...

  6. 攻击面管理预防网络攻击原理?

    攻击面管理对组织来说是性价比非常高的安全工作.有效收敛攻击面可以让组织在投入最低成本的情况下,最大程度降低对外暴露的安全风险. 云设施的广泛采用.组织网络的迅速发展,以及工作方式转向远程,直接导致了组 ...

  7. 基于ArduinoLeonardo板子的BadUSB攻击实战

    0X00 前言 在Freebuf上许多同学已经对HID攻击谈了自己的看法,如维克斯同学的<利用Arduino快速制作Teensy BadUSB>无论从科普还是实践都给我们详尽的描述了Bad ...

  8. 阿里箫疯:AI对抗攻击—原理及预防 (精彩直播回放)

    近期,CVPR 2021 安全AI挑战者大赛正在进行中 (报名截止3月24日),相关技术解析: 1. CVPR 2021大赛, 安全AI 之防御模型的「白盒对抗攻击」解析 2. 还在刷榜ImageNe ...

  9. 为什么app会被常常攻击?如何预防攻击?

    先讲一下为什么app会被常常攻击呢? 1.APP根本都是含有盈利性,某些具有商城买卖等性质的APP,假如经营情况很好的情况下,免不了被一些同行业的人眼红,因为人的嫉妒心使然,就导致他剑走偏锋,经过不断 ...

最新文章

  1. 解决阿里云发邮箱问题
  2. 计算机网络访问控制列表,南昌大学计算机网络实验-访问控制列表ACL
  3. 编写python程序_如何进行Python程序的编写
  4. 计算机公共基础知识书第二版答案,二级计算机公共基础知识课后习题及答案.doc...
  5. LeetCode(496)——下一个更大元素 I(JavaScript)
  6. 用脚本整理Leetcode题解
  7. tensorflow之视频质量诊断
  8. ucgui界面 vc_UCGUI在VC下的仿真 | 学步园
  9. flutter-dart语言类型后加问号
  10. Android数字时钟神一般的实现——TextClock
  11. 【禁止重复造轮子Day01】省市级连的递归
  12. Ubuntu配置拼音和五笔输入法
  13. 计算机网络连接无线局域网,无线局域网的连接方法
  14. Unity 制作360全景视频 全景图片流程
  15. c 语言 合并多个excel,C#操作Excel合并多个Excel文件
  16. 根据工作日历推算工作日的算法
  17. PAT a1134
  18. rman 备份脚本之总结分析
  19. 2022年深圳市光明区防疫科技攻关支持项目申报操作指引
  20. ENVI下植被指数模型详解

热门文章

  1. 高级必会,摸鱼必背之CPU过高常见原因与解决
  2. nn.Identity()
  3. 高效使用远程PPT演示的六大要点
  4. 问卷调查是干什么呢?是通过什么赚钱?我相信大家都很好奇吧
  5. 华胜天成收购摩卡软件 IT运维市场洗牌在即
  6. android调用网络打印机,Android下通过wifi调用打印机打印
  7. 短视频源码教程之短视频app制作如何实现合拍功能
  8. 常用的时间戳格式化的应用场景
  9. yaml文件的语法及注意事项
  10. [svc]traceroute(udp+icmp)tracert(icmp)原理