Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
vUSBf — Un framework de fuzzing USB basado en QEMU/KVM que encuentra bugs en controladores de dispositivos mediante ejecución de VM reproducible, multiprocesamiento y generación de casos de prueba XML. | Kitploit
Herramientas/GitHubGitHub/schumilo/vusbf
Análisis Dinámico (Sandboxing)Análisis de VulnerabilidadesVirtualización de SeguridadFuzzingSeguridad de Hardware
GitHubschumilo/vusbf

vUSBf

Un framework de fuzzing USB basado en QEMU/KVM que encuentra bugs en controladores de dispositivos mediante ejecución de VM reproducible, multiprocesamiento y generación de casos de prueba XML.

Ver Repositorio
17031hace 9 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

vusbf-Framework

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

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

GENERAL

Un fuzzer USB que aprovecha el uso masivo de máquinas virtuales y ofrece una alta reproducibilidad. Este framework fue publicado inicialmente en Black Hat Europe 2014.

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

Este software está en desarrollo activo. Obtén una copia de la versión actual en github:

www.github.com/schumilo

Este software está licenciado bajo GPLv2.

Este framework proporciona:

  • Fuzzing USB en plazos de tiempo prácticos
  • multiprocesamiento y clustering
  • exportar secuencias de payloads y reproducirlas para depuración o investigación
  • generación dinámica de testcases basada en XML
  • ampliable escribiendo nuevos testcases, emuladores USB o módulos de monitorización

vUSBf fue escrito en python2 y requiere el framework Scapy.

PREPARATIVOS

En primer lugar, ¡tenemos que compilar una versión compatible de QEMU! Obtén la versión más reciente de QEMU y usbredir:

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

Asegúrate de compilar QEMU con la opción "usb_redir" y de parchear también el archivo /hw/usb/redirection.c. Si estás usando la versión 2.1.1 de QEMU, puedes aplicar nuestro parche (qemu-2.1.1.patch). ¡QEMU 2.2.x actualmente no es compatible con vUSBf!

vUSBf requiere algunas imágenes QCOW2 preparadas para el fuzzing. Primero tienes que crear una imagen QCOW2 para tu máquina virtual. Puedes hacerlo usando el siguiente comando:

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

Instala tu sistema operativo preferido en esa imagen. Tienes que configurar una TTY que esté disponible en el puerto serie (virtual).

El siguiente paso es crear un backing-file (overlay que contiene todo el delta futuro) y una imagen que contendrá una instantánea de la VM (el tamaño debe ser mayor que la memoria virtual que hayas configurado):

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

Inicia tu VM con el siguiente comando, espera hasta que el kernel esté cargado, inicia sesión y cambia la verbosidad de printk introduciendo "echo '7' > /proc/sys/kernel/printk". Ahora puedes tomar una instantánea entrando en la consola de QEMU (pulsa ctrl+a y c) y escribir savevm . Debes iniciar la VM con el siguiente comando:

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

Crea una configuración personalizada en la carpeta "vusbf/configurations/". Allí encontrarás algunos ejemplos. Modifica la siguiente información:

root@kitploit:~
    - ubicación del binario de QEMU que quieras usar
    - soporte KVM (escribe yes o no)
    - tamaño de tu memoria (la unidad es MB)
    - ubicación de tu ram-file
    - ubicación de tu overlay-file
    - ubicación donde se deben almacenar las copias duplicadas de tu overlay
    - controlador host USB configurado (si no tienes idea, escribe nec-usb-xhci)
    - algunos parámetros extra para QEMU (si necesitas alguno)
    - el nombre de la instantánea

Eso es todo. Ahora tu VM está lista para algo de fuzzing.

EJECUCIÓN DE VUSBF

Echa un vistazo a help.txt o ejecuta vusbf con el parámetro -h para obtener ayuda :-)

ERRORES

Hay algunos errores conocidos, como el soporte inestable para sistemas Windows. Estamos trabajando en estos problemas, así que asegúrate de usar la versión más reciente. Además, la falta de emuladores USB es otro punto en el que estamos trabajando.

Asimismo, algunos comentarios inline han sido escritos en mi idioma nativo (alemán). Se traducirán más tarde ;-) y el código estará más documentado!

¡Los compañeros de armas son bienvenidos :-)! ¡Hay mucho trabajo por hacer!

CONTACTO

No dudes en enviarnos un correo electrónico: [email protected] [email protected]

Descargar herramienta