cecio / USBvalve

Expose USB activity on the fly
MIT License
1.23k stars 44 forks source link

KillerUSB #5

Open cecio opened 1 year ago

cecio commented 1 year ago

Chances are that it will be destroyed, so we can think it as a sacrificial device ;-) ...it costs a few bucks :-)

Better this than your main PC!

I DON'T recommending trying it! Don't try it unless you want to fry your USBvalve, damage yourself or things near to you! See also the README.md WARNING

csdragon83 commented 1 year ago

I also guess that it will be fried...

For USB-Kill I recommend: https://usbkill.com/collections/usbkill-accessories/products/usbkill-shield (even when the old one was cooler... you were able to do sparks with it)

cecio commented 1 year ago

ah, I didn't know it existed! Nice!

Zorakie commented 7 months ago

Hi, this my question is somewhat related.

If I add the USB-A for passthrough testing, and for some reason, that device will also sends power (like battery operated device, or something that is also plugged to the wall, say, USB-hub that also has power passthrough and is connected to laptop charger), is there any on-board protection for this power coming from the other side, or it will just fry the device?

Thanks! :)

cecio commented 7 months ago

Usually peripheral devices (even if battery operated) do not send power over the USB connection, they get power from it. During my tests I used a lot of them and I never found one sending power over that line. This does not exclude that a malfunctioning one (or a malicious one) can do it.

Looking at the Raspberry Pi Pico Docs, I understand that the VBUS pin (the one attached to the power of the USB Host port) does not have a diode, so power coming in MAY damage the device (probably this depends on a lot of factors). A possible solution could be to attach the line to the VSYS pin, which actually have a diode. But in this case you may open an opposite issue: VBUS gets power from the USB Pico port, so it will be for sure at 5v and it will not damage your host. VSYS deliver the external power voltage (if you are powering the Pico externally) and that could damage your USB peripheral device (but only if you are powering Pico externally).

Side note: I see that you are referring to the USB-A as "passthrough" port, but it is not really that: the two USB ports are independent.

cecio commented 7 months ago

Giving a deeper look at the Pico schematics, may be that even VSYS is not a solution in this case: if I'm not wrong the diode protects from backfeeding into the USB power source. The real solution here is to apply an external diode probably.

Zorakie commented 7 months ago

Thank you for the answer :) From what I see, better to make sure, the device won't send power.

I thought I would have the answer - just don't attach VCC pin to anything, and keep only D+-, and GRD pins connected, but then I realized, that the VCC is used to power the device (like USB stick), but the question is, if you would insert A->C converter, to what pin the the power would be sent if the attached device would ALSO send the power ... so ... this is a dead end ...

regarding the passthrough, I THINK (not sure, would need to review) that they used "passthrough" for USB testing in the LTT video. Suggest better naming I guess, till then, this is shorter that "That other port for testing flash drives" :D

cecio commented 7 months ago

In case of A->C converter, the PIN should be mapped on the correct one, so to the VBUS again, so it should work without issue.

Then, in 99,99% of the cases you are safe, since USB peripherals are not sending power over VBUS. If something malicious (like USB Killer) send more than 200v over it, I think you can't do much...may be a diode....but I guess you will see a lot of smoke coming out from the device. But at least you burned your USBvalve and not your PC ;-)

frankrpeters commented 6 months ago

As I also mentioned in the ATTiny/USBKill issue, a few TVS diodes and a polyfuse might protect the device and connected PC from damage.