Como o sistema operacional reconhece o USB Rubber Ducky como um teclado?

1

Como o sistema operacional reconhece o USB Rubber Ducky como um teclado? É o firmware USB Rubber Ducky que engana o sistema operacional?

Mais geralmente, o reconhecimento de um dispositivo pelo SO é feito pelo firmware do dispositivo ou não?

    
por Duke Nukem 29.06.2016 / 22:42

3 respostas

0

Quando um dispositivo USB é conectado, o sistema operacional solicita ao dispositivo o descritor de dispositivo. Isso inclui, entre outras coisas, a classe de dispositivo, a subclasse, o ID do fornecedor e o ID do produto. A classe de dispositivos 3 é "dispositivo de interface humana", é o que o Rubber Ducky diz ao SO. O sistema operacional carrega um driver de teclado genérico, e o dispositivo pode enviar as teclas que quiser - é indistinguível de um teclado real.

Existe uma ferramenta para o Rubber Ducky que permite definir seu VID e PID para o que você quiser. Há que deve ser uma maneira de obter o nome do fabricante e o número de série do dispositivo, mas como todos eles são fornecidos pelo próprio dispositivo, o firmware pode simplesmente mentir para o sistema operacional. (Mesmo dispositivos legítimos, por vezes, deixam em branco.)

Em resumo, você está certo, o sistema operacional acredita em qualquer coisa que o dispositivo diga.

    
por 29.06.2016 / 22:58
0

Tomando uma citação diretamente do Wiki:

Nearly every computer including desktops, laptops, tablets and smartphones take input from Humans via Keyboards. It's why there's a specification with the ubiquitous USB standard known as HID - or Human Interface Device. Simply put, any USB device claiming to be a Keyboard HID will be automatically detected and accepted by most modern operating systems. Whether it be a Windows, Mac, Linux or Android device the Keyboard is King.

link

Ele se identifica como um teclado para o sistema operacional. Um dispositivo precisa se identificar para que o SO saiba o que é e o que fazer com ele / o que esperar dele. Se o dispositivo não se identificar, não sei exatamente o que acontecerá, mas o sistema operacional provavelmente não saberá o que fazer com ele.

    
por 29.06.2016 / 22:46
0

Bem, essencialmente é um teclado. É só que todas as teclas digitadas (a carga) são pré-gravadas; e então rapidamente (e cegamente) injetado pelo circuito integrado, exatamente da mesma maneira e formato que seria tipicamente esperado de um teclado estilo USB tradicional. Ou seja, literalmente envia o sinal para cada toque de tecla individual, como se você mesmo o tivesse digitado.

    
por 06.04.2017 / 10:23