Hacking

Hacker de 16 anos descobre falha absurda em sistema interno da Microsoft

Continua depois da publicidade

Um hacker de 16 anos encontrou uma falha de autenticação em um serviço interno da Microsoft que parece saída de um daqueles casos em que você olha para o código e pensa: ninguém conferiu isso?

O pesquisador, conhecido como Faav, descobriu que o Titan, uma plataforma interna de análise de dados da Microsoft, aceitava tokens JWT sem verificar corretamente sua assinatura criptográfica. Na prática, isso permitiu que ele assumisse a identidade de um administrador e executasse consultas SQL sem possuir credenciais legítimas da Microsoft.

Continua depois da publicidade

O tamanho do ambiente ajuda a entender por que a descoberta chamou tanta atenção. Segundo os metadados analisados pelo próprio pesquisador, os bancos conectados ao Titan armazenavam uma estimativa de 17.333.335.124.315 linhas.

Sim, mais de 17 trilhões.

Mas existe uma diferença importante aqui. Não foram 17 trilhões de registros roubados, vazados ou sequer consultados por Faav. O número representa uma estimativa de armazenamento calculada a partir dos metadados dos bancos e pode incluir informações históricas, duplicadas e derivadas. E essa diferença muda bastante a história.

Tudo começou com uma API que continuava acessível

Faav encontrou o Titan em 25 de agosto de 2026 enquanto utilizava o Antares, ferramenta de pesquisa de segurança baseada em inteligência artificial desenvolvida por ele.

A interface web do serviço estava protegida por uma página informando que uma VPN da Microsoft era necessária. Para quem estivesse fora da empresa, aparentemente a história terminaria ali. Aparentemente.

Continua depois da publicidade

O Antares continuou procurando subdomínios da Microsoft e encontrou uma API separada hospedada no Azure Cloud Services. Um arquivo Swagger público revelava quatro rotas, incluindo /v2/Query, justamente um endpoint capaz de receber consultas SQL.

Sem autenticação, a API respondia com erro 401. Então começou a investigação sobre como o Titan validava os tokens JWT apresentados pelos usuários.

Durante aproximadamente dez dias, o Antares foi modificando diferentes informações do token e observando as respostas produzidas pelo sistema.

O comportamento levantou uma suspeita importante: os dados dentro do JWT mudavam, a assinatura permanecia a mesma e, mesmo assim, o Titan continuava avançando pelas etapas de validação.

Era como conferir cuidadosamente todas as informações de um documento e esquecer de verificar se o documento era verdadeiro.

Continua depois da publicidade

O Titan verificava o token, mas esquecia da parte mais importante

Um JWT assinado normalmente possui três partes: cabeçalho, conteúdo e assinatura.

É justamente a assinatura que permite ao sistema verificar se aquele token foi realmente emitido por uma fonte confiável e se as informações não foram adulteradas.

Faav então criou um JWT utilizando alg:none, ou seja, sem assinatura. O Titan aceitou.

O token ainda precisava apresentar informações esperadas pelo serviço, como tenant, audiência e identificação da aplicação. Depois de ultrapassar essas verificações, porém, o sistema tentava localizar o usuário informado no campo upn.

Inicialmente, tanto Faav quanto as ferramentas de IA utilizadas no Antares tentaram endereços que pareciam identidades válidas da Microsoft. Nada funcionava.

Até que, depois da 1h da manhã de 5 de setembro, Faav resolveu ignorar o significado tradicional daquele campo e pensar em como o backend poderia estar usando a informação.

Em vez de um endereço de email, colocou simplesmente: admin e para sua surpresa, funcionou.

O Titan interpretava o conteúdo de upn como um nome de usuário local. admin correspondia ao usuário de ID 1, que possuía a função de administrador.

Depois de dez dias investigando autenticação, a resposta estava em uma das palavras mais óbvias possíveis.

Às vezes segurança cibernética envolve criptografia, infraestrutura distribuída e sistemas complexos. E às vezes alguém tenta admin.

O acesso levou aos bancos internos do Titan

Depois de conseguir executar SQL, Faav começou pelo TestData, esperando encontrar apenas informações de teste. Foi exatamente o que aconteceu.

O problema ficou maior quando uma consulta revelou outros bancos disponíveis, incluindo o banco de metadados da própria plataforma Titan.

Continua depois da publicidade

Segundo o pesquisador, esse ambiente continha aproximadamente 25 mil registros de contas e emails, 17.990 registros de emails de funcionários e 15.001 registros relacionados à estrutura organizacional de empregados.

Também existiam 355 configurações de bancos de dados, 20.979 definições SQL de conjuntos virtuais, 24.569 dashboards, 425.891 gráficos e 27.347 definições de datasets.

Faav afirma que essas informações correspondiam apenas a uma parcela dos funcionários da Microsoft associados ao Titan, e não ao diretório completo da empresa.

Foi durante essa investigação que ele também encontrou uma fonte separada relacionada à análise do Bing.

Faav limitou o teste no Bing a duas amostras

