VirtualBox USB Pass-through

VirtualBox USB Pass-through is a topic that does not fit well with my Kali setup nor the actual Ubertooth posts planned in the future. I figured that I wanted it as its own article since it has multiple projects it could be a foundational piece.

What We Need to Do to USB Pass-through?

First, open your VirtualBox Manager and select the VM you want.

Virtual Box Summary Screen for Kali Test VM

Then press the “Settings” button on the right hand side.

Virtual Box Settings

Select the “USB” item in the left hand menu.

Virtual Box USB

Make sure that the “Enable USB Controller” is checked and you have selected which USB bus you want to emulate.

Finally, if you want to preset a USB pass-through then press the USB with a + over it and select the device.

VirtualBox Preset USB Pass-through

However, if you are of the plug and play variety of USB adventurer then get to your VM Desktop. In my case the VM I am playing with is Kali Linux so that is where I will be going.

Kali Desktop

In the VirtualBox menu bar select “Devices->USB” to get the list of available USB devices.

Since I want all my USB devices to remain with the host, I will plug in an Arduino Leonardo board into my host machine. Basically this is an Arduino that will naturally register as a HID device of some sort. I think it defaults to keyboard but mine just registers as a device, which is OK. We will pass-through it.

VirtualBox USB Device List

In my case, I want to pass-through the “Arduino LLC Arduino Leonardo[0100]” so I will select it. If your host is Windows you will hear a disconnect sound as the device is no longer available to the host OS. A check mark will appear in the VirtualBox menu item.

VirtualBox USB Device List with item connected

So the VM Manger thinks that the device is available to the VM. Let’s see about the VM’s OS. In the command line, I type lsusb, which gives a list of attached USB devices. There is the Arduino on line two.

Kali Sees It

That is how we do VirtualBox USB pass-through.

Leave a Reply

Your email address will not be published. Required fields are marked *