A través de dicha interfaz podemos subir y descargar archivos para intercambiarlos con otros dispositivos. Lo primero que llama la atención es la no utilización de ningún tipo de cifrado en la conexión entre iFile y el dispositivo que se conecta, pero además no existe ningún tipo de autenticación por defecto, lo que permite que cualquier usuario que se encuentre iFile activo, por ejemplo en segundo plano tras utilizarlo, tiene acceso completo al dispositivo. Recordad que iFile se ejecuta como root, por lo que el acceso al dispositivo será completo pudiendo descargar el fichero de usuarios, agenda, fotos, SMS, etcétera. Hace pocos días hablamos en Seguridad Apple de dos bugs encontrados en la herramienta Air Transfer cuya finalidad es similar a la de iFile. La diferencia es que Air Transfer no se ejecuta como root.
Analizando peticiones
Tras analizar diferentes peticiones llegamos a las siguientes conclusiones:
- Es fácilmente implementable en un script que detecte esta app en el puerto 10000.
- Podemos automatizar la descarga de contenido que nos interese en el dispositivo.
- La utilización de iOS con jailbreak en redes no seguras, como por ejemplo WiFi en centros comerciales, ponen en riesgo la confidencialidad del dispositivo. Esta afirmación hay que matizarla, y es que lógicamente debemos tener claro que el usuario debe tener abierto la app. En muchas ocasiones un usuario piensa que la app se ha cerrado, aunque se encuentre realmente en background.
La respuesta obtenida es el listado de archivos que podemos encontrar en la raíz del dispositivo. iFile responde en formato HTML tal y como se puede ver en la siguiente imagen.
Cualquier usuario malicioso puede preparar un script malicioso que compruebe en la red en la que se encuentre si existe un servidor web en el puerto 10000 y si lo que se presenta en ese puerto corresponde con la app. En el siguiente ejemplo se ha hecho una pequeña prueba de concepto en la que se realiza una petición directamente a un recurso dónde se encuentra el fichero SystemVersion.plist. En este fichero se indica la versión del sistema operativo, entre otras cosas.
Lógicamente se podría ampliar mucho la funcionalidad, tanto en detección como en explotación y obtención de ficheros. Además, la integridad de los ficheros que se encuentran en el dispositivo queda en riesgo, ya que pueden ser descargados, alterados y subidos. A continuación se muestra un ejemplo de la salida del script.
La versión del dispositivo es un iOS 7.1.1, pero como se puede entrever este tipo de aplicaciones son un riesgo si quedan olvidadas en el equipo y siguen funcionando. El acceso completo al dispositivo de forma remota debe estar siempre controlada por el usuario y que éste no sea olvidadizo.
Publicado en Seguridad Apple - Google+ - RSS - Eleven Paths
Continúar leyendo...