usb-tools / nu-map

nü-map: a somewhat-more-modern (expeirmental) derivative of umap2 for modern FaceDancer
GNU Affero General Public License v3.0
23 stars 11 forks source link

numap-scan not working with Greatfet One #16

Open winux138 opened 1 year ago

winux138 commented 1 year ago

I recently acquired a Greatfet One to fuzz USB ports.

After some digging I came to the following conclusion :

So far I managed to get the FaceDancer's example/rubber-ducky.py script working on my Greatfet. (I used this fork MatthewTingum/Facedancer)

I then tried to run numap-scan but I started facing errors, some that I managed to fix :

But there is one issue I can't figure out how to fix, the

ERROR:numap:Traceback (most recent call last):
  File "/home/ju/.local/lib/python3.10/site-packages/numap/apps/scan.py", line 50, in run
    device.run()
  File "/usr/local/lib/python3.10/site-packages/facedancer-2.9+dirty-py3.10.egg/facedancer/USBDevice.py", line 165, in run
    self.scheduler.run()
  File "/usr/local/lib/python3.10/site-packages/facedancer-2.9+dirty-py3.10.egg/facedancer/core.py", line 509, in run
    task()
  File "/usr/local/lib/python3.10/site-packages/facedancer-2.9+dirty-py3.10.egg/facedancer/USBDevice.py", line 83, in <lambda>
    self.scheduler.add_task(lambda : self.maxusb_app.service_irqs())
  File "/usr/local/lib/python3.10/site-packages/facedancer-2.9+dirty-py3.10.egg/facedancer/backends/greatdancer.py", line 766, in service_irqs
    self._handle_transfer_events()
  File "/usr/local/lib/python3.10/site-packages/facedancer-2.9+dirty-py3.10.egg/facedancer/backends/greatdancer.py", line 472, in _handle_transfer_events
    self._handle_transfer_complete_on_endpoint(i, self.HOST_TO_DEVICE)
  File "/usr/local/lib/python3.10/site-packages/facedancer-2.9+dirty-py3.10.egg/facedancer/backends/greatdancer.py", line 555, in _handle_transfer_complete_on_endpoint
    self.connected_device.handle_request(self.pending_control_request)
  File "/usr/local/lib/python3.10/site-packages/facedancer-2.9+dirty-py3.10.egg/facedancer/USBDevice.py", line 216, in handle_request
    if index < len(self.configuration.interfaces):
AttributeError: 'NoneType' object has no attribute 'interfaces'

You will find attached the complete log (at some point it is stuck waiting, so I interrupted it 2 or 3 times).

numap2.log

So I am wondering, can anyone reproduce the issue ? Does someone has a clue of what I could be doing wrong ?

Am I at the wrong place, should I post in the FaceDancer repo instead ?

If you need any additional information feel free to ask.

bakeromso commented 3 months ago

Did you ever end up fixing this issue? I also got a GreatFET one in the hopes of using it for umap/umap2, but by now I've come to the same conclusion that umap wasn't made to work with the GreatFET and it seems GreatFET wasn't made to run as drop in replacement facedancer hardware (but reimplements the facedancer backend instead)