Hacking HardwareHacktivismo

¡Conejos! ¡Conejos Everywhere!

Buenas conejetes!!

Hoy os traemos la primera de una serie de entradas referentes al Bash Bunny, que aunque en apariencia no sea más que un tosco USB, es definido por la propia Hak5 como la mejor plataforma de ataque USB del mundo.

Esta entrada complementaría las de mis compañeros sobre el resto de dispositivos de Hak5:

 

¿Qué tipo de conejo hay en esta madriguera?

El poder del Bash Bunny radica en que puede emular en unos pocos segundos gran cantidad de dispositivos seguros (como teclados, Ethernet Gigabit, o memorias flash) y así poder pasar desapercibido en la máquina objetivo. No sólo funciona como una unidad de almacenamiento, sino que además tiene implementado un entorno de pentesting gracias a un potente hardware: Quad-core ARM Cortex A7, 32 K L1/512 K L2 Cache, 512 MB DDR3 y 8 GB SLC NANO Disk, hacen que arranque en apenas 7 segundos. Además, tiene una consola dedicada para poder conectarnos a él.

Una vez obtengamos la confianza del sistema, podremos realizar multitud de cosas natsis, como filtración de documentos, instalación de backdoors, hijacking, y multitud de maldades en forma de payloads que va desarrollando la comunidad (así como la wiki) y compartiendo en GitHub.

Bash Bunny dispone de un led RGB totalmente programable para notificar el estado de nuestro ataque, así como de un interruptor con tres posiciones:

  • El modo Armado (funciona como una unidad de almacenamiento) que usaremos para copiar nuestros payloads
  • El modo Ataque, con las posiciones 1 y 2 para juankear inyectar los payloads
Posiciones del interruptor

Los payloads son escritos en el lenguaje MarkDown, un lenguaje de script muy simple que puede ser escrito desde cualquier editor de texto.

De manera paralela, existen otras herramientas desarrolladas por la comunidad como puede ser el caso de Bunny Toolkit que además de tener un repositorio de payloads, dispone de un workflow para desarrollar los nuestros propios.

 

Vistiendo al Conejo

Antes de nada, debemos actualizar nuestro Bash Bunny. Para ello, nos vamos a la parte de descargas de la Wiki. Seleccionamos la última versión y la descargamos:

Una vez esté descargado el fichero, deberemos:

  • Conectar nuestro Bash Bunny en modo Armado
  • Copiar el fichero en la raíz del dispositivo
  • Expulsar de forma segura el Bash Bunny
  • Volver a conectar el Bash Bunny en modo Armado

Rápido, fácil, y para toda la familia! Veréis que el led parpadea con color rojo mientras se realiza el flasheo, lo que le llevará aproximadamente 10 minutos. Cuando termine, y tras una orgía de colores cual arcoíris, el led cambiará a verde y se reiniciará. No será hasta cuando parpadeé lentamente con color azul, que nuestro Bash Bunny estará listo y en modo Armado.

Actualización a versión 1.3

 

Estructura de carpetas

Tras haber sido actualizado, dispondremos de la siguiente estructura de carpetas en modo Armado. Si dispones de otra estructura, necesitarás actualizar el Bash Bunny:

  • /docs: contiene documentación así como un “readme.txt” con información imprescindible del Bash Bunny
  • /languajes: carpeta donde se deberán instalar layouts para el idioma de los teclados
  • /loot: carpeta donde se almacenarán los logs que programemos en nuestros payloads
  • /payloads: directorio base de los payloads, biblioteca y extensiones
    • /payloads/switchX: carpeta en la cual deberemos introducir el payload que queramos ejecutar en su correspondiente posición
    • /payloads/library: carpeta que funcionará como biblioteca de payloads
    • /payloads/extensions: carpeta para introduccir las extensiones de nuestros scripts
  • /tools: carpeta donde instalaremos las herramientas que podamos ir usando

 

Wake up, Neo… Follow the white rabbit

Como hemos comentado antes, el Bash Bunny tiene una consola dedicada a la que podremos conectarnos. Para ello, deberemos conectar a nuestro amigo en modo Armado. La conexión la hace por el puerto serie, por lo que si accedemos al administrador de dispositivos de windows, podremos ver que puerto COM utiliza. Otra opción es ejecutar en PowerShell: [System.IO.Ports.SerialPort]::getportnames()

 

Conexión desde PuTTY

Para conectarnos utilizaremos PuTTY, seleccionando “Serial” como tipo de conexión, indicando el puerto serie correspondiente, e indicando una velocidad de 115200:

Se nos abrirá la consola, en la que meteremos los credenciales por defecto:

  • User: root
  • Password: hak5bunny

 

Conexión desde Linux / Mac

Para conectarnos desde la terminal usaremos screen. Si no lo tenemos instalado, podremos hacerlo rápidamente en el gestor de paquetes: sudo apt-get install screen

Una vez instalado, nos conectaremos mediante la instrucción: sudo screen /dev/ttyACM0 115200

                                     

 

Hello Rabbit!

Una vez está todo listo y preparado, vamos a ejecutar nuestro primer script en el Bash Bunny, demostrando así su potencial: un NMAP.

Lo primero que tendremos que hacer es conectar nuestro Bash Bunny en modo Armado, obteniendo así la estructura de carpetas mencionada anteriormente. Tras esto, nos iremos al repositorio y buscaremos el payload NMAP de Hak5Darren. Una vez descargado, deberemos poner el fichero “payload.txt” en la ruta BashBuny:\payloads\switchX.

Tan sólo nos faltaría poner el Bash Bunny en modo Ataque (en la posición X), y esperar unos segundos hasta que se complete el payload (en este caso el led lucirá de color verde).

Como podemos ver en el código, este script va a realizar un nmap  -O –fuzzy (es totalmente modificable según nuestras necesidades), guardando su resultado en la ruta /loot/nmap. La instrucción ATTACKMODE nos permite cambiar entre un ataque a Windows, o a Mac/*nix, según su valor.

Ejecutado sobre un Windows 10, nos da la siguiente información:

 

¡¡Eso es todo amigos!!

Nada más por hoy conejetes! En la siguiente entrada se detallarán los modos de ataque, se mostrarán payloads más complejos, el uso de tools  y extensions, así como la asignación de layouts diferentes para marcar el idioma del teclado.

P.D.: Mencionar la increíble rapidez con la que nos llegó el gran pedido por parte de HAK5 (tan rápido que se les olvidó meter más pegatinas xD), en apenas una semana ya teníamos el paquete entero con nuestros juguetes…  Como contrapunto indicar que al gestionar el envío DHL, ellos se encarguen de pagar las aduanas, añadiéndote unos 50 euros por las gestiones.

 

 

Gonx0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los datos introducidos se guardarán en nuestra base de datos como parte del comentario publicado, como se indica en la política de privacidad.