Article image
Fernando Schmitz
Fernando Schmitz29/11/2023 13:58
Compartilhe

Faça um Rubber Ducky com Arduino

    Antes de começar, gostaria de enfatizar a importância da utilização ética deste tipo de conhecimento para fins educacionais. Embora encoraje a exploração e o aprendizado na área da segurança cibernética, lembre que é crucial respeitar os limites éticos e legais. O acesso não autorizado a sistemas, redes ou dados é uma violação séria. Recomendamos que todos os estudos e experimentos sejam realizados em ambientes controlados e com permissão explícita. A ética e o respeito pelas leis são fundamentais para garantir um uso responsável do conhecimento hacker.

    Você já ouviu falar sobre o Rubber Ducky? É uma ferramenta que pode ser usada para realizar ataques cibernéticos, mas também tem outros usos legítimos. Neste artigo, vamos explorar o que é o Rubber Ducky, como funciona e como fazer um utilizando um dispositivo compatível com Arduino.

    O que é o Rubber Ducky?

    O Rubber Ducky é um dispositivo USB disfarçado de um simples pen drive. Porém, por trás dessa aparência inofensiva, ele esconde um poderoso arsenal de ataques cibernéticos. Ele é programado para simular o comportamento de um teclado quando conectado a um computador. Isso significa que ele pode enviar comandos de teclado predefinidos em alta velocidade, permitindo a execução de ações automatizadas.

    Como funciona o Rubber Ducky?

    O funcionamento do Rubber Ducky é bastante simples. Quando conectado a um computador, ele se passa por um teclado USB e envia comandos pré-programados para a máquina. Esses comandos podem ser configurados de acordo com as necessidades do usuário. Por exemplo, é possível programar o Rubber Ducky para abrir um prompt de comando e executar um código malicioso que capture senhas ou realize outras atividades ilícitas. No entanto, é importante ressaltar que o Rubber Ducky também pode ser usado para fins legítimos, como automatizar tarefas repetitivas ou realizar testes de segurança.

    Conheçam o Digispark Attiny85

    image

    O Digispark Attiny85 é um microcontrolador baseado no chip ATtiny85 da Atmel. Com um tamanho diminuto, é notável que este dispositivo embala uma quantidade significativa de funcionalidades em sua forma compacta. Possui entradas/saídas digitais e analógicas, permitindo a execução de uma variedade de projetos, mesmo com suas dimensões reduzidas.

    image

    A Relação com o Arduino

    Uma das características mais empolgantes do Digispark Attiny85 é a sua compatibilidade com o ambiente de desenvolvimento Arduino. Isso significa que os entusiastas e desenvolvedores familiarizados com a plataforma Arduino podem facilmente adaptar seus projetos para funcionar com o Digispark.

    A programação é feita utilizando a IDE do Arduino, tornando a transição suave para aqueles que já têm experiência nesse ambiente. Com uma vasta biblioteca de código disponível, os projetos podem ser adaptados e estendidos facilmente.

    Chega de papo… quero ver o código!

    • Primeiro Passo - Baixar e instalar o IDE Arduino
    • Acesse https://www.arduino.cc/en/software e baixe e instale versão Legacy (1.8.x).
    • Segundo Passo - Instalar os Drivers do Digispark
    • Acesse o repositório do Digispark em https://github.com/digistump/digistumparduino/releases
    • Faça o download do arquivo Digistump.Drivers.zip compatível com o seu sistema operacional.
    • Terceiro Passo - Configurar a IDE Arduino para o Digispark
    • Abra o Arduino IDE e vá para File > Preferences > Additional boards manager URLs.
    • Cole o seguinte link: http://digistump.com/package_digistump_index.json.
    • Clique em OK.
    • Agora, instale as placas Digispark dentro do Arduino IDE, seguindo estas etapas:
    • Vá para Tools > Boards > Board Manager.
    • Utilize o filtro para procurar e selecione Digistump AVR Boards por Digistump e clique em instalar.
    • Para definir o Digispark como padrão no Arduino IDE, siga estas instruções:
    • Vá para Tools > Boards > Digistump AVR Board > Digispark (Padrão - 16.5 MHz)
    • Caso tenha problemas para conectar seu Digispark, acesse: http://digistump.com/wiki/digispark/tutorials/connecting
    • Quarto Passo - Seu primeiro script Rubber Ducky
    • Crie um novo esboço com Arquivo > Novo esboço
    • Cole o seguinte código:
    #include “DigiKeyboard.h”
    void setup() {
    // No setup scripting is required, but this function is needed
    }
    void loop() {
    // This is generally not necessary but with some older systems it seems to
    // prevent missing the first character after a delay:
    DigiKeyboard.sendKeyStroke(0);
    // Open a command prompt
    DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
    DigiKeyboard.delay(500);
    DigiKeyboard.println(“cmd”);
    DigiKeyboard.delay(500);
    // Execute the following function in a command prompt
    DigiKeyboard.println(“echo Pwned by Redacted Information Security”);
    DigiKeyboard.delay(500);
    // Blink the red LED when the code has finished executing
    while (true)
    {
      digitalWrite(0, HIGH);
      digitalWrite(1, HIGH);
      delay(300);
      digitalWrite(0, LOW);
      digitalWrite(1, LOW);
      delay(300);
    }
    }
    
    • Clique em 'Verify' para garantir que o código funcionará.
    • Clique em 'Upload' e conecte o Digispark quando for solicitado.
    • Assim que o código for enviado, você está pronto! Divirta-se 😂.

    É só isso?

    Você não precisa parar por aqui. Visite o repositório https://github.com/CedArctic/DigiSpark-Scripts e conheça uma infinidade de payloads que você pode utilizar em seus testes.

    Conclusão

    O Rubber Ducky é um dispositivo poderoso que pode ser usado tanto para fins maliciosos quanto para fins legítimos. É importante estar ciente dos riscos associados ao uso dessa ferramenta e garantir que ela seja utilizada de forma ética. Para você, como estudante de segurança da informação, o Rubber Ducky pode ser uma adição valiosa ao seu kit de ferramentas. No entanto, lembre-se sempre de agir dentro da lei e obter permissão adequada antes de realizar testes de segurança em sistemas ou redes.

    Referências

    Repositório Digistump. Disponível em https://github.com/digistump/DigistumpArduino. Acesso em 29/11/2023.

    Connecting and Programming Your Digispark. Disponível em http://digistump.com/wiki/digispark/tutorials/connecting. Acesso em 29/11/2023.

    Repositório DigiSpark-Scripts. Disponível em https://github.com/CedArctic/DigiSpark-Scripts. Acesso em 29/11/2023.

    Compartilhe
    Comentários (1)
    Alisson Fabro
    Alisson Fabro - 29/11/2023 16:06

    Conteúdo interessante, parabéns Fernando!