Para verificar se os dados estavam realmente acessíveis, o pesquisador realizou duas consultas limitadas a uma única linha cada em uma partição de análise do Bing.

As amostras apresentavam informações relacionadas a pesquisas, identificadores e localização em nível amplo. Segundo Faav, os dados de localização observados correspondiam a informações como país ou estado obtidas a partir de IP, e não à localização precisa de usuários.

Ele também observou que identificadores MUID apareciam em mais de um conjunto de dados, o que teoricamente poderia permitir correlação de atividades entre serviços.

Mas há novamente uma distinção importante: Faav diz que não realizou essa correlação.

Ele afirma não ter identificado usuários, criado perfis ou explorado os bancos em massa. Os testes foram deliberadamente limitados para demonstrar a vulnerabilidade e entender seu possível alcance.

Então aparecem os 17,3 trilhões

Depois de confirmar a vulnerabilidade, Faav resolveu calcular o tamanho potencial do ambiente acessível pelo Titan.

A partir de uma configuração antiga recuperada no Wayback Machine, ele tinha 56 valores de roteamento para testar. Desses, 30 continuavam ativos.

Esses valores levavam a 24 configurações e, finalmente, a 17 bancos de análise conectados, abrangendo 9.863 nomes únicos de tabelas.

Continua depois da publicidade

O pesquisador então utilizou metadados dos bancos ClickHouse para estimar a quantidade de linhas armazenadas. Segundo seu relato, o cálculo foi conferido por dois caminhos diferentes de metadados.

O resultado foi: 17.333.335.124.315

Faav conta que inicialmente suspeitou que réplicas pudessem ter sido contadas duas vezes ou que alguns zeros tivessem aparecido indevidamente no cálculo. Conferiu novamente. O resultado permaneceu o mesmo.

Isso não significa 17,3 trilhões de pessoas e muito menos 17,3 trilhões de registros vazados. É uma estimativa do volume de linhas armazenadas naquele ambiente, incluindo potencialmente dados históricos, duplicados e derivados.

Mesmo com todas essas ressalvas, continua sendo uma escala bastante difícil de ignorar.

A IA trabalhou dez dias. O humano tentou admin

Existe outro detalhe interessante nessa história que vai além da vulnerabilidade da Microsoft.

Grande parte da investigação inicial foi automatizada pelo Antares. Segundo Faav, a ferramenta encontrou subdomínios, analisou erros de autenticação, modificou campos do JWT e ajudou a mapear a superfície disponível durante dez dias.

O que ela não percebeu foi que o campo chamado upn não precisava necessariamente receber aquilo que normalmente entendemos como um UPN.

As ferramentas continuavam procurando identidades no formato esperado. Foi Faav quem questionou essa premissa e resolveu testar admin.

É um pequeno exemplo de algo que provavelmente veremos bastante em segurança daqui para frente. A IA consegue insistir, automatizar tarefas repetitivas e analisar uma quantidade absurda de possibilidades.

Mas uma mudança de perspectiva ainda pode ser exatamente o que destrava uma investigação. Nesse caso, máquina e humano fizeram partes diferentes do trabalho.

Microsoft corrigiu a vulnerabilidade

Faav reportou o problema ao Microsoft Security Response Center em 5 de setembro de 2026. Nos dias seguintes, a Microsoft pediu que ele interrompesse os testes enquanto a empresa investigava o caso.

Continua depois da publicidade

Em 9 de setembro, o endpoint da API foi bloqueado.

No dia 17, o pesquisador recebeu uma recompensa de US$ 5 mil pelo bug. Em 22 de setembro, ele se reuniu com a Microsoft para discutir a descoberta e coordenar sua divulgação.

Há ainda um detalhe relevante sobre o relato publicado: Faav afirma que a Microsoft teve controle editorial sobre o texto antes da publicação, solicitando mudanças na descrição do impacto e a remoção de algumas seções e imagens.

No fim, porém, a essência técnica permanece bastante simples. O Titan verificava várias informações presentes no JWT, mas não verificava adequadamente aquilo que garantia que essas informações eram legítimas: a assinatura.

É o tipo de falha que serve como lembrete para qualquer desenvolvedor trabalhando com autenticação. Não importa quantas verificações existam depois. Se o sistema permite que alguém escreva a própria identidade no crachá e aceita aquilo como verdadeiro, todo o restante vira decoração.

E foi assim que uma infraestrutura com metadados apontando para mais de 17 trilhões de linhas acabou dependendo, em determinado ponto, de uma pergunta surpreendentemente simples:

“E se eu colocar admin aqui?”

Publicidade
Sua segurança online começa com um clique.
Fique em segurança com uma VPN líder a nível mundial

Proteja sua conexão, navegue com mais privacidade e tenha mais segurança ao usar redes públicas.

Felipe Ferraz

Profissional de tecnologia com formação em Análise e Desenvolvimento de Sistemas e MBA em Segurança da Informação. Atua na área de infraestrutura e segurança, escrevendo sobre ameaças cibernéticas, Linux e segurança digital.