Como usar o Viper?

2/9/20253 min read

Documentação de Uso do Viper

Introdução

O Viper é um microcontrolador compacto baseado no ATtiny85, projetado para automação, prototipagem e projetos de segurança cibernética. Ele pode ser programado para atuar como um dispositivo HID (Human Interface Device), simulando teclados e mouses, além de oferecer suporte para comunicação via I²C e SPI.

ATENÇÃO: O uso do Viper deve ser exclusivamente para fins educacionais, pesquisa e desenvolvimento. Qualquer utilização para atividades maliciosas, invasivas ou que violem normas e legislações aplicáveis é estritamente proibida. O autor e distribuidores desta documentação não se responsabilizam por qualquer uso indevido do dispositivo. Sempre obtenha permissão antes de realizar testes de segurança em sistemas que não sejam de sua propriedade.

Quer um?

Temos um estoque limitado que pode ser adquirido através do link: Viper - BadUSB Programável para Pentest e Cibersegurança | Shopee Brasil

Características do Viper

Principais Funcionalidades

  • Simulação de Teclado e Mouse (HID): Pode ser utilizado para automação de tarefas ou testes de segurança.

  • Programação via USB: Não necessita de conversor USB-serial, utilizando um bootloader nativo.

  • Comunicação I²C e SPI: Possibilidade de interação com sensores e outros dispositivos.

  • Consumo de Energia Reduzido: Ideal para sistemas embarcados de baixo consumo.

Especificações Técnicas

  • Microcontrolador: ATtiny85

  • Tensão de Operação: 5V

  • Portas GPIO: 6 pinos digitais (2 compartilhados com USB)

  • Memória Flash: 8 KB (2 KB reservados ao bootloader)

  • SRAM: 512 bytes

  • EEPROM: 512 bytes

  • Interfaces de Comunicação: USB, I²C, SPI

  • Alimentação: USB ou fonte externa de 5-12V

Configuração do Ambiente de Desenvolvimento

O Viper é compatível com a IDE do Arduino e pode ser configurado seguindo os passos abaixo.

Instalação da IDE do Arduino

Importante: É necessário baixar a versão Legacy (1.8.x) da IDE do Arduino, pois as versões mais recentes (2.x) não possuem suporte adequado ao Viper. A versão pode ser obtida em: https://www.arduino.cc/en/software (Não baixe da Microsoft Store)

  1. Baixe e instale a Arduino IDE Legacy (1.8.x).

  2. Abra a IDE e vá em Arquivo > Preferências.

  3. No campo URLs Adicionais para Gerenciadores de Placas, adicione: https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json

  4. Clique em OK e feche a janela.

Instalação do Suporte ao Viper

  1. Acesse Ferramentas > Placa > Gerenciador de Placas.

  2. Busque por Digistump AVR Boards e instale.

  3. Selecione Digispark como a placa principal.

Instalação de Drivers (Windows)

Se necessário, instale os drivers USB:

  1. Baixe o driver de https://github.com/digistump/DigistumpArduino/releases.

  2. Extraia e execute InstallDrivers.exe.

  3. Reinicie o computador, se necessário.

Programação do Viper

Carregamento de Código

Atenção: O Viper NÃO DEVE SER CONECTADO antes do upload do código. Caso contrário, ele executará imediatamente o último código gravado. Sempre conecte o dispositivo somente quando solicitado durante o processo de carregamento.

O Viper não possui comunicação serial nativa. Para carregar um programa:

  1. Escreva o código na IDE do Arduino.

  2. Clique em Carregar (Upload).

  3. Quando solicitado, conecte o Viper à porta USB.

  4. Aguarde a finalização do upload.

Exemplo: Piscar LED

void setup() {

pinMode(1, OUTPUT);

}

void loop() {

digitalWrite(1, HIGH);

delay(1000);

digitalWrite(1, LOW);

delay(1000);

}

Uso do Viper como Dispositivo HID

Instalação da Biblioteca HID

  1. Vá para Sketch > Incluir Biblioteca > Gerenciar Bibliotecas.

  2. Pesquise por DigisparkKeyboard e instale.

Simulação de Teclado

O código abaixo faz o Viper digitar "Hello, World!" ao ser conectado ao computador:

#include "DigiKeyboard.h"

void setup() {

DigiKeyboard.sendKeyStroke(0);

delay(1000);

DigiKeyboard.print("Hello, World!");

DigiKeyboard.sendKeyStroke(KEY_ENTER);

}

void loop() {}

Automação de Comandos no Windows

O código abaixo abre o Executar (Win + R), digita notepad, pressiona Enter e escreve "Viper Ativo":

#include "DigiKeyboard.h"

void setup() {

DigiKeyboard.sendKeyStroke(0);

DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);

delay(500);

DigiKeyboard.print("notepad");

DigiKeyboard.sendKeyStroke(KEY_ENTER);

delay(1000);

DigiKeyboard.print("Viper Ativo");

}

void loop() {}

Aplicações Práticas

  • Automação de Tarefas: Execução automática de comandos.

  • Pentesting e Segurança: Testes de segurança e simulação de ataques HID.

  • Sistemas Embarcados: Controle de sensores e dispositivos.

  • Controle de Hardware: Interação com motores, LEDs e periféricos.

Conclusão

O Viper é uma ferramenta poderosa para automação e segurança, permitindo a simulação de dispositivos HID, comunicação com sensores e execução de tarefas automatizadas. Com suporte para Arduino IDE Legacy (1.8.x), é uma excelente opção para projetos embarcados e testes de segurança.

Para mais informações, consulte a documentação oficial do Digispark: http://digistump.com/ 🚀

Bônus

Caso queira encontrar mais códigos para utilizar no seu Viper, os seguintes links podem ajudar: