Primeros pasos Rubber Ducky Hak5

Primeros pasos Rubber Ducky Hak5

1. Introducción.

Si cuando estás a punto de desembalar el dispositivo, gadget, chisme electrónico recién comprado, te recorre por las tripas una sensación de emoción, entenderás muy bien cómo nos sentíamos teniendo el sobrecito azul del Rubber Ducky de Hak5 en nuestras manos.

[Hago un inciso antes de seguir y para el que no lo sepa, el Rubber Ducky de Hak5 es un dispositivo USB que aparentemente es un pendrive pero que se puede programar para que se comporte como un teclado y escriba todo lo que queramos. Es capaz desde escribir el típico “Hola Mundo” en un Notepad a ejecutar una Shell y prepararte una buena, exfiltrando información, matando servicios, interviniendo tu correo.. de todo. Continuamos.]

Según abres el sobrecito azul y desempaquetas el Rubber Ducky de Hak5, en lugar de leer las instrucciones, lo conectas en el ordenador y esperas que se obre la magia … pasa un minuto y no hay magia ninguna. El ordenador detecta el Rubber Ducky de Hak5 como una memoria flash más, pero el “juguete” no anda. Revisas las carpetas que trae dentro, en una se puede leer “Documentation” claramente, ves que también hay otra que se llama “Payloads”, pero ahí se queda la emoción. Cacharreas editando los ficheros que vienen dentro de la memoria pero no sacas mucho en claro.

Por más que te @#&¢@#, te va a tocar leer el manual. Aún queda una posibilidad antes de leerlo. El Rubber Ducky de Hak5 viene acompañado de la tarjeta de visita habitual en Hak5, que si se desdobla tiene unas instrucciones breves de inicio. Según indica la tarjeta la secuencia es la siguiente:

  • Escribes o descargas un “DuckyScript” (término registrado por Hak5) de la URL que aportan.
  • Lo codificas utilizando otra URL.
  • Armas el Rubber Ducky de Hak5.
  • Se lo enchufas a un ordenador en un puerto USB y a divertirse.

Pues nada, me pongo a seguir las instrucciones, pero, por algún motivo no me queda demasiado claro el proceso. Os iré indicando los pasos que seguí y añadiré la información que me faltó a mí (o que no encontré por torpe).

2. Escribir y codificar o descargar un Script ya codificado.

Para escribir un Script, puedes utilizar un editor de texto normal y corriente o bien utilizar el editor/generador de payloads que el fabricante pone a tu disposición en la URL: https://payloadstudio.hak5.org/community/ . Existe una versión de pago “PRO” pero por ahora creo que con la community nos vale.

Interfaz de usuario gráfica, Aplicación

Descripción generada automáticamente

El editor te permite tanto escribir el Script como generar y descargar el payload correspondiente.

En este punto, dos cosas a tener en cuenta:

  • Al tratarse de un teclado, es importante seleccionar el idioma del teclado de la víctima. Me explico. Cuando por fin logré hacer funcionar el Rubber Ducky de Hak5, las “/” de las URLs las escribía como “Ñ”. Esto se debe a que por defecto el idioma es el inglés de Estados Unidos (US). Para seleccionar el idioma, basta pulsar en la opción “Settings”,

Interfaz de usuario gráfica, Texto

Descripción generada automáticamente con confianza media

pulsar en “Compiler Settings” y en “Language:” cambiarlo por el que necesitéis, en mi caso español.

Texto

Descripción generada automáticamente

  • Al generar el payload: Hay que respetar el nombre del fichero que te da el generador, que es “inject.bin”. Si lo guardas con otro nombre no va a funcionar.

Para descargar un Script, lo puedes hacer desde https://payloadhub.com/blogs/payloads/tagged/usb-rubber-ducky . En esa página de hak5, podemos seleccionar el dispositivo para el que queremos el script y si queremos gastar una broma inocente o algo menos inocente y más relacionado con ejercicios de pentest.

Interfaz de usuario gráfica, Aplicación, Sitio web

Descripción generada automáticamente

En ambos casos, tanto si escribes y generas como si directamente descargas, el fichero “inject.bin” deberás copiarlo en la raíz del Rubber Ducky de Hak5.

3. Armado.

Esta es la parte que más me costó. En la poca documentación que consulté se referían a un botón de armado … que no veía por ninguna parte y que resulta que está dentro del dispositivo.

La gracia está en que tal como llega de fábrica el Rubber Ducky de Hak5 ese botón no se puede pulsar. Hay que retirar el protector de metal, abrir la memoria con una púa de guitarra o en mi caso con una tarjeta de crédito que tuve que afilar y, una vez separada la carcasa del circuito, pegar por dentro de la carcasa al menos dos (o más) pegatinas con forma de gota de agua que vienen en el sobre. La idea es que, al colocar la carcasa con las pegatinas, estas queden encima del botón. Este aumento de grosor hace que si aprietas la memoria en esa zona con los dedos, consigues pulsar el botón invisible. Si quieres que sea más fácil pulsarlo, en lugar de dos pegatinas pones las cuatro que vienen. Con dos y apretando bien funciona. Finalmente te toca montar de nuevo el Rubber Ducky de Hak5.

Después de este bricomanía te explico para qué sirve el botón. El botón permite alternar el funcionamiento de la memoria de memoria normal y corriente a dispositivo de ataque. Permite “armar” el Rubber Ducky de Hak5. Estas funciones también se pueden hacer por código, pero, para empezar, el botón es muy socorrido. Cuando pulsas el botón y el Rubber Ducky de Hak5 se arma, deja de verse como una unidad de disco y si se conecta, procede a ejecutar el Script. Si vuelves a pulsar el botón, el Rubber Ducky de Hak5  vuelve a su inofensivo estado de memoria flash.

4. Programa tu Script.

Yo hice un par de Scripts bastante sencillitos, aunque si revisas los que hay para descargar, verás que pueden instalar Python y ejecutar programas muy complejos.

Mi primer Script (desarrollado en un minuto) se encarga de bloquear la pantalla del ordenador con Windows al que se conecte. Descargué también algunos de los que hay en la página en la sección de bromas, en particular me pareció divertido el que te abre una pantalla azul de Windows.

El lenguaje inicialmente es bastante sencillo, ya que no dejan de ser instrucciones que mandarías por tu teclado.

5. Ejecución.

La parte más divertida.

Armamos el Rubber Ducky de Hak5 y lo metemos en un puerto USB. Tengo que decir que el antivirus no rechistó. El script de bloqueo se ejecutó sin problemas y mi pantalla se bloqueó. Probé el del pantallazo azul de Windows y … aunque un poco rupestre, ya que lo que hace es abrir una imagen en un navegador y pulsar F11 para que ocupe la pantalla completa, pues no deja de tener gracia.

6. Conclusiones.

Como todo en la vida, dedicándole el debido esfuerzo, se puede sacar mucho partido a este dispositivo. Que permita abrir una Shell de PowerShell y ejecutar comandos, descargar e instalar scripts de Python y más cosas, hacen que sea muy muy potente.

Está claro que puede ser una herramienta muy útil en ataques tipo “Drop USB”.

Si me obligaran a ponerle pegas, sólo se me ocurren dos:

  • La primera, el sistema de pegatinas. Lo tuve que leer dos veces para creérmelo porque me parecía un poco cutre.
  • La segunda, que casi todo lo que hacen los scripts es visible por pantalla. A ver, es lógico y es cierto que si no te lo esperas y dependiendo del ataque, el script puede ejecutarse antes de que se te ocurra echar mano del teclado. Supongo que quitando o rebajando las sentencias “DELAY”, irá más rápido o tanto que no se verá.

El caso es que, como casi no tengo cosas que hacer, se abre una nueva vía a la que dedicar tiempo y lo malo es que es bastante divertido.

Espero que os haya gustado este breve resumen y os ayude con los primeros pasos. Si tenéis dudas, enviadlas a nuestro buzón info@jaymonsecurity.com y si encontramos un hueco os contestamos.

English

No puedes copiar el contenido