
Framework para placas de desenvolvimento Digiduck rodando processadores ATTiny85 e bootloader micronucleus!
Framework para placas de desenvolvimento Digiduck que rodam processadores ATTiny85 e bootloader micronucleus!
alt text Captura de tela da tela de boas-vindas do DDF
- ATTiny85 ou outra(s) placa(s) de desenvolvimento "Digispark" compatível(eis)
- Drivers DigiSpark (Se você consegue usá-lo com Arduino, deve estar bem.)
- OSX ou MacOS
- ArduinoIDE com a Biblioteca Digispark Instalada
O DigiDuck Framework (referido como DDF) é muito simples de iniciar e configurar! Não são necessários módulos de terceiros para o DDF! Tudo o que você precisa fazer é garantir que tenha Python 3.6+ (usei isso para desenvolvê-lo, mas deve ser compatível com versões anteriores espero). Clone este repositório e entre no diretório a partir da linha de comando. Uma vez dentro do diretório, simplesmente execute:
python start.py
Isso iniciará o programa e exibirá a tela de boas-vindas mostrada acima.
Existem três comandos neste Framework! Eu queria tornar isso o mais leve possível, então requer apenas um comando para colocar um payload na sua placa.
O comando help exibe este menu:
alt text
O comando show exibe este menu:
alt text
Todos os seus payloads disponíveis serão mostrados aqui. No entanto, se você executar o comando execute, eles serão exibidos novamente.
O terceiro e último comando no DDF é execute. O comando execute exibirá o mesmo menu que o comando show, porém a partir deste menu você irá inserir o nome do payload. Você precisa incluir .hex no final, caso contrário não carregará corretamente e pedirá para você inseri-lo novamente.
alt text
Exibição do comando execute.
Assim que escolher seu payload, será solicitado que você insira a placa desejada no computador. A partir daí, ele instalará o payload desejado e exibirá isso quando concluído:
alt text
É isso! Agora você pode conectar sua placa badUSB DigiSpark em um computador e executar o payload desejado!
Payloads são arquivos hex do DigiSpark .ino que são instalados usando o bootloader micronucleus no seu ATTiny85 ou outras placas.
Todos os payloads atuais são dos scripts RubberDucky da Hak5 disponíveis aqui. Se você não tem certeza do que um payload pode fazer, este é o lugar para ler sobre isso. Tento manter os nomes dos payloads próximos ao original, mas não quero que você no Windows digite muito, já que o rlcompleter não funciona.
Vá para a Página do Duckyspark no GitHub para ver como criar seu arquivo .ino traduzido a partir de um script RubberDucky. Depois disso, carregue seu arquivo .ino no Arduino IDE. Certifique-se de que Verbose está ativado nas Preferências e compile seu código. Abra a saída do terminal abaixo e procure pela localização do arquivo .hex. Deve estar em um diretório temporário no seu AppData ou equivalente no MacOS. Aqui está um exemplo:
alt text Isso está logo acima de onde diz para conectar sua placa!
Pegue o arquivo payloadname.cpp.hex dessa pasta e arraste-o para payloads dentro do framework DDF. Execute o programa e seu payload será carregado em Payloads Disponíveis!
Sinta-se à vontade para contribuir adicionando payloads personalizados ou mais payloads dos scripts Rubber Ducky acima! Faça um PR com os novos payloads.
Duckyspark - https://github.com/toxydose/Duckyspark
Micronucleus - https://github.com/micronucleus/micronucleus
Hak5 RubberDucky Payloads - https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads