O que é um ataque ao Web Shell e como evitá-lo?

Os ataques de shell da Web são uma ameaça significativa à segurança on-line, pois os invasores usam scripts mal-intencionados para assumir o controle de servidores e manipular sites. Detectar esses ataques secretos pode ser difícil. Por isso, é essencial entender e se defender contra eles de forma eficaz.

Neste guia abrangente, analisaremos a natureza dos ataques de shell da Web, exploraremos seu funcionamento, examinaremos diferentes tipos, forneceremos exemplos reais e mostraremos como evitar um ataque de shell da Web.


Índice

  1. O que é um ataque ao Web Shell?
  2. Como funcionam os ataques ao Web Shell?
  3. Tipos de Web Shells
  4. Exemplos de ataque ao Web Shell
  5. Por que os ataques ao Web Shell são usados?
  6. Como detectar ataques ao Web Shell?
  7. Como bloquear injeções de Web Shell?

O que é um ataque ao Web Shell?

Um ataque de shell da Web é um ataque cibernético em que um invasor explora vulnerabilidades em um site ou aplicativo da Web para carregar um script mal-intencionado (conhecido como “shell da Web”) no servidor. Esse shell da Web permite que o invasor acesse e controle o site ou o servidor afetado.

Em segurança cibernética, um “shell” refere-se a uma interface de linha de comando que permite que os usuários interajam com um computador ou servidor digitando comandos. O termo “shell da Web” é derivado da combinação de “Web” (indicando sua associação com servidores da Web) e “shell” (indicando sua funcionalidade de interface de linha de comando).

Esse ataque opera sob o disfarce de scripts do lado do servidor aparentemente legítimos. Você ainda pode estar no escuro, pois esses scripts ficam ocultos em seu sistema, concedendo ao hacker acesso irrestrito. Os ataques de shell da Web permitem que o invasor navegue livremente pelos diretórios acessíveis pela Web, manipule arquivos e até mesmo crie um backdoor para futuras explorações.

Os criminosos cibernéticos criam ataques de shell da Web em uma linguagem que os servidores da Web visados podem interpretar, como PHP, ASP, JSP ou até mesmo Perl. Eles garantem que esses scripts sejam difíceis de detectar e possam escapar dos sistemas de segurança. Os Web shells podem ter como alvo tanto servidores locais quanto servidores voltados para a Internet.


Como funcionam os ataques ao Web Shell?

Imagine que você tenha um aplicativo da Web em execução em seu servidor. Um invasor identifica uma vulnerabilidade, talvez um campo de entrada não higienizado ou um software desatualizado. Usando esse ponto fraco, eles carregam um script malicioso camuflado como um arquivo inofensivo. Esse script é executado em seu servidor e fornece ao invasor recursos de execução remota de comandos.

Uma vez implantado, o shell da Web permite que o invasor manipule seu servidor. Eles podem executar comandos, roubar dados confidenciais ou até mesmo usar seu servidor como uma plataforma de lançamento para outros ataques. O escopo dos danos é vasto, desde o roubo de dados e a desfiguração do site até o controle total do servidor.

A natureza furtiva dos web shells os torna particularmente perigosos. Eles podem ficar inativos, o que dificulta sua detecção. O invasor também pode modificar o script do shell da Web para burlar as medidas de segurança padrão.

Eles visam manter o acesso de longo prazo, garantindo que o shell da Web não seja detectado. Eles podem atualizar periodicamente o script ou alterar seu local para evitar o monitoramento de segurança.


Tipos de Web Shells

Agora, vamos navegar pelos vários tipos de shells da Web. Esse conhecimento o ajudará a prever possíveis vulnerabilidades e a desenvolver estratégias de defesa mais robustas.

Shells da Web PHP

Os web shells PHP são essencialmente scripts mal-intencionados que permitem acesso não autorizado e controle sobre um servidor da Web. Os hackers os utilizam amplamente devido à popularidade do PHP no desenvolvimento da Web.

Eles podem ser simples, com apenas algumas linhas de código, ou complexos, ocultos em arquivos legítimos para evitar a detecção.
O WSO (Web Shell by Orb) e o C99 são dois exemplos predominantes, oferecendo um rico conjunto de recursos para hackers, incluindo gerenciamento de arquivos, execução de comandos e interação com bancos de dados.


Conchas da Web ASP

Usados predominantemente nas Active Server Pages da Microsoft, os ASP web shells são scripts mal-intencionados que os invasores injetam em um servidor da Web de destino para obter acesso remoto.

Um ataque bem-sucedido de shell da Web usando shells da Web ASP pode levar ao roubo de dados, a danos ao servidor ou a um controle total do sistema. Seu servidor se torna uma marionete, controlada por um invasor a quilômetros de distância. Veja a seguir alguns ASPs populares que usamos como conchas:

  • China Chopper: Comumente associado a agentes de ameaças chineses, é conhecido por seu tamanho pequeno e facilidade de uso. Apesar de sua simplicidade, ele oferece recursos avançados para a execução de comandos remotos.
  • ASPXSpy: um shell da Web que permite que os invasores façam upload, download e executem arquivos mal-intencionados em um servidor comprometido. Ele fornece uma interface baseada na Web para gerenciar o sistema afetado.
  • Scanner IIS 6.0: Esse código de shell da Web tem como alvo específico os servidores IIS 6.0, fornecendo aos invasores a capacidade de enumerar arquivos, executar comandos e realizar atividades de reconhecimento.

JSP Web Shells

Os shells da Web JSP, abreviação de Java Server Pages, operam manipulando a linguagem de codificação JSP para obter acesso a um servidor. Atacantes habilidosos instalam shells da Web para comandar e controlar o processo do servidor da Web.

Os shells da Web JSP mais sofisticados podem incluir recursos como upload e download de arquivos e até mesmo interfaces gráficas para simplificar a interação com o servidor comprometido. Os invasores podem aproveitar esses recursos para navegar no sistema de arquivos, fazer download de dados confidenciais ou aumentar ainda mais o controle.


Perl Web Shells

Os web shells Perl são scripts mal-intencionados escritos na linguagem de programação Perl, projetados para comprometer os servidores da Web. Os invasores injetam esses scripts em servidores vulneráveis para obter acesso e controle não autorizados. Uma vez incorporados, os web shells Perl permitem que os invasores executem comandos remotamente.

Por exemplo, um shell da Web Perl pode se disfarçar como um arquivo inocente, como uma imagem. Uma vez carregado em um servidor suscetível, ele abre uma porta dos fundos, permitindo que o invasor interaja com o servidor à distância. Esses shells da Web geralmente incluem funções para execução de comandos, navegação no sistema de arquivos e transferência de arquivos. Ao aproveitar a flexibilidade do Perl, os invasores podem ocultar seu comportamento mal-intencionado.


Shells da Web em Python

Os shells da Web do Python geralmente se disfarçam usando nomes de arquivos que parecem inocentes, como “image.jpg” ou “index.php”, para se misturarem aos arquivos legítimos em um servidor. Eles podem ser injetados em aplicativos da Web vulneráveis por vários meios, como a exploração de campos de entrada mal protegidos ou funcionalidades de upload de arquivos.

Os invasores podem usar estruturas Python conhecidas, como Flask ou Django, para criar shells da Web que parecem aplicativos da Web benignos, mas que, na realidade, fornecem entrada e controle não autorizados. Esses scripts geralmente incluem funcionalidades para executar comandos do sistema, navegar no sistema de arquivos e interagir com o servidor remotamente.


Exemplos de ataque ao Web Shell

Esses dois exemplos de ataque de shell da Web lhe darão uma visão de como os invasores exploram as vulnerabilidades em um servidor da Web e as consequências desastrosas que podem ocorrer.

Picador da China

Em um ataque cibernético recente, o shell da Web China Chopper teve como alvo oito provedores de hospedagem na Web australianos. Esses provedores foram vítimas de violações de segurança resultantes de um sistema operacional desatualizado, especificamente o Windows Server 2008. Explorando essa vulnerabilidade, os invasores vincularam os servidores da Web comprometidos a um pool de mineração Monero, minerando com sucesso cerca de 3868 AUD em moedas Monero.

Além disso, em 2021, uma versão do shell da Web do China Chopper, programada em JScript, desempenhou um papel crucial nas operações do grupo Hafnium Advanced Persistent Threat. Esse grupo explorou quatro vulnerabilidades de dia zero no Microsoft Exchange Server, contribuindo para a significativa violação de dados do Microsoft Exchange Server em 2021.


WSO Web Shell

Esse é outro exemplo importante de um shell da Web baseado em PHP. O shell da Web Wso oferece uma interface amigável e um arsenal de funcionalidades, como gerenciamento de arquivos, execução de comandos e operações de banco de dados. Ele se aproveitou de vários ataques, incluindo a violação maciça de dados da Equifax em 2017.

A Equifax, uma das principais agências de relatórios de crédito dos Estados Unidos, sofreu uma violação que expôs os dados confidenciais de aproximadamente 147 milhões de americanos.

Os invasores exploraram uma vulnerabilidade na estrutura de aplicativos da Web Apache Struts, para a qual havia uma correção disponível, mas não aplicada pela Equifax. A empresa concordou com um acordo de até US$ 700 milhões para resolver investigações e ações judiciais federais e estaduais.


Por que os ataques ao Web Shell são usados?

Aqui estão dez motivos pelos quais os hackers usam ataques de shell da Web:

  1. Acesso não autorizado: Os shells da Web fornecem aos invasores uma porta dos fundos em um servidor da Web.
  2. Roubo de dados: Os invasores podem usar web shells para roubar dados confidenciais armazenados no sistema.
  3. Execução de comandos: Os Web shells permitem a execução de comandos arbitrários no servidor exposto, permitindo que os hackers manipulem arquivos, instalem malware ou realizem outras ações mal-intencionadas.
  4. Negação de serviço distribuída (DDoS): Os webshells ajudam a lançar ataques DDoS inundando sites ou serviços visados com tráfego, fazendo com que fiquem indisponíveis.
  5. Manutenção da persistência: Um script de shell da Web fornece um ponto de acesso persistente para os invasores, permitindo que eles controlem o servidor mesmo que os patches de segurança mais recentes estejam em vigor.
  6. Cryptojacking: Os invasores podem usar shells da Web para instalar software de terceiros em servidores, utilizando os recursos do servidor para minerar criptomoedas sem o conhecimento ou o consentimento do proprietário.
  7. Recrutamento de botnets: Os Web shells podem transformar servidores invadidos em parte de uma botnet, que pode realizar várias atividades maliciosas, incluindo novos ataques e distribuição de spam

Como detectar ataques ao Web Shell?

A detecção de um ataque de shell da Web depende do reconhecimento de um comportamento incomum do servidor, como padrões inesperados de tráfego de rede ou alterações em arquivos do sistema. Os ataques de shell da Web costumam deixar alguns sinais reveladores. A implementação da validação de entrada do usuário é fundamental para combater as vulnerabilidades de inclusão de arquivos locais e remotos.

Indicadores comuns do Web Shell

Um aumento repentino nos dados enviados de seu servidor pode indicar um ataque de shell da Web. Os shells da Web geralmente modificam os arquivos do sistema, portanto, alterações inesperadas podem ser um aviso. Se o seu servidor estiver mais lento ou instável, ele pode estar sofrendo esse tipo de ataque.

Monitore regularmente seu servidor em busca de alterações inesperadas. Os scripts de shell da Web geralmente deixam rastros nos registros do servidor. Padrões incomuns de atividade podem indicar injeções de shell da Web. O encadeamento de web shells é outra tática que os atacantes usam para evitar a detecção de web shells.

Para impedir a instalação do shell da Web, analise os registros do servidor e use ferramentas especializadas. A análise dos arquivos de registro do servidor pode fornecer insights e soluções precisas pós-ataque.


Por que os Web Shells são difíceis de detectar?

