Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vUSBf — 一个基于 QEMU/KVM 的 USB 模糊测试框架,通过可复现的虚拟机执行、多进程处理和 XML 测试用例生成来发现设备驱动程序漏洞。 | Kitploit
工具/GitHubGitHub/schumilo/vusbf
动态分析 (沙盒)漏洞分析安全虚拟化模糊测试硬件安全
GitHubschumilo/vusbf

vUSBf

一个基于 QEMU/KVM 的 USB 模糊测试框架,通过可复现的虚拟机执行、多进程处理和 XML 测试用例生成来发现设备驱动程序漏洞。

查看仓库
170319年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

vusbf-Framework

root@kitploit:~
        _      __              __   __  _______ ____
 _   __(_)____/ /___  ______ _/ /  / / / / ___// __ )
| | / / / ___/ __/ / / / __ `/ /  / / / /\__ \/ __  |
| |/ / / /  / /_/ /_/ / /_/ / /  / /_/ /___/ / /_/ /
|_______/   \__/\__,_/\__,_/_/   \____//____/_____/
   / __/_  __________  ___  _____
  / /_/ / / / /_/ /_/ / _ \/ ___/
 / __/ /_/ / / /_/ /_/  __/ /
/_/  \__,_/ /___/___/\___/_/

A KVM/QEMU based USB-fuzzing framework.
Sergej Schumilo, OpenSource Security Spenneberg 2015
Version: 0.2

概述

一种利用海量虚拟机并具有高可重现性的 USB 模糊测试器。 该框架最初在 2014 年的 Black Hat Europe 上发布。

https://www.blackhat.com/docs/eu-14/materials/eu-14-Schumilo-Dont-Trust-Your-USB-How-To-Find-Bugs-In-USB-Device-Drivers-wp.pdf

该软件正在积极开发中。请从 github 获取最新版本:

www.github.com/schumilo

该软件基于 GPLv2 许可证。

该框架提供以下功能:

  • 在实用时间范围内进行 USB 模糊测试
  • 多处理和集群
  • 导出载荷序列并重放,以便调试或调查
  • 基于 XML 的动态测试用例生成
  • 可通过编写新的测试用例、USB 模拟器或监控模块进行扩展

vUSBf 使用 python2 编写,并且需要 Scapy 框架。

准备工作

首先,我们必须构建一个兼容的 QEMU 版本!获取最新版本的 QEMU 和 usbredir:

QEMU: http://www.qemu.org usbredir: https://github.com/SPICE/usbredir

请确保你在编译 QEMU 时启用 "usb_redir" 选项,并且还要修补 /hw/usb/redirection.c 文件。 如果你使用的是 QEMU 2.1.1 版本,可以应用我们的补丁(qemu-2.1.1.patch)。 vUSBf 目前不支持 QEMU 2.2.x!

vUSBf 需要一些预先准备好的 QCOW2 镜像来进行模糊测试! 首先,你需要为虚拟机创建一个 QCOW2 镜像。你可以使用以下命令完成:

root@kitploit:~
qemu-img create -f qcow2 vm.qcow2 10G

在该镜像上安装你喜欢的操作系统。你需要配置一个在(虚拟)串行端口可用的 TTY。

下一步是创建一个 backing-file(该覆盖层包含所有未来的增量数据)以及一个包含虚拟机快照的镜像(其大小应大于你已配置的虚拟内存):

root@kitploit:~
qemu-img create -b vm.img -f qcow2 overlay.qcow2
qemu-img create -f qcow2 ram.qcow2 1G

使用以下命令启动虚拟机,等待内核加载完成,登录后输入 "echo '7' > /proc/sys/kernel/printk" 来更改 printk 的详细级别。 现在,你可以通过进入 QEMU 控制台(按 ctrl+a 和 c)并输入 savevm 来创建快照。你应该使用以下命令启动虚拟机:

root@kitploit:~
qemu-system-x86_64 --enable-kvm -m 1024 -hdb ram.qcow2 -hda overlay.qcow2 -serial mon:stdio -device nec-usb-xhci -device usb-redir,chardev=usbchardev,debug=0 -chardev socket,server,id=usbchardev,nowait,host=127.0.0.1,port=1336

在 "vusbf/configurations/" 文件夹中创建一个自定义配置。你会在其中找到一些示例。请修改以下信息:

root@kitploit:~
    - 你想使用的 QEMU 二进制文件的位置
    - KVM 支持(填写 yes 或 no)
    - 内存大小(单位为 MB)
    - ram-file 的位置
    - overlay-file 的位置
    - 覆盖层副本的存储位置
    - 配置的 USB 主机控制器(如果不知道,直接写 nec-usb-xhci)
    - 为 QEMU 添加的一些额外参数(如果需要的话)
    - 快照的名称

就这些了。现在你的虚拟机已准备好进行模糊测试。

运行 vUSBf

请查看 help.txt,或使用参数 -h 运行 vusbf 获取帮助 :-)

已知问题

存在一些已知问题,比如对 Windows 系统的支持不完善。我们正在处理这些问题,因此请确保你使用的是最新版本。 此外,缺少 USB 模拟器也是我们正在解决的另一问题。

另外,一些内联注释是用我的母语(德语)编写的。它们将在之后被翻译 ;-) ,代码也会有更多的文档!

欢迎战友加入 :-)! 还有很多工作要做!

联系方式

欢迎随时给我们发送电子邮件: [email protected] [email protected]

下载工具