Una Vulnerabilidad Permite Hackear Una App Rastreadora En Smartwatch
Cada vez son más las personas que sustituyen el reloj de toda la vida por un smartwatch que les permita hacer uso de funcionalidades que van bastante más allá del mero hecho de consultar la hora. Estos dispositivos, con sus numerosas características, pueden ser de gran utilidad si se hace un buen uso de su tecnología. Ese era el caso de los desarrolladores de la aplicación SETtracker y la firma china 3G Electronics: además de para hacer seguimiento de la localización de niños pequeños, aportando así tranquilidad a los padres, la app permitía enviar mensajes personalizados a pacientes con demencia (una enfermedad que según la OMS, afecta a alrededor de 50 millones de personas) para, por ejemplo, recordarles a qué hora debían tomar su medicación. Esta apliación está disponible en iOS y Android, y tiene cerca de 10 millones de descargas.
La manera en que los investigadores de PenTest Partners encontraron esta vulnerabilidad en SETtracker fue a través de un archivo de backup del código fuente de la aplicación, el cual podía descargarse en http://ser.3g-elec.com. Además del envío de mensajes personalizados por el atacante, algunos de los aspectos más preocupantes descubiertos por los investigadores tienen que ver con la filtración de información sensible:
- Contraseñas de todas las bases de datos de MySQL.
- Credenciales de los buckets de AliYun (equivalente al bucket de Amazon S3 en servidores de Alibaba Cloud).
- Credenciales de e-mail y SMS.
- Credenciales de Redis.
- Direcciones IP y servicios de 16 servidores.
- El código fuente del servidor de SETtracker.
- La contraseña establecida por defecto (123456) se incluye en el código fuente y puede ser cambiada por el usuario.
Proceso de explotación de la vulnerabilidad
La aplicación usaba una comunicación de servidor a servidor basada en una API HTTP, cuyo único requisito para la autenticación del usuario era una string semialeatoria, la cual se encontraba incluida en el código:
testssdfsdtiiskegfosssiIEROOJ9082035sdjksKLF89KHksjei39401sfKSJKE32sdfsd8934kisUIFEJkjasdfssefmzntestsdfsdtest
Lo único que los investigadores tuvieron que hacer para descubrir esto fue leer el código compilado de JavaScript del archivo descargado, para así comprender lo que la API estaba haciendo. De esta manera, y sumando la casi inexistente restricción de acceso a la API, se podía tomar el control de todos los dispositivos.
Los comandos que más llamaron la atención de los investigadores fueron los siguientes:
var str="";
else if(com=='MONITOR')
str = 'D18';
else if(com=='CALL')
str = 'D41';
else if(com=='SMS')
str = 'D42';
Estos comandos permitían monitorizar, llamar y enviar mensajes a la víctima. Los valores de estos comandos eran establecidos en la llamada que se hacía a la API, lo que quiere decir que se podía utilizar el comando FIND para localizar el dispositivo. Además, los comandos cuya ejecución estaba permitida también daban la posibilidad al atacante para cambiar la contraseña, forzar actualizaciones, ver la cámara y añadir números de teléfono.
La peligrosidad de todo esto reside no solo en el filtrado de información, sino en cómo afecta todo esto a los pacientes con demencia, a quienes hacíamos referencia al inicio de esta publicación: las personas afectadas por esta enfermedad muy probablemente no recordarán si han tomado o no su medicación en algún momento previo a la recepción de una notificación en su smartwatch indicándoles que deben hacer lo propio. Así pues, el envío de este tipo de notificaciones con intervalos de tiempo determinados podría dar lugar a una sobredosis en la persona afectada. A continuación podemos observar la parte del código que permite esta funcionalidad en particular:
GET /testssdfsdtiiskegfosssiIEROOJ9082035sdjksKLF89KHksjei39401sfKSJKE32sdfsd8934kisUIFEJkjasdfssefmzntestsdfsdtest?com=TAKEPILLS&dev_id=xxxx¶m1=yyyy¶m2=zzzz HTTP/1.1
Accept: /
Cache-Control: no-cache
Host: 52.28.132.157:8002
Accept-Encoding: gzip, deflate
Connection: close
Además, a raíz de la posibilidad de personalizar los mensajes recibidos, también se abre una ventana al ciberacoso mediante el envío de mensajes como el que se muestra en la siguiente imagen:
En el bucket de AliYun, además de credenciales, se encontró información que indicaba que ahí se almacenaban todas las imágenes tomadas por los dispositivos. Los investigadores apuntan a que, muy probablemente, estas imágenes son principalmente de menores, debido al uso extendido de estos dispositivos en este grupo poblacional.
Mitigación de la vulnerabilidad
Los investigadores de PenTest Partners se pusieron en contacto con 3G Electronics y cuatro días después de hacer pública la vulnerabilidad, la compañía modificó el acceso de la API usada para establecer la conexión de servidor a servidor, implementando una restricción por direcciones IP. Además, el código fuente, previamente público, fue eliminado.
Conclusión
Si bien es cierto que el uso de las nuevas tecnologías puede facilitar mucho la vida a las personas, hay ocasiones en las que usuarios malintencionados pueden usar este tipo de comodidades en contra de los usuarios. Una llamada telefónica tradicional o desconectar de vez en cuando del mundo virtual puede ahorrarnos bastantes dolores de cabeza.
Más información
Smartwatch vulnerability allowed hackers to overdose dementia patients
Hacking smart devices to convince dementia sufferers to overdose
Via: unaaldia.hispasec.com