Análise Forense Digital em Servidor Linux: Identificação e Resposta a Incidentes de Webshell

Durante o monitoramento de segurança de um ambiente Linux, um alerta de Webshell foi disparado, exigindo uma investigação profunda para determinar a extensão do comprometimento. Este guia técnico detalha o processo de análise forense utilizado para identificar a origem do ataque, os arquivos maliciosos e a recuperação de credenciais alteradas pelo invasor.

Identificação da Origem e Ponto de Entrada

A análise inicial concentrou-se nos logs de tráfego de rede para identificar o vetor de ataque. Ao examinar as requisições HTTP, detectamos padrões característicos da ferramenta AntSword (AntSword Traffic).

Os dados coletados revelaram os seguintes parâmetros do atacante:

  • Endereço IP do Atacante: 192.168.20.1
  • URL do Primeiro Webshell: index.php?user-app-register
  • Sanha de Conexão (Webshell): Network2020

Utilizando ferramentas de inspeção de pacotes para decodificar o tráfego, foi possível extrair a primeira flag de segurança contida no fluxo de dados:

flag1{Network@_2020_Hack}

Persistência e Malware Secundário

Dando continuidade à inspeção, observamos que o invasor não se limitou ao primeiro acesso. Houve o upload de um segundo artefato malicioso, desta vez um webshell compatível com o Behinder (冰蝎), para garantir persistência no servidor.

O arquivo identificado foi:

version2.php

Investigação no Sistema de Arquivos e Histórico de Comandos

Ao acessar o console do servidor, a análise do histórico de comandos do shell (.bash_history) forneceu pistas cruciais sobre as ações pós-exploração. O atacante realizou o download e instalação de um painel de gerenciamento (BT Panel).

Durante a auditoria de arquivos modificados recentemente, localizamos as seguintes flags ocultas no sistema:

# Verificação de histórico e artefatos
cat ~/.bash_history
# Identificado flag3: flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}

O atacante também editou arquivos legítimos do sistema de notificações para ocultar código. Ao inspecionar mpnotify.php e alinotify.php, encontramos a segunda flag:

flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}

Análise de Banco de Dados e Recuperação de Senhas

Para determinar se houve comprometimento de credenciais administrativas, realizamos uma busca por arquivos de configuração que pudessem conter segredos de conexão com o banco de dados.

# Busca refinada por arquivos de configuração
find /www/wwwroot/ -type f -name "*.inc.php"

O arquivo ./127.0.0.1/lib/config.inc.php continha as credenciais de acesso ao MySQL:

  • Usuário: kaoshi
  • Senha: 5Sx8mK5ieyLPb84m

Após acessar o banco de dados, consultamos a tabela de usuários administrativos para verificar alterações:

SELECT user_name, user_password FROM x2_user WHERE user_groupid = 1;

O hash MD5 recuperado foi submetido a um processo de quebra (brute-force/rainbow tables), revelando que a senha do administrador havia sido alterada pelo invasor para:

Senha do Administrador (Plaintext): Network@2020

Tags: Linux ForenseDigital Webshell cibersegurança MySQL

Publicado em 7-9 04:33