Do e-mail ao número de telefone: uma nova abordagem de OSINT (2019)
(martinvigo.com)- UIs de redefinição de senha mostram parte do número de telefone para confirmar a conta, permitindo coletar fragmentos do número em vários serviços usando apenas o endereço de e-mail
- Como cada serviço adota critérios diferentes para mascaramento de PII, combinar os dígitos expostos por eBay, Paypal, Yahoo, LastPass, Google, Facebook, Twitter, Hotmail e Steam revela boa parte de um número de telefone americano de 10 dígitos
- Usando os dados públicos de alocação de números da NANPA e da National Pooling Administration, é possível reduzir bastante os candidatos com base no código de área, no prefixo e no bloco do número do assinante
- Serviços como Amazon e Twitter, que mostram parte do e-mail ao iniciar a redefinição de senha com o número de telefone, podem ser usados para cruzar os números restantes com a dica mascarada de e-mail
- Como a exposição do número de telefone pode levar a SIM swapping, ataques SS7, invasão de correio de voz, rastreamento de localização e spoofing de caller ID, é mais seguro que as dicas de recuperação mostrem rótulos definidos pelo usuário em vez de fragmentos de PII
Vazamento de informação criado pela UI de redefinição de senha
- O processo de redefinição de senha em vários sites mostra opções de recuperação como link por e-mail, código por SMS ou código por chamada telefônica após a inserção do e-mail
- Ao exibir opções por SMS ou chamada, muitas UIs revelam parte do número de telefone para que o usuário consiga identificá-lo
- Se você souber o endereço de e-mail, poderá iniciar o fluxo de redefinição de senha em várias contas e obter alguns dígitos do número de telefone
- O problema é que não existe um padrão para mascarar informações de identificação pessoal (PII) como números de telefone, e a implementação fica a critério dos desenvolvedores de cada serviço
- No caso do Paypal, a redefinição de senha mostra o primeiro dígito e os últimos quatro, mas o desafio de 2FA após login mostra apenas os três últimos
- Para um atacante que só conhece o e-mail, 5 dos 10 dígitos ficam expostos
- Para um atacante que conhece e-mail e senha, apenas 3 dígitos são mostrados
Diferenças de mascaramento entre serviços e efeito da combinação
- Foram comparados os fluxos de redefinição de senha de vários sites populares para verificar se podem ser iniciados apenas com o e-mail, se oferecem redefinição baseada em celular e quantos dígitos são expostos
- Os padrões de exposição variam conforme o serviço
- eBay: 3 primeiros dígitos e 2 últimos
- Paypal: primeiro dígito e 4 últimos
- Yahoo: primeiro dígito e 2 últimos
- LastPass: 4 últimos
- Google, Facebook, Twitter, Hotmail, Steam: 2 últimos
- Se a pessoa tiver contas no eBay e no LastPass, é possível descobrir 7 dígitos de um número de telefone de 10 dígitos usando apenas o endereço de e-mail
- Só essa combinação já reduz o espaço de busca de 1 bilhão de números para 1.000
Reduzindo candidatos com o sistema telefônico dos EUA
- Excluindo o código do país, os números de telefone dos EUA são compostos por 3 campos
- código de área (area code ou NPA)
- prefixo (exchange ou Central Office Code)
- número do assinante (subscriber number)
- As informações obtidas com a combinação de eBay e LastPass correspondem ao código de área e ao número do assinante; os 3 dígitos faltantes não são aleatórios, mas sim o prefixo
- A NANPA administra o plano de numeração da rede pública de telefonia do Canadá, dos EUA e seus territórios, e de alguns países do Caribe
- A NANPA fornece como dados públicos a lista de códigos de área e seus prefixos correspondentes, disponível para consulta ou download em arquivos parseáveis
- Se você mantiver apenas os prefixos realmente alocados por código de área, o número de candidatos diminui
- No código de área 415 de San Francisco, há 784 prefixos possíveis em vez de 1.000, eliminando 216 opções
- No código de área 907 do Alasca, há 625 prefixos alocados
- No código de área 253 de Tacoma, há 458 prefixos alocados, eliminando mais da metade
Como usar até os blocos do número do assinante
- É possível reduzir ainda mais os candidatos não só com o código de área e o prefixo, mas também com parte do número do assinante
- A National Pooling Administration administra o pooling de números e fornece registros públicos sobre os blocos alocados
- O pooling de números é um sistema que, em áreas de crescimento, distribui números em blocos de 1.000 em vez de lotes de 10.000
- Por exemplo, se em 415-272-XXXX apenas o bloco 415-272-9XXX estiver alocado, então 415-272-[0-8]XXX pode ser descartado e apenas 9XXX permanece como candidato
- Dessa forma, a quantidade de números válidos possíveis cai de 10.000 para 1.000
Candidatos restantes e redefinição de senha reversa
- Se o alvo em Tacoma tiver contas no eBay e no LastPass, primeiro é possível coletar 7 dígitos e depois excluir 542 opções com a NANPA, reduzindo a lista para 458 candidatos
- Ao verificar a alocação de blocos com dados da National Pooling Administration, no exemplo os candidatos possíveis caem para 445 números de telefone
- Para reduzir ainda mais os candidatos restantes, podem ser usadas fontes externas de dados como mecanismos de busca, pipl, BeenVerified, Spokeo e serviços de busca reversa por telefone
- No addon da WhitePages para Twilio, era possível fornecer apenas o número de telefone e pagar 10 centavos para obter informações pessoais
- Como esses métodos não são 100% confiáveis, o mesmo fluxo de redefinição de senha é reutilizado ao contrário
Serviços que obtêm dica de e-mail a partir do número de telefone
- Amazon e Twitter permitem iniciar a redefinição de senha informando o número de telefone e mostram parte do endereço de e-mail para o qual será enviado o link de redefinição
- A Amazon mostra a primeira e a última letra do nome de usuário e o domínio completo, além de permitir deduzir o tamanho do nome de usuário pela quantidade de asteriscos
- O Twitter mostra as duas primeiras letras do nome de usuário e a primeira letra do domínio, e também permite deduzir o tamanho pela quantidade de asteriscos
- O fluxo de ataque é o seguinte
- Iniciar a redefinição de senha em vários sites com o e-mail do alvo para coletar partes do número de telefone
- Excluir códigos de área, prefixos e blocos do número do assinante inexistentes usando os dados públicos da NANPA e da National Pooling Administration
- Tentar redefinições de senha com os candidatos restantes e comparar os caracteres mascarados do e-mail com o e-mail do alvo
- Seguindo esse processo, é possível obter o número de telefone de 10 dígitos vinculado ao endereço de e-mail sem fazer uma única ligação
email2phonenumber e phonerator
- O email2phonenumber é uma ferramenta que recebe parte de um número de telefone e gera uma lista de números válidos possíveis ao remover códigos de área e prefixos inexistentes
- A ferramenta usa os recursos de redefinição de senha da Amazon e do Twitter para testar números de telefone e comparar o e-mail mascarado exibido com o e-mail informado
- Ela randomiza parâmetros de requisição, imita o comportamento do usuário e também oferece suporte ao uso de servidores proxy
- Além da Amazon e do Twitter, há vários outros serviços com redefinição de senha baseada em número de telefone, e a ferramenta planejava aceitar pull requests para suportá-los
- O phonerator foi planejado como um serviço online para gerar listas de números possíveis com base em dados de sistemas telefônicos de vários países, e depois foi lançado
- A direção era oferecer suporte a vários países, mais detalhes, histórico e filtros avançados
- Informações como operadora, região e tempo de posse do número podem ser usadas para reduzir ainda mais os candidatos
O problema é maior em países com números curtos
- Embora o foco esteja nos números dos EUA, em outros sistemas telefônicos o mesmo mascaramento pode expor ainda mais informação
- Números de celular na Espanha começam com 6 e, mais recentemente, também com 7, e têm 9 dígitos no total
- Se serviços como eBay ou LastPass não reduzirem o mascaramento para se adequar a números mais curtos, no caso da Espanha o LastPass sozinho já revela 5 dos 9 dígitos
- Em países como Iceland, Estonia e San Salvador, onde se usam números de 7 dígitos, 5 dos 7 dígitos de clientes do eBay podem ficar expostos para alguém que só conhece o e-mail
- Combinando contas de eBay e LastPass, nesses países é possível obter o número de telefone completo apenas com o endereço de e-mail
Ataques possibilitados pela obtenção do número de telefone
- Descobrir o número de telefone pode ser o ponto de partida para vários ataques de segurança e privacidade
- Entre os vetores possíveis estão
- SIM swapping: mover o número para o SIM do atacante por meio de engenharia social, extorsão ou insiders da operadora, usando isso para redefinição de senha ou bypass de 2FA
- Ataques SS7: o abuso desse protocolo legado usado na interação entre operadoras já foi demonstrado em várias conferências de segurança como meio de rastrear localização ou interceptar comunicações
- Ataques ao correio de voz: a invasão do correio de voz pode afetar a segurança da conta
- Rastreamento de localização: problemas de rastreamento com base em número de telefone já foram tratados separadamente
- Spoofing de caller ID: serviços online permitem falsificar o número de origem para uso em engenharia social
Mitigações propostas e resposta à divulgação
- Apenas mascarar parte da PII não é suficiente
- Em países com números de telefone curtos, mascarar a mesma quantidade de dígitos expõe uma proporção maior da informação
- Mesmo em e-mails, ocultar só o nome de usuário é insuficiente, já que o domínio pode revelar o trabalho da pessoa, e o TLD pode indicar se é estudante ou até o país
- A alternativa é permitir que o usuário defina rótulos para e-mail ou telefone
- Ex.: “e-mail pessoal”, “telefone do trabalho”
- Nas dicas de redefinição de senha, mostrar o rótulo em vez de fragmentos de PII
- O ideal é que o usuário não forneça número de telefone se não for necessário; se for, pode considerar um número virtual como o Google Voice ou um SIM separado
- No processo de divulgação responsável, foram contatados serviços que mostravam mais de 2 dígitos ou expunham código de área e prefixo
- O LastPass atualizou a máscara para mostrar apenas os 2 últimos dígitos
- O eBay mudou para um formato que mostra o primeiro dígito e os 2 últimos, mas isso ainda não é suficiente
- O Yahoo estava, na época, revisando o risco e as mitigações
- O Paypal considerou intencional o comportamento de mostrar 5 dígitos para quem só conhece o e-mail e decidiu não agir
1 comentários
Comentários no Hacker News
Comprei peças de carro de um sujeito meio picareta, mas já fazia semanas que ele estava com o dinheiro e não tinha enviado tudo o que eu tinha pedido
Como conversamos em várias plataformas, cada uma revelava um pedacinho da identidade dele e, juntando tudo, o quadro completo apareceu
Liguei para o local de trabalho dele, no mesmo setor das peças que ele vendia, e pedi que enviassem as peças; quando também perguntei de leve se o empregador dele estava envolvido nessa venda, a atitude mudou na hora e, no dia seguinte, ele enviou tudo o que eu tinha comprado, além de alguns extras
Eu só precisava de um ponto de pressão
Um detalhe que faltou no texto é o banco de dados CNAM, limitado aos EUA
O CNAM é o banco de dados usado quando a operadora mostra um identificador de chamadas em texto, como "SMITH JOHN", em vez de "+1 (555) 123-4567"
A consulta não é gratuita, mas deve haver uma forma relativamente barata de processar algumas centenas de números, e também dá para criar um algoritmo para escolher o candidato mais plausível, já que nome e e-mail muitas vezes se parecem
Os dados também costumam estar errados de maneiras interessantes, mas ainda assim são bem úteis
curl/usr/local/bin/curl -s -X GET "https://lookups.twilio.com/v1/PhoneNumbers/…; -u $accountsid:$authtoken | /usr/local/bin/jq '.'Não lembro o custo exato, mas pode ser algo como 1 centavo por consulta, e ela também mostra a operadora e se é celular ou linha fixa
Depois de mudar o CNAM, conferi com a consulta de número da Twilio e, em princípio, você deveria usar o nome real da pessoa, mas na prática é um sistema de honra
[1] https://www.t-mobile.com/support/tutorials/device/app/ios/to...
[2] https://www.twilio.com/code-exchange/lookup
Uso meu nome real no endereço de e-mail, e meu número de telefone também está público em várias listas telefônicas
Na Suécia, a prática padrão é que endereço e telefone fiquem publicamente pesquisáveis, a menos que você opte por não permitir isso; é basicamente a informação que estava nas listas telefônicas dos anos 80 e foi para a internet nos anos 90
Esses dados pessoais públicos podem ser úteis, mas também podem ser explorados de forma maliciosa
Por outro lado, como há muito PII público — como SSN, endereço, telefone e data de nascimento — as pessoas nem precisam tratar essas informações como se fossem secretas, e isso torna necessário ter documentos de identidade e eID adequados para que não seja fácil se passar por alguém só por saber alguns números
Se alguém quiser meu número de telefone, pode pegar um e-mail com meu nome e sobrenome, encontrar 100 pessoas com o mesmo nome num site de buscas e, sabendo a cidade e uma idade aproximada, reduzir isso a alguns candidatos
Os registros públicos mostram data de nascimento, carros, renda e até outras pessoas registradas no mesmo endereço, então coletar informações de fontes públicas na Suécia não é difícil
É surpreendente que o PayPal mostre 5 dígitos, incluindo o DDD, para alguém que só sabe o endereço de e-mail, e, ironicamente, mostre só 3 dígitos se o atacante souber a senha da vítima
Também é estranho que eles considerem isso como “funcionando conforme o esperado” e não façam nada
Fico curioso sobre como os golpistas conseguem o número pelo LinkedIn ou como o conectam a números de outras fontes; em uma empresa, os funcionários continuam caindo em mensagens falsas do CEO
No fim, valeu a pena a trabalheira de usar um endereço de e-mail diferente e um número do Google Voice para cada serviço
+do Gmail para criar endereços misturadosPara serviços externos, fica algo como
gary+FqZWMK@gmail.com, e na minha caixa de entrada eu convertoFqZWMKno nome do serviço, como Netflix, e crio automaticamente pastas organizadasComo controlo totalmente o mapeamento, também posso fazer com que vários endereços aleatórios sejam enviados para uma caixa de entrada “descartável”, que vira spam automaticamente depois de um tempo
Para usar um segundo SIM, ainda é preciso ter um dispositivo dual SIM, que nos EUA continua sendo algo relativamente de nicho
Muitos sites consultam números VoIP e os bloqueiam, mas no Android ainda não há uma boa forma de trocar mensagens SMS da operadora pelo desktop de maneira decente
A interface web do Google Messages esquece o dispositivo com frequência demais para ser usada seriamente, e se depois adicionarem bloqueio a VoIP pode surgir um problema de ovo e galinha em que até a autenticação em duas etapas por SMS fica bloqueada e você não consegue mais usar a conta
Alguns serviços, como a farmácia Harris Teeter, não verificam se o número realmente é alcançável, então aceitam número VoIP, mas como o sistema não consegue enviar ligações nem mensagens, você acaba sem receber alertas de receita
Mudou a forma como meu celular e meu notebook interagem, e talvez seja meu projeto de código aberto favorito
Dá para usar o notebook como teclado, responder mensagens de qualquer app que envie notificações e mandar arquivos de um jeito mais rápido e melhor do que qualquer outro
Tem o tamanho daqueles antigos dispositivos 2FA tipo cartão de senhas, e no começo a motivação foi que minha esposa ficava pegando meu celular de verdade para receber códigos de segurança de contas compartilhadas
Também melhora um pouco a segurança operacional em relação a usar o número do telefone principal
Pela minha experiência, o único site que bloqueava era o Discord
Pessoalmente, prefiro usar um email dedicado menos óbvio por conta, como
ebpnw@mydomain.com, para que o atacante também tenha que adivinhar o emailiPhones dual SIM são suportados a partir do iPhone XS, iPhone XS Max e iPhone XR
Fonte: https://support.apple.com/en-us/HT209044
Já existem 6 gerações de iPhone dual SIM com pelo menos um eSIM
Esse tipo de vazamento de informação descoordenado é um problema mais profundo
Muitos lugares compartilham os quatro últimos dígitos do SSN, e os cinco primeiros muitas vezes eram fáceis de estimar pela data de nascimento e pelo estado de nascimento, além de os primeiros números indicarem o estado onde o número foi emitido
Ainda inclui a maioria dos adultos atuais, mas mesmo assim vale separar isso
Isso não impede em nada o rastreamento e a coleta de dados por governos e grandes organizações, obriga você a continuar esbarrando num sistema de identidade nacional provisório de fato sempre que precisa fazer algo importante, e mesmo assim não oferece nenhuma das vantagens de um sistema de identidade nacional de verdade
Gera uma quantidade enorme de sofrimento e perda de tempo sem motivo algum
Sempre me perguntei como pesquisadores de segurança justificam publicar ferramentas automatizadas de geração de email→telefone como a deste post de blog
Parece bem provável que esse tipo de ferramenta tenha muito mais usos ruins ou assustadores do que bons
Fico em dúvida se acham aceitável por ser “pesquisa” e por já estar de qualquer forma numa zona cinzenta, ou se sentem que está tudo bem porque conversaram com as empresas expostas e agora isso já foi neutralizado
Um bom exemplo é o Firesheep: em Wi-Fi público, bastava rodar um plugin do Firefox para capturar na hora a sessão de usuários da mesma rede que tivessem feito login via HTTP
Na época, o Facebook usava HTTP por padrão, e quando esse plugin virou notícia houve pressão para tornar o HTTPS obrigatório quase da noite para o dia, com muitas empresas seguindo o mesmo caminho
Não é exagero dizer que essa divulgação acelerou bastante a adoção de HTTPS
Não sei se esta divulgação terá impacto parecido, mas ainda acho melhor do que deixar esse tipo de técnica conhecida só por black hats
Dá para avaliar: “divulgar essa informação traz mais benefício do que dano?”
As informações divulgadas por Martin Vigo em 2019 me ajudaram a alertar empregadores e clientes atuais sobre mais um modelo de ameaça a considerar ao definir como fazer redefinição de senha
Em defesa disso, a prova de conceito originalmente publicada era bem limitada, exigia uma conta na Twilio, o que cria uma barreira de entrada, e ainda deixa pistas para analistas se for usada em crime
É meio um segredo aberto que uma parte considerável de quem entra em cibersegurança entra porque gosta de quebrar segurança de formas inteligentes, mais do que de realmente ajudar outras pessoas a ficarem seguras
Ainda assim, pesquisa em segurança é legal; hackear alvos aleatórios é ilegal
Também fica mais difícil para uma empresa alegar desconhecimento quando houver consequências legais