03 abril 2014

Una sonda en las Webs de SMS gratuitos

Hace algunos días y realizando un proceso de registro en un servicio Web me solicitaron un número de teléfono al que enviar un SMS para confirmar la cuenta que estaba creando, de modo que busqué algún servicio gratuito al estilo de 10minutemail pero aplicado a mensajería SMS y encontré el artículo que escribió Yago Jesús: Cómo obtener números SMS temporales .

Una vez introducido el número de teléfono en el servicio que estaba registrando y como estaba tardando más de la cuenta la recepción del SMS, aproveché para dar una vuelta por estas Webs de SMS públicos y curiosear.

Encontré que gran cantidad de los servicios gestionaba correctamente la cantidad de información expuesta al enviar credenciales de acceso parciales:



Mientras que en otros casos no han sido tan cuidadosos y han expuesto los credenciales de acceso al completo:





También se pueden encontrar publicadas licencias de uso de servicios:




E incluso transacciones de banca online:



O deducirse ataques por fuerza bruta al ver el mismo patrón prolongado durante horas:

...


Como dudo que sea el primero o el último que mire con curiosidad estos servicios he querido hacer una última prueba, crear un sencillo honeypot:



Y publicar en cada página de SMS unos credenciales de acceso distintos para el honeypot:




El honeypot no tiene nada más que una pantalla de inicio de sesión y si se supera el proceso de login una pantalla que indica que se encuentra en mantenimiento.
Aquí lo interesante de la prueba es confirmar si hay personas o sistemas barriendo estos servicios para intentar acceder a información con los credenciales publicados, y esto queda confirmado como podéis ver en el enlace directo al fichero de log del honeypot, aunque no existe un alto grado de actividad, podemos confirmar que desde luego hay movimiento:



Os dejo también unos enlaces a una herramienta que he desarrollado para descargar todos los SMS de algunas de estas Web. Con sólo ejecutar ya se encarga él solito de descargarlo todo a un CSV, y podéis pararlo y volver a iniciarlo y continuará por donde se quedó:



Tenéis más información en su README, pero en resumen la herramienta os dará las siguientes posibilidades:
  • Se puede dejar en ejecución e irá capturando todos los nuevos SMS que no haya procesado previamente
  • A través del fichero SMShound.exe.config podréis establecer diferentes variables como el tiempo entre descargas de nuevos SMS, parámetros de envío de correo o rutas a ficheros de salida y entrada de datos
  • Descargar los SMS a un fichero en formato CSV para su posterior análisis. Si detenéis la aplicación (cerrando la ventana o con CONTROL+C) podréis volver a iniciarla y continuará descargando desde donde se quedó
  • Definir en un fichero palabras_clave.txt palabras especiales a buscar entre los mensajes. Cuando la aplicación los detecte enviará los SMS por email a la cuenta que hayáis configurado
  • Y por último y os sirve más allá de su alcance actual,  podéis ajustar el código del proyecto para recolectar información de otros servicios.

Conclusiones finales

Como habéis visto en las capturas de ejemplo hay que tener cuidado con los servicios en los que nos registramos utilizando estos números de teléfono para recibir el SMS, un mal servicio podría enviar un SMS exponiendo públicamente información personal como nuestro nombre real o el de usuario, la dirección de correo, una contraseña que utilicemos o incluso una licencia de uso (permitiendo a una herramienta automatizada robar ese dato).

Artículo cortesía de Miguel Ángel García
Twitter: @nodoraiz