Eles tentaram fazer o login em secure.telemessage.com usando um par dessas credenciais e descobriram que acabavam de hackear um usuário com um endereço de e-mail associado à Alfândega e Proteção de Fronteiras dos EUA, uma das agências que implementam a política draconiana de imigração de Trump. A CBP desde então confirmou que era um cliente da TeleMessage.
Depois de passar mais alguns minutos vasculhando o heap dump, o hacker também descobriu registros de bate-papo em texto simples. “Consigo ler os bate-papos internos da Coinbase, isso é incrível”, disse o hacker. (A Coinbase não respondeu ao pedido de comentário da WIRED, mas disse à 404 Media que “não há evidências de que informações sensíveis de clientes da Coinbase tenham sido acessadas ou que qualquer conta de cliente esteja em risco, já que a Coinbase não usa essa ferramenta para compartilhar senhas, frases seed ou outros dados necessários para acessar contas.”)
Neste ponto, o hacker diz que havia passado de 15 a 20 minutos fuçando nos servidores da TeleMessage e já havia comprometido um de seus clientes do governo federal, juntamente com uma das maiores bolsas de criptomoedas do mundo.
Como descobri analisando o código-fonte TM SGNL, os aplicativos da TeleMessage—como o que estava sendo executado no telefone de Mike Waltz—fazem upload de mensagens não criptografadas para archive.telemessage.com (chamo isso de servidor de arquivo), que então encaminha as mensagens para o destino final do cliente. Isso contradiz o material de marketing público da TeleMessage, onde afirmavam que o TM SNGL usa “criptografia de ponta a ponta do telefone celular até o arquivo corporativo.”
O servidor de arquivo é programado em Java e é construído usando Spring Boot, um framework de código aberto para a criação de aplicações Java. Spring Boot inclui um conjunto de recursos chamado Actuator que ajuda os desenvolvedores a monitorar e depurar suas aplicações. Um desses recursos é o endpoint heap dump, que é a URL que o hacker usou para baixar os dumps de heap.
De acordo com a documentação do Spring Boot Actuator: “Como os Endpoints podem conter informações sensíveis, deve-se dar cuidadosa consideração sobre quando expô-los.” No caso do servidor de arquivo da TeleMessage, os dumps de heap continham nomes de usuário, senhas, registros de bate-papo não criptografados, chaves de criptografia e outras informações sensíveis.
Se alguém na internet tivesse carregado a URL do heap dump exatamente quando Mike Waltz estava enviando mensagens usando o aplicativo TM SGNL, o arquivo de dump de heap teria contido também suas mensagens do Signal não criptografadas.
Uma postagem de 2024 no blog da empresa de segurança em nuvem Wiz lista “Arquivo de HeapDump exposto” como a configuração equivocada mais comum no Spring Boot Actuator. “Até a versão 1.5 (lançada em 2017), o endpoint /heapdump estava configurado como exposto publicamente e acessível sem autenticação por padrão. Desde então, em versões posteriores, o Spring Boot Actuator mudou sua configuração padrão para expor apenas os endpoints /health e /info sem autenticação (esses são menos interessantes para os atacantes)”, escreveu o autor. “Apesar dessa melhoria, os desenvolvedores frequentemente desativam essas medidas de segurança para fins de diagnóstico ao implantar aplicações em ambientes de teste, e essa pequena mudança de configuração aparentemente pode passar despercebida e, assim, persistir quando uma aplicação é implantada em produção, permitindo inadvertidamente que os atacantes obtenham acesso não autorizado a dados críticos.”
Em uma postagem de 2020 no blog de tecnologia global do Walmart, outro desenvolvedor deu um aviso semelhante. “Além de /health e /info, todos os endpoints do atuador são arriscados de serem abertos aos usuários finais, porque podem expor despejos de aplicativos, logs, dados de configuração e controles”, escreveu o autor. “Os endpoints do atuador têm implicações de segurança e NUNCA DEVEM ser expostos em ambiente de produção.”
A rápida exploração da TeleMessage pelo hacker indica que o servidor de arquivo estava mal configurado. Ele estava rodando uma versão antiga de oito anos do Spring Boot, ou alguém o havia configurado manualmente para expor o endpoint de dump de heap para a internet pública.
É por isso que levou cerca de 20 minutos para um hacker antes de abrir, com dados sensíveis vazando.
Apesar dessa vulnerabilidade crítica e de outros problemas de segurança com os produtos da TeleMessage—mais notavelmente, que a empresa israelense que constrói os produtos pode acessar todos os bate-papos de seus clientes em texto simples—alguém na administração Trump o implantou no telefone de Mike Waltz enquanto ele servia como conselheiro de segurança nacional.