O principal desafio na detecção de shell da Web é o sutil script de shell da Web incorporado em arquivos legítimos. É como procurar uma agulha em um palheiro digital.

Além disso, o malware de shell da Web geralmente se apresenta como um processo normal em um software de servidor da Web, misturando-se perfeitamente às operações regulares. Isso faz com que os encontros de shell da Web sejam difíceis de detectar sem soluções avançadas de detecção e resposta de endpoints (EDR).

Os Web shells usam comunicação criptografada, ocultando suas atividades. Eles se modificam e se disfarçam para evitar a detecção. Muitas soluções não conseguem detectar técnicas sofisticadas de injeção de shell da Web.

Além disso, os desenvolvedores de shell da Web frequentemente empregam técnicas polimórficas, alterando dinamicamente a estrutura e a aparência do código sem alterar sua funcionalidade principal.

Essa capacidade de transformação torna difícil para os métodos tradicionais de detecção baseados em assinatura acompanharem o ritmo, pois o shell da Web pode apresentar uma “face” diferente a cada vez.


Ferramentas para detecção de ataques ao Web Shell

O software antivírus moderno e as ferramentas abaixo o ajudarão a detectar shells da Web. Use-os em conjunto para obter o melhor diagnóstico e os melhores resultados.

  • Um Firewall de Aplicativo Web (WAF): Monitora e filtra o tráfego HTTP para bloquear tentativas mal-intencionadas, inclusive injeções de shell da Web. Exemplos: Open Appsec, Cloudflare.
  • Ferramentas de verificação e auditoria de segurança: Identifique e corrija as vulnerabilidades do shell da Web com ferramentas como ZAP Attack Proxy e Acunetix.
  • Sistemas de monitoramento da integridade de arquivos (FIM): Detectam alterações não autorizadas em arquivos críticos, sinalizando uma possível atividade de shell da Web. Exemplos: Tripwire e OSSEC.

Além dessas ferramentas, siga as práticas recomendadas de segurança de aplicativos Web, como atualizações regulares, controles de acesso e revisões de segurança.


Como bloquear injeções de Web Shell?

Normalmente, um ataque de shell começa com o invasor explorando uma vulnerabilidade no software do seu servidor, o que permite a injeção de código mal-intencionado. Eles podem fazer isso por meio de uma injeção de SQL, em que manipulam as consultas ao seu banco de dados, ou por meio de um ataque de XSS (Cross-Site Scripting), injetando scripts em sites confiáveis. Outra brecha são as interfaces de administração expostas que fornecem acesso a funcionalidades administrativas sem a necessidade de fazer login.

Para bloqueá-los, é necessário atualizar e corrigir regularmente o software e usar um firewall de aplicativo da Web. Além disso, certifique-se de usar práticas de codificação seguras para evitar possíveis pontos fracos que os invasores possam explorar. Os sistemas populares de gerenciamento de conteúdo e os complementos, como os plug-ins do WordPress, são portas de entrada frequentes para os invasores.

É igualmente importante empregar a validação no lado do servidor para bloquear possíveis injeções. A validação no lado do servidor verifica os dados enviados ao seu servidor pelo navegador do usuário.

Escolha uma maneira segura de se comunicar com programas de computador – escolha uma API (Interface de Programa de Aplicativo) que evite o uso do interpretador (um programa que executa diretamente instruções escritas em uma linguagem de programação ou de script) ou escolha uma que tenha um sistema semelhante a um menu (interface parametrizada).


Linha de fundo

Ao aprender sobre ataques de shell da Web, você expandiu sua conscientização sobre segurança cibernética e agora está mais bem equipado para manter seus sistemas seguros.

Ser proativo e estar sempre um passo à frente é a chave para combater as implacáveis ameaças cibernéticas. Para impedir ataques ao shell da Web, crie mecanismos de segurança robustos, use as ferramentas de varredura mais recentes e priorize as atualizações regulares do sistema.

Agora que você sabe como evitar um ataque de shell da Web, pode aprimorar significativamente seus aplicativos da Web e proteger os usuários e os dados contra violações de segurança e perdas financeiras.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.