9 de dezembro de 2016

BadUSB: comprometendo máquinas Windows através da porta USB

Algum tempo atrás, uma nova ameaça foi descoberta, chamada de BadUSB, que veio na forma de hardware... especificamente na forma de USB.

Para aqueles não familiarizados com estes dispositivos o nome diz tudo: BadUSB, porque estes USBs não são utilizados como armazenamento, mas se passam por outro dispositivo, como: teclados, mouses... que executarão um código pré-programados pelo atacante. E este falsa USB quando conectado a um computador pode executar comandos no terminal, instalar um backdoor para acesso posterior desse computador, roubar credenciais e muitos mais.

Tudo isso é porque os USBs falsos quando conectados a uma máquina executam outro firmware que não é a memória USB normal, comportando-se como qualquer outro tipo de dispositivo e é capaz de executar qualquer tipo ação na máquina à qual ele está conectado sem que o usuário em questão perceba algo.

Existem vários dispositivos no mercado com estas características, mas o mais adequado para o que estou falando é o RubberDucky, um dispositivo criado pela Hak5.

O RubberDucky funciona como um teclado e executa o que temos armazenados no seu micro SD só de conectarmos ele a outro dispositivo.

O preço deste USB é de US $ 44,99 mais custos de transporte, que são mais de 39.50 $ (para o Rio de Janeiro). Um dispositivo um pouco caro...

Então, o que você diria se pudesse obter o mesmo por cerca de metade do preço do RubberDucky? Sim, podemos criar nosso próprio Rubber Ducky pela metade do preço, tudo graças ao Teensy que funciona com Arduino .

Para montar precisamo: uma placa Teensy, ter um Arduino instalado e um cabo USB.

Muitos dizem que tudo é mais fácil comRubberDucky porque a sintaxe para programar o USB é mais simples, mais fácil e mais rápido do que a programação com Arduino. Isso é verdade, mas hoje há uma ferramenta muito boa para isso, Brutal, uma ferramenta desenvolvida pelo grupo ScreetSec (criadores de Thefatrat ou LALIN) e foi lançado há pouquíssimo tempo. Esta ferramenta possui vários módulos que nos fornecem código escritos para Arduino com várias funções, que nos fornecem um monte de coisas ao usar nosso Teensy como um BadUSB.

A ferramenta tem os seguintes módulos:
  • Gerar um payload que execute uma conexão reversa TCP através de PowerShell
  • Baixa e executa um backdoor
  • Obtém as credenciais graças ao Mimikatz
  • Gera payloads para dar uma zoada no alvo
  • Gera payloads para administração do Windows
  • Executa diversos outros ataques contra o Windows

Instalação e execução da ferramenta:
  • Instalar os pacotes de PaensyLib na biblioteca do Arduíno.
  • git clone https://github.com/Screetsec/Brutal.git
  • cd Brutal
  • chmod +x Brutal.sh
  • ./Brutal.sh

PoC do Brutal: