AI Hacking - Como os hackers utilizam a inteligência artificial nos ciberataques

Ler agora
Utilizamos inteligência artificial para as traduções dos sítios e, embora nos esforcemos por garantir a exatidão, estas podem nem sempre ser 100% precisas. Agradecemos a sua compreensão.

Como reconhecer e corrigir esta vulnerabilidade comum do Foxit PDF Reader

por OPSWAT
Partilhar esta publicação

Temos o prazer de apresentar uma série de blogues de análise técnica centrados em várias vulnerabilidades e exposições comuns (CVE), identificadas e corrigidas com as nossas tecnologias avançadas de deteção de ameaças.Toda a investigação é realizada pelos estudantes de pós-graduação que participam no programa OPSWAT Cybersecurity Fellowship, lançado em setembro de 2023. 

Neste blogue, explicaremos a vulnerabilidade CVE- 2020-14425 do Foxit PDF Reader e como as organizações podem proteger-se contra a exploração.

Retratos de Thai To, da Universidade de Ciência de Ho Chi Minh, e Tai Tran, da Universidade de Tecnologia da Informação, representados num evento profissional
Os estudantes participaram no programa de bolsas de estudo OPSWAT .

Leitor de PDF da Foxit

O Foxit PDF Reader é uma ferramenta de PDF desenvolvida pela Foxit Software, que fornece uma gama de funcionalidades para criar, visualizar, editar e assinar digitalmente documentos PDF. A versão gratuita do Foxit Reader ganhou popularidade e é utilizada por mais de 700 milhões de utilizadores. 

Para melhorar as suas capacidades e flexibilidade, o Foxit PDF Reader suporta extensões JavaScript, oferecendo aos utilizadores opções de personalização; no entanto, isto também introduz um potencial risco de segurança, tornando o software um alvo para os atacantes.

Captura de ecrã de um documento PDF aberto numa aplicação de leitura, mostrando um artigo sobre "Curadoria de cores" juntamente com imagens de capas de livros coloridas

14425

Descrição

Uma vulnerabilidade no Foxit PDF Reader antes da versão 10.0 permite que os atacantes executem código remoto no dispositivo da vítima quando um ficheiro PDF especialmente criado é aberto. Esta vulnerabilidade ocorreu devido à falha de segurança da função JavaScript app.opencPDFWebPage. Se o Foxit Reader estiver configurado para utilizar o browser predefinido para abrir URLs incorporados no ficheiro PDF, o código malicioso incorporado no ficheiro executável pode ser executado sem desencadear uma caixa de diálogo de aviso de segurança.

Impacto

Um ficheiro PDF criado para explorar este CVE pode ser distribuído através de uma campanha de phishing por correio eletrónico ou de ligações maliciosas incorporadas. Se o utilizador abrir o ficheiro PDF comprometido utilizando a versão vulnerável do Foxit Reader, o atacante pode obter controlo sobre o dispositivo da vítima através da execução remota de código.

Captura de ecrã que mostra uma tabela de gravidade e métricas CVSS (Common Vulnerability Scoring System) com uma pontuação de base elevada de 7,8 para uma vulnerabilidade, proveniente da Base de Dados Nacional de Vulnerabilidades (NVD) do NIST

Análise CVE-2020-14425

Estrutura do ficheiro PDF

Os ficheiros PDF são organizados utilizando uma estrutura em árvore, constituída por uma secção de cabeçalho, uma secção de corpo, uma tabela de referências cruzadas e uma secção de trailer.

  • O cabeçalho começa com %PDF-1.x, indicando a versão do formato PDF. Atualmente, a versão do formato varia entre 1.0 e 1.7. A secção do cabeçalho também inclui metadados do documento, como o autor, a data de criação e outras informações relevantes. 
  • O corpo compreende a totalidade do conteúdo do ficheiro PDF, estruturado em objectos como páginas, fluxos de texto, tipos de letra, formulários, código JavaScript e outros elementos. 
  • A tabela de referências cruzadas (tabela Xref) contém a referência e o desvio de bytes para todos os objectos no ficheiro PDF. Permite um acesso rápido aos objectos sem ter de ler todo o ficheiro. 
  • O trailer armazena informações adicionais essenciais para localizar a tabela xref, como o número total de entradas na tabela xref e o ponteiro para o seu início.
Diagrama que representa um formato de documento estruturado com um cabeçalho, um corpo e um trailer, ligado a um diagrama hierárquico de um nó de raiz que se ramifica em nós intermédios

Uma vez que o corpo contém os objectos sensíveis dos ficheiros PDF, os ataques centram-se frequentemente na injeção de código malicioso neste componente.

Ameaças potenciais associadas a ficheiros PDF

Os ficheiros PDF tornaram-se um alvo para os atacantes devido à sua ubiquidade. Uma vez que os ficheiros PDF podem conter código JavaScript, podem ser utilizados para executar vários ataques quando abertos por um browser, tais como Negação de Serviço (DoS), Redireccionamento Aberto ou Cross-Site Scripting (XSS). 

Além disso, os atacantes podem utilizar algumas técnicas exploráveis, como a utilização após a libertação (UAF) e o excesso de memória (BoF). Podem também explorar o tratamento de falhas de software para executar um ataque de Execução Remota de Código (RCE) no sistema da vítima. Como resultado, um ficheiro PDF pode conter ransomware, encriptando dados na máquina e exigindo um resgate significativo para a recuperação, ou os atacantes podem ganhar controlo total sobre a máquina da vítima.

Como funciona o CVE-2020-14425

No Foxit Reader, quando um URL de página da Web é incorporado, os usuários têm duas opções de visualização: exibir a página da Web no Foxit Reader ou usar o navegador padrão no dispositivo do usuário. Na configuração padrão, o Foxit Reader acessa internamente a página da Web incorporada. No conteúdo do PDF, para solicitar a abertura de uma página da Web, o Foxit Reader emprega a função OpencPDFWebPage, um JavaScript API projetado para iniciar a abertura de um URL de página da Web incorporado no PDF.

Captura de tela exibindo a interface do Foxit PhantomPDF, com barras de ferramentas para informações de licença e atualizações, com um console JavaScript aberto executando um comando

No entanto, existe uma vulnerabilidade de validação de entrada inadequada neste API, que permite aos atacantes introduzir um caminho de ficheiro local na função opencPDFWebPage. Consequentemente, a função pode abrir o ficheiro malicioso com o caminho anexado e executar este ficheiro executável. Esta falha permite que os atacantes iniciem a carga útil armazenada no computador da vítima e obtenham a execução remota de código.

A opção de abrir a página Web no Foxit Reader, um requisito para o IE 10 ou superior, desencadeia um diálogo de aviso durante uma tentativa de exploração, ao passo que se a opção estiver definida para utilizar o navegador predefinido, contorna o aviso de segurança.

Captura de ecrã de uma consola JavaScript que executa um comando para abrir um caminho de ficheiro, desencadeando um aviso de segurança sobre a execução ou gravação de 'calc.exe', uma aplicação comum de calculadora do Windows

Exploração de vulnerabilidades

Cenário de ataque
Fluxograma de um ataque informático através de um ficheiro ZIP com carga maliciosa, a sua entrega e o comprometimento da vítima

Com a vulnerabilidade identificada, um potencial vetor de ataque envolve um ataque de phishing que utiliza o ficheiro PDF como carregador para executar uma carga útil oculta anexada. Nesse cenário, o agente da ameaça envia um arquivo ZIP contendo um arquivo PDF e um arquivo executável oculto para a vítima, com a intenção de enganá-la para que abra o documento. O CVE no Foxit Reader permite então que o código JavaScript incorporado execute o ficheiro executável oculto, estabelecendo uma ligação reverse shell à máquina do atacante.

Para injetar código JavaScript no ficheiro PDF, o atacante pode modificar diretamente o ficheiro de conteúdo PDF ou utilizar ferramentas como o Foxit Phantom PDF. O código malicioso define o caminho do ficheiro malicioso e executa o código nocivo utilizando a função opencPDFWebPage.

Captura de ecrã do código de um ficheiro PDF que apresenta código JavaScript malicioso que constrói dinamicamente um caminho para lançar um executável denominado "payload.exe
Captura de ecrã de um editor JavaScript de PDF com código para construir dinamicamente um caminho e executar uma carga útil, aberto numa interface de software de visualização de PDF

Depois de preparar os ficheiros PDF maliciosos, o atacante esconde o ficheiro executável e comprime a pasta num ficheiro ZIP. Para evitar as protecções de segurança dos programas antivírus, o atacante pode encriptar o ficheiro ZIP com uma palavra-passe antes de o enviar para a vítima.

Captura de ecrã de uma interface de computador que mostra uma janela de correio eletrónico e as propriedades de um ficheiro PDF encriptado, incluindo detalhes como o tamanho, o tipo e a data de criação

Se a vítima extrair e abrir o ficheiro PDF malicioso com a versão vulnerável do Foxit Reader, o código malicioso incorporado no ficheiro executável será executado, permitindo ao atacante comprometer o dispositivo da vítima através de uma shell inversa.

Captura de ecrã de uma folha de cálculo Excel com dados salariais e um terminal Kali Linux que apresenta informações do sistema

Remediação

MetaDefender Endpoint e MetaDefender Core trabalham em conjunto para evitar esses ataques.

A tecnologia Multiscanning em Metadefender Core detecta ficheiros maliciosos comprimidos com palavras-passe, permitindo aos administradores identificar com precisão estas ameaças. Com a integração de mais de 30 motores antivírus combinados, a taxa de deteção de malware atinge mais de 99,99%. Além disso, com a tecnologia incorporada Deep CDR (Content Disarm and Reconstruction), Metadefender Core pode remover eficazmente código JavaScript potencialmente malicioso e regenerar ficheiros higienizados e seguros para utilização.

Captura de ecrã da interface de segurança OPSWAT que mostra os resultados da análise de um documento PDF intitulado "Salary Reference.pdf", destacando que não foram detectadas ameaças, que um item foi higienizado e que não foram encontradas vulnerabilidades
Ficheiro original antes de utilizar Deep CDR
Ficheiro higienizado depois de digitalizado com Deep CDR
Captura de ecrã da interface doMetaDefender Endpoint da OPSWAT  que mostra os detalhes da vulnerabilidade do Foxit Reader com vários CVEs listados juntamente com as correspondentes pontuações e datas CVSS

Além disso, MetaDefender Endpoint pode reconhecer versões de aplicações vulneráveis e atualizar automaticamente para os patches mais recentes, melhorando a segurança do endpoint contra potenciais ameaças no futuro.

Mantenha-se atualizado com OPSWAT!

Inscreva-se hoje para receber as últimas actualizações da empresa, histórias, informações sobre eventos e muito mais.