En el presente artículo os traemos la ponencia que impartió Martín Vigo sobre lo relativamente sencillo que es localizar un número de teléfono partiendo de una dirección de correo electrónico.
Durante la ponencia «OSINT tiene un nuevo amigo: El Plan Nacional de Numeración Telefónica de un país», Martín Vigo comparte con nosotros un nueva manera de averiguar el número de teléfono que hay detrás de un correo electrónico, además de trucos para implementar en nuestras investigaciones OSINT y presenta una herramienta que automatiza el proceso.
Conociendo al ponente
Martín Vigo es Red Teamer e investigador en Seguridad de Producto e Ingeniería de Software, también enfocó su carrera en seguridad móvil, identidad y autenticación, revisiones de código, pentesting y mantener la nube segura.
En la actualidad, según sus propias palabras, ha pasado al trabajo de seguridad ofensiva, poniéndose «el sombrero negro para emular las técnicas y procedimientos de los malos para ayudar a atraparlos»
Fundador de Triskel Security, podcaster en Tierra de Hackers, forma parte del Red Team de Facebook…
Puntos tratados en la ponencia
Martín Vigo presenta una ponencia donde nos adentra en lo sencillo que puede resultar la localización de un número de teléfono usando una dirección de correo electrónico. Los puntos tratados durante su intervención son:
- Privacidad
- Seguridad
- Utilidades
- Típicas metodologías
- Propósito de esta charla
- Vector de ataque
- Presentación de email2phonenumber.py
- Presentación de phonerator
- Recomendaciones
Privacidad
Durante esta parte de la ponencia, Martín Vigo nos explica de cómo podemos conseguir, teniendo el correo electrónico de un objetivo, su número de teléfono y la importancia de entender que ese mail solemos facilitarlo sin darle importancia.
Se suele tener más reparo a la hora de hacer pública una foto, la fecha de nacimiento, el número de teléfono y, de ninguna manera, mostramos nuestra dirección postal o el número de DNI o pasaporte.
La cuestión es que un mail no nos cuesta darlo a cualquiera persona/web que nos lo solicite
Seguridad
¿Cuál es la diferencia entre que alguien tenga nuestro correo electrónico y que tenga nuestro teléfono?
Mirándolo desde el punto de vista ofensivo, un atacante que tenga nuestro correo electrónico puede intentar hacer spam o phishing, podría hacer ataques de spoofing (atacar a otra persona que nos conoce haciendo uso de nuestra dirección de email haciéndose pasar por nosotros) y no podemos olvidar el password dumps, que son las listas con nombre de usuario y contraseña que se pueden encontrar en la Deep Web, donde se puede comprobar con ese mail si apareces en ese listado.
¿Y qué ocurre si alguien tiene nuestro número de teléfono? Pueden hacernos spam y phishing, spoofing, registros HLR (parte del protocolo GSM que, si accedes a la web hlr-lookup y buscas un número de teléfono, te va a dar algunos detalles tales como si está en roaming, dejando en evidencia si estás en ese momento fuera de tu pais y que puede ser utilizada para acceder a tu vivienda aprovechando tu ausencia), hackeo del buzón de voz, torres GSM falsas, ataques SS7 y, sobre todo, SIM Swapping
Utilidades
Como en todos estos temas, siempre hay quien pueda utilizar esta información para hacer el bien como para todo lo contrario.
Las utilidades positivas pasan desde el punto de vista de detectives privados que están investigando, por ejemplo, casos de corrupción, pasando por las fuerzas del Estado, profesionales del OSINT, Red Teams, ya que el hecho de contar con un correo electrónico es más factible y conseguir localizar el número de teléfono que hay detrás puede abrir nuevas vías en la investigación.
Pero, como bien indica, también existe un lado malo, como son los Stalkers (personas que se obsesionan con algún famoso o con una ex-pareja), Doxxers, Spammers…
Típicas metodologías
Martín Vigo, en esta parte de la ponencia, nos indica las distintas maneras que tenemos para poder obtener ese número de teléfono a partir de un correo electrónico, ya sea con Google Dorks, Registros públicos, Buscadores especializados, Guías telefónicas, Filtración pública de datos, Ingeniería Social…
Propósito de la charla
Simplemente, darnos un nuevo truco para nuestra metodología de OSINT y enseñarnos dos herramientas.
Para ello, se va a centrar en números de teléfono americanos
Trabajando en otros temas, pasó mucho tiempo probando y restableciendo contraseñas en distintas web, notando un patrón que le había resultado desapercibido al comienzo.
Cuando solicitas restablecer una contraseña, escribes tu email y te da distintas opciones: recibir un mail con un enlace, recibir un SMS con un código de seis dígitos e, incluso, tenemos la opción de recibir una llamada y oír el código secreto.
Cuando se pide la contraseña por SMS o llamada, la interfaz muestra parte del número de teléfono, los necesarios para que podamos reconocer cuál es por si disponemos de varios números. Por tanto, si conocemos el correo electrónico de una persona, podemos iniciar el proceso de restablecimiento de contraseña para sus cuentas y así tener varios dígitos del teléfono.
También se dio cuenta que no todas las webs revelan los mismos dígitos, por lo que no existe un formato estándar de enmascarar la información de identificación personal (PII).
Un caso curioso es el de Paypal, que oculta más dígitos a un atacante que ya conoce su contraseña que a uno que sólo conoce su dirección de correo electrónico.
Por este motivo, Martín Vigo hizo un listado de las webs más populares y verificó el proceso de restablecimiento de contraseña para poder identificar el número de dígitos mostrados.
Fugas de los primeros tres y dos últimos dígitos:
- eBay
Fugas de los primeros y últimos cuatro dígitos:
- Paypal
Fugas primero y dos últimos dígitos:
- Yahoo
Las fugas duran cuatro dígitos:
- Lastpass
Fugas de los últimos dos dígitos:
- Hotmail
- Steam
Por lo que si tenemos una cuenta de eBay y de LastPass, un atacante puede conocer siete de cada diez dígitos de nuestro número de teléfono tan solo por saber nuestro email, faltando solamente tres para conocerlo por completo
¿Qué debemos hacer para conocer los números que faltan? Simplemente, centrándonos en los que sí conocemos.
Un número de teléfono de Estados Unidos se compone de 3 campos: código de área (NPA), exchange (o centralita) y número de suscriptor, por lo que no es que nos falten 3 números, es que nos faltan los 3 dígitos correspondientes al Exchange, ayudándonos a reducir aún más las posibilidades.
En este momento de la ponencia, Martín nos enseña NANPA, el Administrador del Plan de Numeración de América del Norte. Mantiene una lista actualizada de códigos de área y los intercambios correspondientes, siendo de acceso público. Además, se actualiza con frecuencia y se pueden consultar datos o descargar un archivo con toda la información.
Pone como ejemplo San Francisco, con el código de área 415. Al usar NANPA, se reduce considerablemente (un 20%) los Exchanges posibles, pasando de mil a 784 números posibles.
Pero, ¿existe algún registro público que pueda ayudarnos a descartar números de teléfono no válidos según el número de suscriptor?. La respuesta es SI: National Pooling Administration.
Los primeros 3 dígitos lo reducen a un área más amplia como San Francisco, el intercambio 272 es específico de Sausalito y los 4 dígitos que faltan especifican la persona real (suscriptor) en esa área limitada. Debido a que los operadores poseen el código de área específico + intercambio, esto significa que hay 10000 números de teléfono asignados a los residentes de Sausalito que tienen un plan con AT&T (el operador que posee 415-272)
El National Pooling Administration es el responsable de administrar esos bloques y tiene registros públicos con ellos, incluido el dígito de abonado.
Podemos utilizar estos datos para descartar más números no válidos. Por ejemplo, tomando ese número de Sausalito 415-272-XXXX al que le faltan los últimos 4 dígitos, podemos usar los registros públicos para descartar números de teléfono como 415-272- [0-8] XXX y enfocarnos solo en los números con los que el suscriptor comienza 9. En otras palabras, hemos reducido los posibles números de teléfono válidos de 10 mil a mil.
Aún así, podemos seguir reduciendo ese número usando la dirección de correo electrónico de nuestro objetivo buscándolo en esas web donde pueda estar registrado (eBay, Amazon, PayPal…) dejando ya «sólo» 445 números de teléfono posibles.
Pero ¿se puede hacer algo más?. Si recuerdas el comienzo de la ponencia, partíamos de una dirección de correo electrónico para obtener algunos dígitos del teléfono. Ahora vamos a hacerlo a la inversa: vamos a usar la lista de número de teléfonos posibles para resetear las contraseñas y obtener algunos de los caracteres del mail.
Presentación de email2phonenumber.py
Es una herramienta que permite, proporcionando un número de teléfono parcial, obtener una lista de todos los posibles número de teléfono válidos, eliminando los códigos de área y los exchanges que no existan.
Las características más importantes de esta herramienta son:
- Recolección de dígitos de las principales webs
- Generación de listas de teléfonos válidos en base al plan de numeración nacional.
- Bruteforcing de reseteo de contraseñas en base a una lista de teléfonos
- Soporte de listas de proxies para evitar captchas e IP banning
- Fácil de extender para añadir soporte para webs adicionales
Si quieres probarla, puedes instalarla desde aquí
Durante la duración de la ponencia, siempre se ha estado hablando de números norteamericanos. ¿Qué ocurre con los números de otros países?
Si tienes la «mala suerte» de vivir en Estonia, Islandia, San Salvador… tu número de teléfono está al descubierto por completo gracias a Ebay y Lastpass, puesto que esos números se componen de 7 dígitos y Ebay proporciona los 3 primeros y Lastpass los 4 últimos (3+4=7)
En España, los números tienen 9 dígitos y los móviles empiezan siempre por 6, 71, 72, 73 o 74 y es la Comisión Nacional de los Mercados y la Competencia hace exactamente lo mismo que el NANPA en Estados Unidos.
Presentación de Phonerator
Gran parte de lo que hace esta herramienta ya lo hacen otras como Burp, por ejemplo. Pero Phonerator se basa en la recopilación, análisis y uso de los datos públicos disponibles relacionados con el plan de numeración de un país.
Cuando se realizó la ponencia, Martín Vigo estaba en plena fase de desarrollo de este servicio que iba a permitir generar listas de posibles números de teléfono, se podría filtrar por operador, si sabemos que la persona investigada es de California (por ejemplo), Phonerator tendría en cuenta sólo esos códigos de área
Antes de acabar 2020, Phonerator ya era una realidad
Recomendaciones
La propuesta de Martín, al acabar la ponencia, es que las empresas permitan a los usuarios establecer etiquetas para identificar el correo electrónico o el número de teléfono (correo electrónico personal, teléfono del trabajo), pero que no muestre caracteres de ningún tipo a la hora de restablecer la contraseña.
De cara al usuario recomienda que no proporcionemos nuestro número de teléfono a no ser estrictamente necesario. Si es un requisito obligatorio, podemos optar por un número virtual como Google Voice o tener una SIM solo para este fin.
VISUALIZACIÓN DE LA PONENCIA
VISUALIZACIÓN DE LA PRESENTACIÓN DE LA PONENCIA
Conclusión
Tal vez con esta ponencia abramos los ojos y veamos que todos los datos están relacionados entre sí. Solemos pensar que por dar una dirección de correo electrónico, un gesto que hasta ahora considerábamos insignificante, no nos va a pasar nada, pero Martín Vigo nos ha demostrado que debemos mantener nuestros datos seguros.