Se vocês pensam que nós fomos embora, nós enganemos vocês, fingimos que fomos e voltemos, òi nóis aqui traveis.
Como sempre peguei um hiato grande nos posts do blog, mas estamos de volta e hoje vamos falar de uma ferramenta que os hackermans adoram e que é extremamente fácil e útil de fazer, o famoso RubberDuck.
Mas antes...
Antes de começar a falar sobre o RubberDuck, é importante dizer que este post é puramente informativo, você pode usar as informações aqui contidas para fins educacionais, de segurança ou para facilitar o seu dia a dia, mas não me responsabilizo por qualquer uso indevido das informações aqui existentes.
O RubberDuck é um dispositivo que é feito para parecer muito com um pendrive comum, mas que pode emular um teclado ou mouse e executar diferentes comandos no momento em que é conectado a um hardware.
Ele é muito utilizado para automação de tarefas, testes de segurança e até mesmo para ataques de acessos físicos ou engenharia social.
Sim o RubberDuck é uma metonímia, que é uma palavra difícil para dizer que uma marca ficou tão grande que o nome do produto virou sinônimo do produto em si, como é o caso da Gillette, Bombril e Xerox.
O nome de dispositivos que fazem o que o RubberDuck faz de maneira genérica são BadUSBs ou keystroke injectiors.
Para fazer o seu RubberDuck você vai precisar de um microcontrolador que possa emular um teclado e a parte legal é que quase todos os microcontroladores modernos podem fazer isso, como o ESP32, Raspberry Pi Pico, ATmega32u4 (que é o micro controlador do Arduino Leonardo, Micro e Pro Micro), attiny85 (que é o microcontrolador do Digispark) e muitos outros.
Aqui vou usar a Arduino IDE para programar um Arduino Leonardo.
Abrindo a Arduino IDE, vamos apertar "ctrl + shif + i" para abrir o gerenciador de bibliotecas e vamos instalar a biblioteca "Keyboard" que é a biblioteca que vamos usar para emular o teclado.
Feito isso vamos para o código, que é bem simples:
#include "Keyboard.h"
void setup() {
Keyboard.begin();
}
void loop() {
delay(1000);
// Pressiona a tecla do Windows
Keyboard.press(KEY_LEFT_GUI); // ou Keyboard.press(KEY_RIGHT_GUI); dependendo do teclado
delay(100);
// Solta a tecla do Windows
Keyboard.release(KEY_LEFT_GUI); // ou Keyboard.release(KEY_RIGHT_GUI); dependendo do teclado
delay(1000);
Keyboard.print("Hyper");
delay(1500);
// Pressiona a tecla Control e 1
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(49);
delay(100);
// SOlta as teclas Control e 1
Keyboard.releaseAll();
delay(2000);
Keyboard.println("cowsay Hack_The_Planet");
delay(200000);
}
Esse código faz o seguinte:
1. Pressiona a tecla do Windows
2. Digita "Hyper"
3. Pressiona a tecla Control e 1
4. Digita "cowsay Hack_The_Planet"
Lógico que você pode fazer muito mais do que isso, mas esse é um exemplo simples de como você pode fazer um RubberDuck.
E como eu disse antes, você pode usar qualquer microcontrolador que possa emular um teclado, então você pode fazer um RubberDuck com um ESP32, Raspberry Pi Pico, Digispark, etc.
Eu sei, esse foi um post pequeno, mas eu precisava sair do hiato de alguma forma e achei que esse post seria uma forma legal de fazer isso.
Logo eu volto aqui com mais posts e mais projetos, então fiquem ligados.
Até a próxima.