I want to do some security awareness training within the company I work for. And I want to demonstrate the BadUSB attacks by having some arduino's act as a keyboard and open a webpage, and scatter these USB's around my workplace.

However, whenever I plug it in a new machine it installs it's Arduino drivers, which takes a long while. This sadly kills the use I have for it.

Is there a way to have the arduino act as a keyboard without the need of installing new drivers?

The Arduino I use is the Arduino Leonardo

I'm new to arduino's and frankly I don't have a solid grasp on how drivers work, so if I said something dumb that's probably why :P.

  • You would need to a) disable the CDC/ACM interface, and b) change the VID/PID. Not sure if you can do a) at all, and b) is done IIRC in the boards.txt file for the core. – Majenko Nov 15 '17 at 18:41
  • Can I do those things using the Arduino IDE? In any case I think I need to read up a bit more, because I have no clue what you said :P (but thanks for the quick response!) – Snappie Nov 15 '17 at 18:56
  • 1
    The Arduino board serial port with or without bootloader is hard to remove. I remember that there was a lot to do about it, and it is perhaps (almost) not possible. The Teensy LC or 3.2 is more suitable for that. @Majenko and Snappie, the CDC is a way to act as a usb device. The VID/PID are identifiers (numbers) that identifies each usb device. I had to google for IIRC (IIRC = "if I recall correctly"). – Jot Nov 15 '17 at 19:02
  • Even more suitable would be a chipKIT board and the new Object Oriented USB stack that I wrote from scratch specially for it. Lets you craft whatever device you like. In beta testing at the moment, and should be released in the chipkit core by Christmas. – Majenko Nov 15 '17 at 20:55
  • Changing the VID/PID is as simple as editing a text file. Removing the CDC/ACM functionality would mean editing the core. Also yes the bootloader wants to be a CDC/ACM device and gets in the way, so you'd want to program through ICSP instead of the bootloader. – Majenko Nov 15 '17 at 20:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.