Seguridad

Advanced Persistent … Toys! : Cómo crear un Chucky “Alonso” [2 de 4] – Making & Working

Tras acabar los antecedentes de este proyecto “Codename:Chucky_as_a_Servive”, vamos a continuar con la parte que tiene que ver más con los “makers“. Al final, la idea de este Advanced Persistent Toy es la de crear un autentico Caballo de Troya en un espacio físico donde hay SmartSpeakers como Alexa o Google Home, así que necesitábamos un buen “caballo de madera”, o en este caso un juguete lo suficientemente grande.

Figura 12: Advanced Persistent … Toys! – Cómo crear un Chucky “Alonso”
[2 de 4] – Making & Working

Nosotros elegimos a Chucky, el muñeco diabólico porque nos parecía muy apropiado para la presentación, y buscamos uno que tuviera unas buenas dimensiones para poder incluirle una placa de control, un módulo de conectividad móvil, y una tarjeta de sonido para escuchar y hablar.
Y como era un proyecto de “Makers“, de esos que nos gusta tanto, pusimos a nuestro querido Alvaro Núñez-Romero del equipo de Ideas Locas a hacer los honores de elegir el hardware y “operar” a nuestro querido muñeco “Chucky”, Al final, los componentes elegidos fueron una Raspberry Pi Zero W, una WM8960 Hi-Fi Sound Card Hat y un módulo de comunicaciones GSM/GPRS/GNSS/BT Hat que teníamos a mano, pero puedes usar una Waveshare 4G/3G/2G/GSM/GPRS/GNSS Hat for Raspberry Pi 4 Jetson Nano Based on SIM7600E-H Supports LTE CAT4 for Downlink Data Transfer para tener 4G.

Figura 14: Hardware para hacer el proyecto

Como el objetivo era hacer una de nuestras PoCs & Hacks Just For Fun con Raspberry Pi, aprovechamos el espacio que traía la electrónica del propio muñeco de Chucky y metimos una batería externa que alimentara el equipamiento.

Figura 15: Esquema de conexión del HW de Chucky_as_a_Service

El esquema de conexión es muy sencillo, y hay que tener en cuenta que hay que conectarle los altavoces y y micrófono para que nuestro muñeco diabólico pueda escuchar la voz de las personas que se va a clonar, además de reproducir los comandos de voz que se envían desde el C&C cuando no hay nadie en casa.

Figura 16: “Operación HW” de Chucky

Si esto se convirtiera en un APT de verdad para una compañía, habría que buscar una solución con acceso a energía permanente, ya sea por medio de que sea un dispositivo siempre conectado, o porque tenga una recarga constante tipo la Roomba

Figura 17: Otras CPU para hacer tu proyecto

Para nosotros era suficiente, pero podrías elegir otro muñeco, otro dispositivo y otro hardware para hacer el tuyo propio, con CPUs más pequeñas, y meterlas en otros muñecos menos “sospechosos” que nuestro muñeco diabólico.

Figura 18: Elige el mejor muñeco para meter tu “Chucky”

Una vez terminada la parte del hardware hay que pasar a la parte del software. Para eso, vamos a repasar los objetivos del proyecto, que nos llevarán a una arquitectura concreta para poder hacerlo de la mejor manera posible
Objetivos del Proyecto Chucky_as_a_Service
Vamos a describir las partes fundamentales del proyecto, y luego vemos las piezas de la arquitectura software que hemos construido, y las demos de Chucky_as_a_Service funcionando.
  •  C&C en SasS: Cada muñeco Chucky envía sus audios a su panel de control en la nube. Todos los audios se suben a la nube donde se ejecutan los algoritmos de Machine Learning para diarizar los ficheros de audio, para reconocer a los speakers, y para, como no, clonar las voces utilizando un API de ElevenLabs.

Figura 20: C&C de Chucky as a Service

  • Ejecución de comandos de voz: Con la voz clonada elegida se ejecutan comandos de voz desde el muñeco, para poder controlar los SmartSpeakers del hogar.
Figura 21: Alexa Voice ID
  • Bypass de protección de reconocimiento de voz “Voiceprinting”: Tanto el utilizado por Alexa – que se llama Alexa Voice ID -, como el de Google Home – llamado Speaker ID -: Para ello, se utilizan servicios de Text-To-Speech desde el APT y el API de ElevenLabs para conseguir el audio con el texto, el tono y la voz elegida para lanzar el comando.
  • Ejecución de Payloads: Una vez que tienes el el muñeco en el entorno físico objetivo, y ya se ha clonado la voz, solo debe esperarse a que no haya nadie en el hogar, algo que se puede hacer o bien analizando el ruido en el hogar, o las perturbaciones en la señal WiFi, y ejecutar comandos de voz para Alexa o Google Home que permitan tanto extraer información como ejecutar acciones en el dispositivo del hogar. 
Figura 23: Chucky_as_a_Service Payloads
Para ello, hemos probado una lista de ellos con Google Home, Alexa y Siri, y en las configuraciones por defecto estos son los resultados obtenidos. De la parte de Siri, teníamos mucho hecho del libro de “Hacking iOS: iPhone & iPad (2ª Edición)” y de cuando nos dio por la locura de  Klingonizar un iPhone con comandos de voz.


Figura 24: Libro de Hacking iOS:iPhone & iPad (2ª Edición) en 0xWord de
Chema AlonsoIoseba PalopPablo González y Alejandro Ramos entre otros.
 
  • Se escuchan las respuestas y se suben al C&C: Por supuesto, después de ejecutar un comando con el SmartSpeaker, se escuchan las repuestas y se suben al panel de Control para que se puedan escuchar y transcribir el texto obtenido.
Figura 25: Exfiltración de la agenda de actividades en el C&C

Y hasta aquí esta segunda parte, en la siguiente veremos la arquitectura software y al muñeco diabólico haciendo de las suyas. 
¡Saludos Malignos!
***************************************************************************************
***************************************************************************************
Autor: Chema Alonso (Contactar con Chema Alonso)  

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.