OJSTI Case Report 2026-04: componentes PHP maliciosos no OJS

Relatório analítico sobre loaders remotos, backdoors de file manager, cloaking e shells de upload observados em um comprometimento real de OJS.

TLP: CLEAR
Severidade: Alta
Confiança: Alta
Data: 14 mar 2026
Analista: OJS One Threat Intelligence
Corpus: conjunto de evidências da hospedagem do cliente + conjunto de evidências do backup do cliente
Estado: Final

Resumo executivo

Este relatório analítico examina os componentes PHP maliciosos identificados no ambiente OJS do cliente revisado. Baseia-se na mesma investigação forense anonimizada documentada no relatório de caso principal, mas aqui o foco está nas capacidades técnicas dos artefatos e não na narrativa completa do incidente.

Os artefatos não correspondem a um único tipo de implante. Em vez disso, configuram um toolkit de servidor em camadas, composto por quatro famílias principais de capacidades: componentes de cloaking orientados a user agents relacionados ao Google, funcionalidade de webshell com capacidade de upload de arquivos, backdoors duplicados de administração de arquivos com autenticação embutida e loaders remotos que recuperam payloads externos e os executam por meio de eval().

A relevância analítica deste conjunto de artefatos está tanto na sua diversidade quanto na sua localização. Os arquivos estavam distribuídos em caminhos plausíveis relativos ao OJS, incluindo ferramentas, templates, recursos de locale, plugins, rotas de API e caminhos de controladores. Isso sugere uma operação deliberada, projetada para se mimetizar com a estrutura normal da aplicação e, ao mesmo tempo, conservar flexibilidade para persistência, atualização de payloads e operações posteriores ao acesso inicial.

Por que estes artefatos importam

Em ambientes OJS, um comprometimento do lado do servidor raramente depende de um único arquivo. Uma avaliação de comprometimento de alta confiança se torna muito mais sólida quando o conjunto de artefatos demonstra profundidade operacional e não simplesmente um shell isolado. Neste caso, os componentes PHP em conjunto cobrem várias necessidades do atacante:

  • manipulação seletiva do conteúdo;
  • upload e staging de arquivos;
  • administração remota de arquivos e diretórios;
  • obtenção e execução de payloads adicionais;
  • distribuição de ferramentas em múltiplos locais plausíveis dentro da aplicação.

Isso torna o caso analiticamente valioso além do ambiente concreto revisado. As famílias de componentes observadas representam um modelo de operação repetível que os defensores podem procurar em outras implantações OJS.

Alcance e base de fontes

Este relatório se baseia na revisão direta de arquivos PHP suspeitos dentro do conjunto de evidências da hospedagem e na validação complementar de artefatos dentro do conjunto de evidências do backup.

Os caminhos relativos ao OJS mais relevantes, padronizados, incluem:

  • bootstrap.inc.php
  • plugins/generic/pdfJsViewer/pdfJsViewer.php
  • api/v1/users/UserHandlerr.php
  • pages/manager/sans.php
  • tools/uplaodsers.php
  • locale/cs_CZ/DebugIndex.php
  • templates/manageIssues/DebugFilter.php
  • plugins/reports/reviewReport/ReviewRen.inc.php
  • tools/Index.php
  • tools/SearchIndex.php
  • api/v1/submissions/core.php
  • controllers/modals/submissionMetadata/linkAction/sans.php
  • controllers/list/submissions/sans.php

O propósito deste relatório não é catalogar cada arquivo suspeito presente na conta, mas caracterizar as principais famílias de capacidades PHP maliciosas confirmadas no corpus revisado.

Visão geral dos componentes PHP maliciosos

Os artefatos revisados podem ser organizados em quatro grandes categorias:

  1. Componente de cloaking
    Lógica de resposta seletiva orientada a user agents relacionados ao Google.

  2. Webshell com capacidade de upload
    Capacidade direta de upload de arquivos no servidor, exposta por meio de um parâmetro de ativação.

  3. Backdoors embutidos de administração de arquivos
    Cópias do phpFileManager 1.7.9 com autenticação hardcoded.

  4. Loaders remotos
    Componentes PHP que recuperam conteúdo de infraestrutura externa e o executam por meio de eval().

Essa categorização é analiticamente útil porque cada família implica um objetivo distinto do atacante e um papel operacional específico.

Artefatos do tipo remote loader

O conjunto de evidências da hospedagem contém vários componentes PHP cuja função central é recuperar conteúdo remoto e executá-lo localmente. O exemplo mais claro é tools/uplaodsers.php, que define URLs externas, obtém conteúdo remoto, o ofusca e depois o executa por meio de eval('?>' . $obf).

Exemplos observados em caminhos relativos ao OJS:

  • tools/uplaodsers.php
  • locale/cs_CZ/DebugIndex.php
  • templates/manageIssues/DebugFilter.php
  • plugins/reports/reviewReport/ReviewRen.inc.php
  • tools/Index.php
  • tools/SearchIndex.php

Esses arquivos não compartilham exatamente a mesma implementação, mas sim o mesmo princípio operacional: o comportamento malicioso não fica completamente armazenado em código local estático. Em vez disso, o arquivo local atua como loader ou ponto de despacho, reduzindo a visibilidade em disco e permitindo a rotação remota do payload.

Essa capacidade aumenta materialmente a flexibilidade do atacante. Um loader pode:

  • atualizar a lógica maliciosa sem substituir o arquivo PHP visível;
  • recuperar diferentes payloads sob demanda;
  • reduzir a recuperabilidade forense se a etapa remota mudar com o tempo;
  • permitir que um mesmo caminho cumpra vários papéis conforme a interação do operador.

Em termos analíticos, este é um modelo de persistência e reutilização mais robusto do que um shell simples de um único arquivo.

Artefatos de file manager com autenticação embutida

O ambiente revisado contém múltiplas cópias do phpFileManager 1.7.9, cada uma funcionando como um console não autorizado de administração de arquivos do lado do servidor. Entre esses artefatos estão:

  • api/v1/users/UserHandlerr.php
  • pages/manager/sans.php
  • api/v1/submissions/core.php
  • controllers/modals/submissionMetadata/linkAction/sans.php
  • controllers/list/submissions/sans.php

Os artefatos de file manager compartilham várias características:

  • configuração auth_pass embutida;
  • comportamento de administração de arquivos a partir do navegador;
  • suporte a navegação, listagem e manipulação de conteúdo do servidor;
  • localização em caminhos de aplicação plausíveis que reduzem sua detecção casual.

O conjunto de evidências do backup confirma, além disso, conteúdo duplicado por meio de valores SHA-256 coincidentes para UserHandlerr.php e sans.php, o que indica reutilização deliberada da mesma ferramenta em mais de um local.

Essa família de componentes é especialmente importante porque conecta persistência com utilidade operacional. Um loader remoto pode trazer código, mas um file manager entrega controle sustentado sobre o sistema de arquivos.

Componentes de cloaking e manipulação de resposta

O conjunto de evidências do backup confirma um componente de cloaking em bootstrap.inc.php. O código verifica os valores recebidos de HTTP_USER_AGENT em busca de cadeias como Googlebot, Google-Site-Verification e Google-InspectionTool. Quando encontra correspondência, recupera conteúdo de um domínio externo de destino, imprime a resposta e finaliza antes que o fluxo normal do OJS continue.

Não se trata de um hook genérico de depuração nem de uma camada de compatibilidade. Seu comportamento é consistente com manipulação intencional de respostas orientada a tráfego relacionado a mecanismos de busca ou a fluxos de verificação do site.

Analiticamente, isso importa porque amplia o caso além do tradecraft clássico de webshell. O ator não buscou apenas acesso ao servidor; o conjunto de artefatos também incorpora lógica destinada a alterar o que sistemas externos de indexação ou verificação poderiam ver. Isso sugere objetivos compatíveis com cloaking, abuso de SEO ou engano seletivo de conteúdo.

Artefato de webshell com capacidade de upload

