O que é um BadUSB e como criar um?

Já utilizou dispositivos USB para transferir arquivos e dados para seu PC ou Notebook? Pode parecer uma pratica inofensiva, mas tome cuidado!
em alguns casos, pode ser porta de entrada para um hacker invadir seu computador.

Hoje vamos falar do BadUSB, mas afinal, o que é isso?

É uma técnica de ataque cibernético que modifica o firmware de unidades flash USB utilizando códigos maliciosos para serem executados quando entram em contato com a porta USB de um dispositivo.

Para que serve?

Essa técnica geralmente é utilizada por hackers para fins maliciosos para roubar informações, instalar malwares e até mesmo controlar remotamente o dispositivo infectado.

O Rubber Ducky é um exemplo de BadUSB, ele executa uma sequência de ações no dispositivo, executando um programa ou fazendo várias tarefas de forma automática.

Quais os cenários de ataque?

Existem vários cenários em que um ataque de BadUSB pode ser usado para comprometer a segurança de um sistema. Vamos para exemplos práticos:

Roubo de Informações: Pode ser usado para copiar automaticamente arquivos sensíveis de um computador infectado e enviar esses dados para um servidor remoto.

Controle remoto: Pode ser programado para abrir uma conexão reserva, permitindo que o hacker consigo controle do sistema de forma remota.

Keylogging: Pode ser configurado para capturar todas as teclas digitadas pelo usuario e tirar prints da tela.

Como funciona na prática?

Quando o USB é inserido na máquina, ele é reconhecido como um dispositivo inofensivo, como por exemplo um teclado ou mouse, logo em seguida ele executa um código para abrir o terminal ou prompt de comando, e a partir disso ele começa a executar vários comandos, quando é bem desenvolvido, consegue fazer isso de forma oculta, sem deixar rastros.

Como é criado?

Um BadUSB passa por várias etapas para ser concluído, a primeira é escolher a linguagem de programação que ele vai ser desenvolvido, alguns dos exemplos mais comuns são: C/CC++, Python, Assembly e scripts de shell, depois é necessário identificar a vulnerabilidade, encontrando uma falha de segurança em um dispositivo USB, em seguida, desenvolver o código malicioso para explorar essa vulnerabilidade, e por fim, modificar o firmware, inserindo o código malicioso no firmware do dispositivo.

Como se proteger?

Infelizmente, não existe uma solução única para o problema, mas algumas práticas podem ajudar a reduzir de forma significativa os riscos, tais como:

  1. Evite conectar dispositivos USB desconhecido em computadores
  2. Ter um antivírus instalado
  3. Desativar a inicialização automática, configurando o sistema para não executar automaticamente dispositivos USB

Se você deseja entender mais a fundo sobre BadUSB e Rubber Ducks, recomendados o curso de Hardware Hacking da Solyd Offensive Security, onde você vai aprender esses e muitos outros assuntos relacionados a segurança ofensiva do básico ao avançado.