Hack Alerta

Atacantes compilam toolkit khunt dentro do Oracle para obter acesso SYSTEM no Windows

Atacantes exploram injeção de SQL no Oracle para compilar código Java e obter acesso SYSTEM no Windows sem escrever arquivos no disco, exigindo novas estratégias de defesa.

Um novo vetor de ataque foi identificado por pesquisadores da Huntress, revelando uma técnica sofisticada onde invasores exploram falhas de injeção de SQL em aplicações web públicas para comprometer bancos de dados Oracle e, subsequentemente, obter acesso de nível SYSTEM em sistemas Windows. Diferente de métodos tradicionais que exigem a escrita de arquivos executáveis no disco, essa campanha utiliza a capacidade nativa do Oracle de compilar código Java em objetos armazenados no esquema do banco de dados, permitindo a execução de comandos diretamente do motor do banco de dados.

Descoberta e escopo da ameaça

A investigação da Huntress identificou que os atacantes não utilizaram ferramentas de exploração convencionais que deixam rastros no sistema de arquivos. Em vez disso, eles exploraram uma vulnerabilidade de injeção de SQL em uma aplicação web exposta publicamente. Após a obtenção inicial de acesso ao banco de dados, os invasores injetaram código-fonte Java diretamente no ambiente do Oracle. O banco de dados compilou esse código em objetos armazenados, criando um toolkit pós-exploração conhecido internamente como khunt.

Essa abordagem elimina a necessidade de upload de arquivos executáveis, contornando muitas soluções de detecção baseadas em assinatura de arquivos. A execução ocorre inteiramente dentro do contexto do banco de dados, utilizando as permissões do usuário do banco de dados para interagir com o sistema operacional subjacente. O objetivo final é a obtenção de privilégios de administrador (SYSTEM) no Windows, permitindo controle total sobre o servidor.

Detalhes técnicos da exploração

A técnica explorada depende da funcionalidade Java no Oracle Database, que permite a execução de código Java armazenado no banco de dados. Os atacantes injetam instruções SQL que chamam procedimentos armazenados Java. Uma vez compilados, esses objetos podem ser invocados para executar comandos do sistema operacional.

O processo envolve as seguintes etapas técnicas:

  • Injeção de SQL: Exploração de uma falha de entrada não sanitizada em uma aplicação web para injetar comandos SQL maliciosos.
  • Compilação de Java: Uso de comandos SQL para compilar código Java dentro do esquema do banco de dados.
  • Execução de Procedimentos: Invocação dos objetos Java compilados para executar comandos de shell.
  • Elevação de Privilégios: Uso de ferramentas internas para escalar privilégios até o nível SYSTEM no Windows.

Essa cadeia de exploração demonstra como funcionalidades legítimas de banco de dados podem ser desviadas para fins maliciosos, transformando o próprio banco de dados em uma plataforma de execução de código remoto.

Impacto e alcance

O impacto dessa técnica é significativo para organizações que utilizam Oracle Database em ambientes Windows. A capacidade de executar código sem deixar arquivos no disco torna a detecção tradicional baseada em endpoint extremamente difícil. Além disso, a exploração ocorre a partir de uma aplicação web, o que significa que qualquer sistema exposto à internet com vulnerabilidades de injeção de SQL está em risco.

Empresas que dependem de bancos de dados Oracle para operações críticas, especialmente aquelas com aplicações web públicas, devem considerar esse vetor como uma prioridade de segurança. A natureza do ataque sugere que grupos de cibercriminosos estão buscando métodos mais furtivos para manter acesso persistente e evitar detecção por sistemas de segurança convencionais.

Medidas de mitigação recomendadas

Para proteger suas infraestruturas contra essa ameaça, os profissionais de segurança devem adotar as seguintes medidas:

  • Validação de Entrada: Garantir que todas as entradas de aplicações web sejam rigorosamente validadas e sanitizadas para prevenir injeção de SQL.
  • Princípio do Menor Privilégio: Configurar as contas de banco de dados com privilégios mínimos necessários, evitando contas com permissões de administrador do sistema operacional.
  • Monitoramento de Comportamento: Implementar soluções de monitoramento que detectem atividades anômalas de compilação de Java ou execução de comandos de sistema a partir do banco de dados.
  • Atualizações de Segurança: Manter o Oracle Database e o sistema operacional Windows atualizados com os patches de segurança mais recentes.
  • Segmentação de Rede: Isolar os bancos de dados em redes segmentadas, impedindo acesso direto de aplicações web públicas.

Análise para CISOs

Para executivos de segurança, este incidente destaca a necessidade de revisar as configurações de segurança de bancos de dados e as práticas de desenvolvimento de aplicações. A capacidade de um banco de dados ser usado como plataforma de execução de código remoto exige uma abordagem de segurança em camadas. A defesa não deve depender apenas de firewalls ou antivírus, mas também de monitoramento de comportamento e auditoria de código.

A implementação de controles de acesso baseados em função (RBAC) e a revisão regular de permissões de banco de dados são essenciais. Além disso, a integração de ferramentas de detecção de ameaças que entendam o contexto de banco de dados pode ajudar a identificar atividades suspeitas antes que os atacantes alcancem o nível SYSTEM.

Perguntas frequentes

Qual é o risco principal dessa técnica?
O risco principal é a obtenção de acesso administrativo completo ao servidor sem deixar arquivos no disco, dificultando a detecção e a resposta a incidentes.

Como posso saber se meu banco de dados foi comprometido?
Procure por objetos Java não autorizados no esquema do banco de dados, consultas SQL incomuns e atividades de execução de comandos de sistema a partir do processo do banco de dados.

É necessário atualizar o Oracle Database?
Sim, manter o software atualizado é crucial, mas a mitigação também depende de configurações de segurança e práticas de desenvolvimento de aplicações.


Baseado em publicação original de The Hacker News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.