O conjunto de evidências do backup confirma também um shell com capacidade de upload em plugins/generic/pdfJsViewer/pdfJsViewer.php. O código é ativado por meio de qwerty303, imprime o banner XXxShell AccessxXX e tenta colocar os arquivos carregados no document root.

Esse componente adiciona uma capacidade direta de ingresso ao conjunto de artefatos. Mesmo que uma via de intrusão distinta tenha permitido originalmente o acesso ao servidor, a presença deste shell significa que o atacante podia introduzir payloads adicionais sem depender do mesmo mecanismo inicial.

Dito de outra forma, este arquivo favorece a persistência por conveniência operacional: uma vez exposto e acessível, torna-se um canal permanente de upload.

Comparação funcional entre artefatos

As quatro famílias de capacidades são distintas, mas complementares.

  • Cloaking altera o que certos solicitantes externos veem.
  • Upload shell introduz ou deixa em staging novo conteúdo.
  • File manager entrega controle persistente, baseado em navegador, sobre arquivos e diretórios.
  • Remote loader recupera e executa código de infraestrutura externa.

Em conjunto, formam uma pilha maliciosa de PHP em camadas, e não um conjunto de implantes de propósito único. Isso indica que o ambiente não foi simplesmente tocado por uma varredura oportunista. Foi equipado com múltiplas ferramentas operacionais que sustentam persistência, manipulação, atualização remota e interação direta do operador.

A localização dos artefatos reforça ainda mais essa conclusão. Caminhos sob tools, templates, locale, plugins, api e controllers dificultam sua detecção em revisões superficiais porque se parecem com a estrutura normal da aplicação OJS.

Avaliação analítica

Os componentes PHP maliciosos observados neste caso permitem uma avaliação de alta confiança de tradecraft deliberado do lado do servidor, adaptado à persistência e à flexibilidade operacional em ambientes OJS. Os artefatos não eram fragmentos aleatórios. Representam um toolkit com funções diferenciadas e uma lógica de localização repetível.

Há vários pontos analíticos especialmente relevantes:

  • as famílias de artefatos se reforçam mutuamente e não são redundantes;
  • a mesma ferramenta, ou uma muito relacionada, aparece em múltiplos locais;
  • alguns artefatos estão claramente pensados para uso interativo a partir do navegador;
  • alguns artefatos buscam minimizar a visibilidade estática em disco ao obter conteúdo remoto;
  • pelo menos um artefato altera explicitamente as respostas dirigidas a tráfego relacionado ao Google.

Essa combinação é mais sofisticada do que um shell isolado implantado de uma só vez. Sugere um padrão operacional orientado a acesso prolongado e uso em várias etapas.

A evidência, por si só, não permite estabelecer quem implantou esses artefatos nem se todos pertencem exatamente à mesma onda de intrusão. No entanto, sua coexistência dentro do mesmo ambiente e sua complementaridade funcional tornam inviável uma interpretação benigna.

Avaliação MITRE ATT&CK

O conjunto de artefatos respalda com maior força os seguintes mapeamentos ATT&CK:

  • T1505.003 - Server Software Component: Web Shell
    Respaldado com força pelo upload shell, pelos backdoors do tipo file manager e por outras ferramentas PHP com capacidade de shell.

  • T1059.006 - Command and Scripting Interpreter: PHP
    Respaldado por lógica maliciosa implementada e executada por meio de PHP.

  • T1105 - Ingress Tool Transfer
    Respaldado pelo comportamento dos remote loaders e pela funcionalidade de upload presente no shell.

  • T1036 - Masquerading
    Respaldado com força pela localização de componentes maliciosos em caminhos de aplicação plausíveis relativos ao OJS.

  • T1565 - Data Manipulation
    Respaldado parcialmente em relação ao cloaking e à manipulação seletiva de conteúdo, embora neste relatório esse mapeamento seja considerado secundário e não principal.

Esses mapeamentos descrevem a função observada dos artefatos, não o ciclo de vida completo do incidente.

Avaliação segundo a Cyber Kill Chain

Os componentes PHP maliciosos se alinham com maior força às seguintes fases da Kill Chain:

  • Installation
    Claramente respaldada pela colocação de arquivos maliciosos em múltiplos caminhos relativos ao OJS.

  • Command and Control / Operational Control
    Respaldada por file managers acessíveis pelo navegador, loaders e caminhos de shell que permitem uso contínuo por parte do atacante.

  • Actions on Objectives
    Respaldada parcialmente por cloaking, capacidade de upload e funcionalidade de administração de arquivos.

A evidência dos artefatos é mais sólida nas fases posteriores ao acesso inicial. Não resolve de forma independente a entrega nem a exploração.

Confiança e limitações

Confiança: Alta

A confiança é alta porque as famílias de artefatos foram identificadas por meio de revisão direta de código e corroboradas com cópias derivadas do backup, hashes e evidência operacional relacionada dentro do corpus.

Limitações importantes:

  • alguns destinos dos remote loaders podem mudar com o tempo e, portanto, são inerentemente instáveis;
  • alguns timestamps antigos complicam a atribuição de cada arquivo exatamente à mesma janela de intrusão;
  • não foi necessário incluir cada arquivo PHP suspeito do ambiente, já que este relatório se concentra nas principais famílias de capacidades;
  • a anonimização para publicação suprime deliberadamente domínios identificáveis do cliente e caminhos absolutos não anonimizados.

Essas limitações não enfraquecem materialmente a conclusão central: os componentes PHP eram maliciosos e operacionalmente relevantes.

Conclusão

O ambiente OJS revisado continha um ecossistema PHP malicioso em camadas e não um implante isolado. As famílias de artefatos confirmadas incluem lógica de cloaking, um shell com capacidade de upload, backdoors duplicados de administração de arquivos e múltiplos remote loaders capazes de recuperar e executar código externo.

Essa combinação respalda uma avaliação de comprometimento de alta confiança e oferece um modelo útil para procurar tradecraft semelhante em outros ambientes OJS. O valor do caso não reside apenas nos arquivos individuais, mas na forma como suas funções e localizações trabalham em conjunto para proporcionar persistência, ocultação e controle operacional.

Apêndice: catálogo de artefatos e hashes

Catálogo padronizado de artefatos relativos ao OJS

  • bootstrap.inc.php
  • plugins/generic/pdfJsViewer/pdfJsViewer.php
  • api/v1/users/UserHandlerr.php
  • pages/manager/sans.php
  • api/v1/submissions/core.php
  • controllers/modals/submissionMetadata/linkAction/sans.php
  • controllers/list/submissions/sans.php
  • tools/uplaodsers.php
  • locale/cs_CZ/DebugIndex.php
  • templates/manageIssues/DebugFilter.php
  • plugins/reports/reviewReport/ReviewRen.inc.php
  • tools/Index.php
  • tools/SearchIndex.php

Valores SHA-256 derivados do backup

  • UserHandlerr.php = 579f40773c5849e097f2448f1890c8a0e44a6a7fbd2290490248a343fca4a704
  • sans.php = 579f40773c5849e097f2448f1890c8a0e44a6a7fbd2290490248a343fca4a704
  • bootstrap.inc.php = 583d05bd0c53663c13a7d66c28b8ad7bb95ee2ab07fdbecd7e75c4c2764c4dd1
  • pdfJsViewer.php = 451841fcbe55180eb77f770e1c82488c03c397a41f686dfb9769871d864f3e89

Sobre a OJS One

A OJS One é uma firma especializada em Open Journal Systems que oferece suporte, infraestrutura, continuidade operacional e serviços de cibersegurança para ambientes editoriais baseados em OJS.

Sua abordagem combina a operação técnica cotidiana da plataforma com avaliação de comprometimento, hardening, resposta a incidentes e análise aplicada da integridade de ambientes editoriais.

Por meio do OJSTI, a OJS One desenvolve uma linha de documentação técnica orientada a identificar padrões de comprometimento, técnicas observadas e lições defensivas relevantes para instituições acadêmicas, equipes editoriais e atores de segurança que operam OJS.

Mais informações: ojsone.com